Ha senso considerare una categoria di tutti i problemi NP-completi, con i morfismi come riduzioni dei poli-tempi tra i diversi casi? Qualcuno ha mai pubblicato un articolo su questo, e se sì, dove posso trovarlo?
Ha senso considerare una categoria di tutti i problemi NP-completi, con i morfismi come riduzioni dei poli-tempi tra i diversi casi? Qualcuno ha mai pubblicato un articolo su questo, e se sì, dove posso trovarlo?
Risposte:
L'area che si desidera esaminare è chiamata "teoria della complessità implicita". Un pugno casuale e incompleto di nomi per Google sono Martin Hofmann, Patrick Baillot, Ugo Dal Lago, Simona Ronchi Della Rocca e Kazushige Terui.
La tecnica di base è quella di mettere in relazione le classi di complessità con i sottosistemi della logica lineare (le cosiddette "logiche lineari leggere"), con l'idea che l'eliminazione del taglio per il sistema logico dovrebbe essere completa per la classe di complessità data (come LOGSPACE, PTIME, ecc.). Quindi tramite Curry-Howard si ottiene un linguaggio di programmazione in cui sono espressibili esattamente i programmi di una determinata classe. Come ci si potrebbe aspettare dalla menzione della logica lineare, tutti questi sistemi danno origine a categorie monoidali chiuse di vari gusti, il che lascia una caratterizzazione puramente algebrica e indipendente dalla macchina di varie classi di complessità.
Una delle cose che rendono interessante quest'area è che né la complessità tradizionale né i metodi logici / PL sono del tutto appropriati.
Poiché le categorie coinvolte in genere hanno una struttura chiusa, i metodi combinatori favoriti dai teorici della complessità spesso si rompono (poiché i programmi di ordine superiore tendono a resistere alle caratterizzazioni combinatorie). Un tipico esempio di ciò è l'incapacità dei metodi sintattici di gestire l'equivalenza contestuale. Allo stesso modo, anche i metodi della semantica hanno problemi, poiché sono spesso troppo estensivi (poiché tradizionalmente i semantisti hanno voluto nascondere la struttura interna delle funzioni). L'esempio più semplice che conosco qui è la chiusura di LOGSPACE sotto composizione: questo è AFAIK possibile solo a causa di code di rondine e ricalcolo selettivo, e non puoi trattare i problemi come scatole nere pure.
Probabilmente vorrai anche avere una certa familiarità con la semantica del gioco e la Geometria di interazione di Girard (e il loro precursore, le strutture di dati concreti di Kahn-Plotkin-Berry) se entri seriamente in quest'area - le idee di rappresentazioni che passano token di livello superiore - i calcoli degli ordini utilizzati in questo lavoro forniscono molte intuizioni per ICC.
Da quando ho sottolineato il ruolo centrale delle categorie monoidali in questo lavoro, potresti ragionevolmente chiederti quali siano le connessioni al GCT di Mulmuley. Sfortunatamente, non posso aiutarti qui, dal momento che semplicemente non ne so abbastanza. Tuttavia, Paul-André Melliès potrebbe essere una brava persona da chiedere.
È possibile classificare molte cose, ma ciò non significa necessariamente che siano categorie interessanti. Quindi la risposta a "ha senso" dipende da come intendi.
Per quanto riguarda la previsione se sarebbe interessante, assumere una definizione appropriata di riduzioni in modo che formi una categoria, NPC. Le domande teoricamente interessanti di categoria potrebbero essere domande come se NPC abbia vari limiti o colimit (ad es. Prodotti, coprodotti, pullback, pushout, ...). Quindi, prima di affrontare il lavoro di formalizzazione delle cose, sarebbe bene sedersi e pensare a cosa significherebbero questi co / limiti e se quel significato sarebbe interessante da sapere. Se assumiamo che NPC abbia dei pullback, allora la possibilità di fare il pullback di due riduzioni significa qualcosa di speciale? Domande come queste potrebbero sembrare interessanti se volessimo capire quali sono i problemi "atomici" del NP completo o come potrebbero essere combinati più problemi del NP completo (o le loro riduzioni);
Alcune domande che seguono potrebbero essere cose del tipo: l'NPC ha delle sottocategorie interessanti? NPC è una sottocategoria di eventuali categorie più grandi interessanti? Sappiamo già molto su come i problemi NP-completi si collegano ad altre classi di problemi, quindi la risposta presuntiva a queste domande è "ovviamente". Ma per mettere un punto più fine, cosa offre considerare queste relazioni da una prospettiva teorica di categoria che altre prospettive non lo fanno? Una cosa che CT può offrire è la domanda se ci sono aggiunte non banali tra NPC e un'altra categoria. Ovviamente, le aggiunte sono principalmente interessanti quando le categorie dietro di esse sono esse stesse interessanti, quindi se NPC non ha molta struttura speciale, conoscere le aggiunte NPC non offrirà molto.
Per quanto riguarda i riferimenti particolari, non conosco nessuna mano, ma i collegamenti nei commenti di Sadeq, Ramprasad, Kaveh dovrebbero fornire un punto di partenza.