Czy istnieje język NP-complete, który zawiera dokładnie połowę n-bitowych instancji?

25

Czy istnieje (najlepiej naturalny) NP-pełny język L{0,1} , taki, że dla każdego n1

|L{0,1}n|=2n1
trzyma? Innymi słowy, L zawiera dokładnie połowę wszystkich n bitowych instancji.
Andras Farago
źródło
4
Byłoby bardzo zaskakujące, gdyby nie było, ale myślenie o tym przez kilka minut nie mogło znaleźć konstrukcji.
Kaveh
2
FWIW jest taki który jest NP-trudny i w NP / POLY ...L
Neal Young
Dla dwuskładnikowego binarnego kodowania wzorów CNF, { e ( φ ) 1 | φ zadowalające } { e ( φ ) 0 | φ niezadowalający } powinien działać. e{e(φ)1 | φ}{e(φ)0 | φ}
Klaus Draeger
4
@KlausDraeger Niezadowolenie nie jest własnością NP, chyba że NP = co-NP.
Andras Farago,
Czy istnieje jakaś wyrocznia , która nie istnieje LN P - C o m p l e t e O z tą właściwością? OLNPCompleteO
Erfan Khaniki

Odpowiedzi:

24

Zadałem to pytanie kilka lat temu i Boaz Barak odpowiedział na nie pozytywnie .


Stwierdzenie jest równoważne z istnieniem kompletnego języka NP gdzie | L n | jest obliczalny w czasie wielomianowym.L|Ln|

Rozważmy formuły logiczne i SAT. Używając dopełniania i nieznacznie modyfikując kodowanie formuł, możemy upewnić się, że i ¬ φ mają tę samą długość.φ¬φ

Niech być kodowanie 

  • dla wszystkich formuł i dla wszystkich przypisań prawdy τ { 0 , 1 } | φ | , | Cp | = | Cp , τ | .φτ{0,1}|φ||φ|=|φ,τ|
  • jest obliczalny w czasie wielomianowym.|φ||φ|
  • liczba wzorów o zakodowanej długości jest obliczalna w czasie wielomianowym.n

Rozważmy

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

Łatwo zauważyć, że jest NP-kompletny.L

Jeśli , liczba przypisań prawdy spełniających τ φ  i  σ < τ σ φ jest równa liczbie zadowalających przypisań prawdy - 1 . Dodając φ , sumuje się do liczby zadowalających przypisań prawdy dla φ .φSAT

τφ and σ<τ σφ
1φφ

Istnieją zadania prawdy. Każdy τ albo spełnia φ albo ¬ φ (i nie oba). Dla każdej formuły cp , rozważmy 2 ( 2 | cp | + 1 ) struny φ , ¬ φ , φ , τ i ¬ φ , τ dla τ { 0 ,2|φ|τφ¬φφ2(2|φ|+1)φ¬φφ,τ¬φ,τ. Dokładnie 2 | φ | z tych 2 | φ | + 1 + 2 łańcuchy są w L . Oznacza to, że liczba łańcuchów o długości n w L jest liczbą preparatów cp długości zakodowanego N pomnożone przez 2 | φ | który jest obliczalny w czasie wielomianowym.τ{0,1}|φ|2|φ|2|φ|+1+2LnLφn2|φ|

Ryan O'Donnell
źródło
10
Nawet jeśli jest to pożądane rozwiązanie, jest to odpowiedź wyłącznie z linkiem.
user2943160,
dla jasności, nie ma nic specjalnego w SAT, działałoby to z dowolnym predykatem weryfikatora dla problemu NP-zupełnego.
Kaveh
@Kaveh, czy nie używasz tutaj szczególnej właściwości SAT, że wystąpienia występują w parach , ¬ ϕ tak, że każdy świadek τ jest świadkiem dokładnie jednego z dwóch w parze? Jak byś to zrobił np. Dla 3-COLOR? ϕ¬ϕτ
Neal Young,
@Neal, niech V (x, y) będzie weryfikatorem problemu NP-zupełnego. Rozważmy W (x, b, y): = V (x, y) = b. Nadal jest NP-kompletny i każdy y jest świadkiem dla x, 0 lub x, 1. Jednak nie tak miły jak SAT.
Kaveh,
@Kaveh, np. Z SAT sugerujesz Ale to jest w P, a jeśli spróbujesz to naprawić, biorąc związek, powiedzmy, B = { ( ϕ , b ) : τ S A T b = 1 } , związek A B
A={(ϕ,b,τ):(τ satisfies ϕ)b=1}?
B={(ϕ,b):τSATb=1}AB is both NP-hard and co-NP-hard (so likely not in NP). EDIT: Oh, I see, you mean to take the union of A with, say, C={(ϕ,b):τ. [(τ satisfies ϕ)b=1]}...
Neal Young
8

Here's a suggestion of why it might be difficult to come up with an example of such, though I agree with Kaveh's comment that it would be surprising if it didn't exist. [Not an answer, but too long for a comment.]

Suppose that someone, say me, comes up with such a language L. A natural way for me to prove that L=n:=|L{0,1}n|=2n1 is to explicitly build a bijection between L{0,1}n and {0,1}nL. Since I personally am not able to decide instances of NP-hard problems, most "simple" bijections that I will come up with will have the form "f:{0,1}{0,1} is a length-preserving bijection, and xL if and only if f(x)L." Furthermore, I'm likely to come up with such an f that is computable in polynomial time. But then NP=coNP, for f is a reduction from an NP-complete set to a coNP-complete one.

Of course, this objection can be gotten around by "simply" having the bijection be harder to compute than that. If your bijection takes exponential time - say it and its inverse might both be EXP-hard - then I think you're pretty safe. But if it only takes, say, quasi-polynomial time, then note that you still get the consequence coNPNTIME(2(logn)O(1))=:NQP, from which I believe it follows by a simple induction with padding argument that PHNQP. Now, if you believe the preceding containment is simply false, then no such quasi-poly-time computable bijection can save you. But even if you believe it might be true, then by coming up with such a bijection you would prove PHNQP, which seems to be beyond current knowledge...

The objection can also be gotten around by simply not having such a bijection, but then it seems harder to see how to prove that L has the desired property in the first place... And in fact, even if your proof isn't a bijection, you'd need it to be the case that no such easily computable bijection even exists.

Of course, this is also the type of thing where someone will come along with an example and we'll easily see how it gets around this objection, but I just wanted to throw this out there to say how anything with a simple enough bijection can't work (unless widely held beliefs are false).

(Related question: is there an oracle relative to which there is no such L?)

Joshua Grochow
źródło