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ęcia2n−1- błąd, ale jeśli k<2n−1, czy można mieć skuteczny algorytm aproksymacyjny, czy ten problem jest również trudny do rozwiązania?


Gdyby k=2n−1−poly(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=2n−1−poly(n)

Oto deterministyczny algorytm wieloczasowy: Let m=2n−2k=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 a≤2n−(m−ℓ) jak są przynajmniej m−ℓniezadowalające zadania. Długość tego przedziału wynosi2n−(m−ℓ)−ℓ=2k. Więc jeśli wyprowadzimy punkt środkowy2n−1−m/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ćα=1m∑i=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ćn≥m takie, że k<2n−m−1 -- to wymaga n=O(m/(1−c)). Pozwolićϕ=ψ z wyjątkiem ϕ jest teraz włączony n zmienne zamiast m. Gdybyψ ma b spełnianie zadań ϕ ma b⋅2n−m spełniające zadania, jak n−m„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

|b−a^/2n−m|=|a−a^2n−m|≤k2n−m<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^.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.