Esiste un linguaggio NP completo che contiene esattamente la metà delle istanze n-bit?


25

Esiste un linguaggio (preferibilmente naturale) NP completo , tale che per ogni detiene? In altre parole, contiene esattamente la metà di tutte le istanze -bit.L{0,1}n1

|L{0,1}n|=2n1
Ln

4
Sarebbe molto sorprendente se non ci fosse, ma pensandoci per alcuni minuti non è possibile trovare una costruzione.
Kaveh,

2
FWIW c'è una L che è NP-difficile e in NP / POLY ...
Neal Young

Per una codifica binaria biiettiva e di formule CNF, {e(φ)1 | φ soddisfacente }{e(φ)0 | φ insoddisfacente } dovrebbe funzionare.
Klaus Draeger,

4
@KlausDraeger L'insoddisfazione non è una proprietà NP, a meno che NP = co-NP.
Andras Farago,

Esiste un oracolo O tale che non esiste LNPCompleteO con questa proprietà?
Erfan Khaniki,

Risposte:


24

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.L|Ln|

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 

  • per tutte le formule e per tutta l'assegnazione della verità τ { 0 , 1 } | φ | , | & Phi; | = | & Phi; , T si | .φτ{0,1}|φ||φ|=|φ,τ|
  • è calcolabile al tempo polinomiale.|φ||φ|
  • il numero di formule con lunghezza codificata è calcolabile a tempo polinomiale.n

Considerate

L:={φφSAT}{φ,ττφ and σ<τ σφ}

È facile vedere che è NP-completo.L

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 φ .φSAT

τφ and σ<τ σφ
1φφ

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 ,2|φ|τφ¬φφ2(2|φ|+1)φ¬φφ,τ¬φ,τ. 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.τ{0,1}|φ|2|φ|2|φ|+1+2LnLφn2|φ|


10
Anche se questa è la soluzione desiderata, questa è una risposta chiaramente solo link.
user2943160,

per essere chiari, non c'è nulla di speciale in SAT, questo funzionerebbe con qualsiasi predicato verificatore per un problema NP-completo.
Kaveh,

@Kaveh, non usi qui una particolare proprietà di SAT, che le istanze arrivano in coppie , ¬ ϕ in modo tale che ogni dato testimone τ sia un testimone esattamente per uno dei due nella coppia? Come lo faresti, ad esempio 3-COLOR? ϕ¬ϕτ
Neal Young,

@Neal, lascia che V (x, y) sia un verificatore per un problema NP-completo. Considera W (x, b, y): = V (x, y) = b. È ancora NP-completo e ogni y è un testimone per x, 0 o x, 1. Non è carino come SAT però.
Kaveh,

@Kaveh, ad es. Con SAT stai suggerendo Ma questo è in P, e se provi a risolverlo prendendo l'unione con, diciamo, B = { ( ϕ , b ) : τ S A T b = 1 } , l'unione A B
A={(ϕ,b,τ):(τ satisfies ϕ)b=1}?
B={(ϕ,b):τSATb=1}ABè sia NP-difficile che co-NP-difficile (quindi probabilmente non in NP). EDIT: Oh, capisco, intendi prendere l'unione di con, diciamo, C = { ( ϕ , b ) : τ . [ ( τ  soddisfa  ϕ ) b = 1 ] } ...AC={(ϕ,b):τ. [(τ satisfies ϕ)b=1]}
Neal Young,

8

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 } nL . Dal momento che personalmente non sono in grado di decidere casi di N PLL=n:=|L{0,1}n|=2n1L{0,1}n{0,1}nLNP- 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 Pf:{0,1}{0,1}xLf(x)LfNP=coNPfNP-completo impostato su -completo.coNP

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 PN T I M E ( 2 ( log n ) O ( 1 ) ) = : N Q P , da cui Credo che ne consegue una semplice induzione con argomento di rilievoEXPcoNPNTIME(2(logn)O(1))=:NQP . 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 HN Q P , che sembra essere al di là delle attuali conoscenze ...PHNQPPHNQP

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.L

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).

L

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.