Quali sono le conseguenze di avere problemi completi in ?
Quali sono le conseguenze di avere problemi completi in ?
Risposte:
Questo è un problema (ampio) aperto; come in, non sappiamo quasi nulla. In particolare, a causa della delicatezza nel dimostrare i , abbiamo bisogno di tecniche di prova molto diverse da quelle attualmente esistenti. In quanto tale, una discussione sulle conseguenze dovrebbe ragionevolmente includere una tangente su "Cosa significherebbe avere tecniche di prova così potenti e nuove?"
Per una discussione relativamente recente sull'argomento, c'è la 26ª colonna NP-Completezza di David Johnson nelle ACM Transactions on Algorithms del 2007 ( PDF ). Consentitemi di parafrasare alcune delle di David in merito alla questione di dimostrare l'esistenza di problemi complessi e di aggiungere i miei pensieri:
Attualmente, abbiamo solo candidati "deboli" naturali per l'adesione a nel senso che la prova più forte per la loro appartenenza è che non siamo ancora riusciti a trovare un algoritmo temporale polinomiale per loro. Elenca un paio di candidati: PICCOLO FATTORE, GIOCO STOCASTICO SEMPLICE e GIOCO MEAN PAYOFF. Alcune delle "stranezze" extra di questi problemi derivano dai migliori tempi di esecuzione euristici per risolverli, ad esempio SMALL FACTOR, alias INTEGER FACTOR , ha una complessità temporale randomizzata di . (Se esistono problemi completi in , allora tale sub-esponenziale (né puramente esponenziale, né abbastanza polinomiale)≤ k p o l y ( n ) 2 √runtime endemico della classe? )
Quindi, in particolare, vorremmo provare qualcosa del genere: il problema A è solo in iff , ovvero un risultato di completezza come il teorema di Cook per 3SAT e . Per , tali prove implicano universalmente riduzioni del tempo polinomiale (e fissano le tue restrizioni preferite e aggiuntive, ad es. Riduzioni Cook, riduzioni Karp). Di conseguenza, secondo le tecniche di riduzione del tempo polinomiale, deve esistere una rappresentazione riconoscibile del tempo polinomiale della classe. Per , possiamo usare macchine di Turing non deterministiche che si fermano all'interno di un polinomio,P S P A C E P, numero di passaggi. Come sottolinea David, abbiamo rappresentazioni simili per le altre classi (dove lo stato è più chiaro) come e # .
La difficoltà, tuttavia, nel fornire una rappresentazione simile per è che l'analogo "naturale" ci consente di incorporare il problema di interruzione all'interno della rappresentazione ed è quindi indecidibile . Ossia, considera il seguente tentativo di rappresentare con due macchine di Turing non deterministiche che, presumibilmente, riconoscono linguaggi complementari:N P ∩ c o N P
Domanda: una Turing Machine ferma sull'input ?
Costruire due macchine di Turing a tempo lineare e come segue. Su input , legge l'input e accetta sempre. rifiuta sempre a meno chee accetta nei passaggi.
Pertanto, e accettano lingue complementari se non si ferma sull'input . Pertanto, per contraddizione, è impossibile decidere se due macchine di Turing a tempo polinomiale accettano linguaggi complementari.M ∗ x
Pertanto, la rappresentazione "naturale" dei non è riconoscibile nel tempo polinomiale. La domanda rimane: come si rappresentano i modo che siano riconoscibili nel tempo polinomiale?
Non è stato svolto alcun lavoro significativo su questo tema, ma la sua risoluzione riuscita è necessaria per dimostrare completezza in . Quindi, sostengo che l'esistenza di una tecnica di prova in grado di risolvere la completezza di sarà la storia più grande qui - non i risultati "automatici" dei di (ad es. Classi di complessità, forse, collasso) di cui siamo già a conoscenza (o meglio, ne saremo consapevoli , ipoteticamente in futuro).