Esiste un linguaggio (preferibilmente naturale) NP completo , tale che per ogni detiene? In altre parole, contiene esattamente la metà di tutte le istanze -bit.
Esiste un linguaggio (preferibilmente naturale) NP completo , tale che per ogni detiene? In altre parole, contiene esattamente la metà di tutte le istanze -bit.
Risposte:
Ho fatto questa domanda qualche anno fa e Boaz Barak ha risposto positivamente .
La dichiarazione equivale all'esistenza di un linguaggio NP completo dove | L n | è calcolabile al tempo polinomiale.
Considera le formule booleane e il SAT. Usando il padding e modificando leggermente la codifica delle formule possiamo assicurarci che e ¬ φ abbiano la stessa lunghezza.
Lasciare essere una codifica
Considerate
È facile vedere che è NP-completo.
Se , il numero di assegnazioni di verità che soddisfano τ ⊨ φ e ∃ σ < τ σ ⊨ φ è uguale al numero di assegnazioni di verità soddisfacenti - 1 . Aggiungendo φ stesso si somma al numero di assegnazioni di verità soddisfacenti per φ .
Ci sono compiti di verità. Ogni τ soddisfa φ o ¬ φ (e non entrambi). Per ogni formula φ , considerare il 2 ( 2 | φ | + 1 ) stringhe ⟨ φ ⟩ , ⟨ ¬ φ ⟩ , ⟨ φ , T si ⟩ , e ⟨ ¬ φ , T si ⟩ per T si ∈ { 0 ,. Esattamente 2 | φ | di questi 2 | φ | + 1 + 2 stringhe sono in L . Ciò significa che il numero di stringhe di lunghezza n in L è il numero di formule φ della lunghezza codificata n moltiplicato per 2 | φ | quale tempo polinomiale calcolabile.
Ecco un suggerimento sul perché potrebbe essere difficile trovare un esempio di questo, anche se concordo con il commento di Kaveh che sarebbe sorprendente se non esistesse. [Non una risposta, ma troppo lungo per un commento.]
Supponiamo che qualcuno, dico io, si presenta con un tale linguaggio . Un modo naturale per me di dimostrare che L = n : = | L ∩ { 0 , 1 } n | = 2 n - 1 è quello di costruire in modo esplicito una corrispondenza biunivoca tra L ∩ { 0 , 1 } n e { 0 , 1 } n ∖ L . Dal momento che personalmente non sono in grado di decidere casi di N P- molti problemi, la maggior parte delle biiezioni "semplici" che presenterò avranno la forma " è una biiezione che preserva la lunghezza, e x ∈ L se e solo se f ( x ) ∉ L. " Inoltre, probabilmente mi inventerò una tale f che è calcolabile in tempo polinomiale. Ma poi N P = c o N P , perché f è una riduzione da un N P-completo impostato su -completo.
Naturalmente, questa obiezione può essere aggirata "semplicemente" facendo in modo che la biiezione sia più difficile da calcolare di quella. Se la tua biiezione richiede tempo esponenziale - dillo e il suo contrario potrebbe essere entrambi -hard - allora penso che tu sia abbastanza sicuro. Ma se ci vuole solo, diciamo, tempo quasi polinomiale, allora nota che ottieni ancora le conseguenze c o N P ⊆ N T I M E ( 2 ( log n ) O ( 1 ) ) = : N Q P , da cui Credo che ne consegue una semplice induzione con argomento di rilievo . Ora, se ritieni che il contenimento precedente sia semplicemente falso, allora nessuna biiezione calcolabile quasi poli-tempo può salvarti. Ma anche se credi che potrebbe essere vero, allora inventando una tale biiezione dimostreresti P H ⊆ N Q P , che sembra essere al di là delle attuali conoscenze ...
L'obiezione può anche essere aggirata semplicemente non avendo una tale biiezione, ma poi sembra più difficile vedere come dimostrare che ha la proprietà desiderata in primo luogo ... E in effetti, anche se la tua prova non è una biiezione, avresti bisogno che non esistesse una biiezione così facilmente calcolabile.
Naturalmente, questo è anche il tipo di cosa in cui qualcuno verrà con un esempio e vedremo facilmente come aggira questa obiezione, ma volevo solo lanciarlo là fuori per dire come qualsiasi cosa con una biiezione abbastanza semplice può funziona (a meno che le credenze ampiamente diffuse siano false).