Przybliżenie problemów trudnych do # P

9

Rozważ klasyczny problem # P-zupełny nr 3SAT, tj. Policz liczbę wycen, aby uzyskać 3CNF z nzmienne zadowalające. Interesuje mnie przybliżalność addytywna . Najwyraźniej istnieje prosty algorytm do osiągnięcia2n1- błąd, ale jeśli k<2n1, czy można mieć skuteczny algorytm aproksymacyjny, czy ten problem jest również trudny do rozwiązania?

użytkownik0928
źródło
Gdyby k=2n1poly(n)istnieje algorytm wieloczasowy z błędem addytywnym k. Gdybyk=2n/poly(n), wówczas istniałby losowy algorytm wieloczasowy z błędem addytywnym k. Kiedykjest znacznie mniejszy (ale nie wielomianowo mały), oczekiwałbym, że będzie twardy NP, ale nie twardy # P, ponieważ twardość #P zwykle zależy od dokładnego obliczenia.
Thomas
Czy możesz podać odniesienie dla pierwszych dwóch roszczeń? Przepraszam, jestem początkującym ...
użytkownik0928

Odpowiedzi:

10

Interesują nas przybliżone dodatki do # 3SAT. tzn. biorąc pod uwagę 3CNFϕ na n zmienne liczą liczbę spełniających przypisań (nazwij to a) aż do błędu addytywnego k.

Oto kilka podstawowych wyników:

Przypadek 1: k=2n1poly(n)

Oto deterministyczny algorytm wieloczasowy: Let m=2n2k=poly(n). Teraz oceńϕ na m dowolne dane wejściowe (np. najpierw leksykograficznie mwejścia). Przypuszczać z tych danych wejściowych spełniają ϕ. Więc wiemya jak są przynajmniej spełnianie zadań i a2n(m) jak są przynajmniej mniezadowalające zadania. Długość tego przedziału wynosi2n(m)=2k. Więc jeśli wyprowadzimy punkt środkowy2n1m/2+ to jest w środku k poprawnej odpowiedzi, zgodnie z wymaganiami.

Przypadek 2: k=2n/poly(n)

Tutaj mamy losowy algorytm wieloczasowy: Oceń ϕ w m losowe punkty X1,,Xm{0,1}n. Pozwolićα=1mi=1mϕ(Xi) i ε=k/2n. Produkujemy2nα. Aby miał to co najwyżej błądk potrzebujemy

k|2nαa|=2n|αa/2n|,
co jest równoważne z |αa/2n|ε.Przez nierówność chernoffa ,
P[|αa/2n|>ε]2Ω(mε2),
tak jak E[ϕ(Xi)]=E[α]=a/2n. Oznacza to, że jeśli zdecydujemym=O(1/ε2)=poly(n) (i zapewnić m jest mocą 2), przynajmniej z prawdopodobieństwem 0.99błąd jest co najwyżej k.

Przypadek 3: k=2cn+o(n) dla c<1

W tym przypadku problemem jest # P-trudny: Zrobimy redukcję z # 3SAT. Weź 3CNFψ na mzmienne. Wybieraćnm takie, że k<2nm1 -- to wymaga n=O(m/(1c)). Pozwolićϕ=ψ z wyjątkiem ϕ jest teraz włączony n zmienne zamiast m. Gdybyψ ma b spełnianie zadań ϕ ma b2nm spełniające zadania, jak nm„wolne” zmienne mogą przyjmować dowolne wartości w zadowalającym przypisaniu. Załóżmy teraz, że mamya^ takie, że |a^a|k -- to jest a^ jest przybliżeniem liczby spełniających zadania zadań ϕ z błędem addytywnym k. Następnie

|ba^/2nm|=|aa^2nm|k2nm<1/2.
Od b jest liczbą całkowitą, co oznacza, że ​​możemy określić dokładną wartość b od a^. Algorytmiczne określenie dokładnej wartościbwymaga rozwiązania problemu # P-zupełnego # 3SAT. Oznacza to, że trudno jest obliczyć #Pa^.
Tomasz
źródło