Dlaczego wariant liczenia problemu trudnej decyzji nie jest automatycznie trudny?

14

Dobrze wiadomo, że 2-SAT znajduje się w P. Jednak wydaje się dość interesujące, że zliczanie liczby rozwiązań dla danej formuły 2-SAT, tj. # 2-SAT jest # P-trudne. Oznacza to, że mamy przykład problemu, dla którego decyzja jest łatwa, ale liczenie jest trudne.

Ale rozważ arbitralny problem NP-zupełny (powiedzmy 3-COL). Czy możemy od razu powiedzieć coś o twardości jego wariantu liczenia?

Naprawdę pytam: dlaczego potrzebujemy innego dowodu, aby pokazać, że wariant trudnej decyzji jest # P-trudny? (Czasami widać oszczędne redukcje, które pozwalają zachować liczbę rozwiązań itd.). Mam na myśli naprawdę, jeśli problem z liczeniem był łatwy, możesz automatycznie rozwiązać problem decyzyjny! Więc jak to nie może być trudne? (OK, może to trudne, ale nie jestem pewien, jaka jest definicja twardego).

Gedeon
źródło

Odpowiedzi:

15

Powodem, dla którego nie jest to automatyczne twierdzenie, że „decyzja jest trudna, implikuje, że liczenie jest trudne”, wynika z faktu, że te dwie wypowiedzi używają różnych definicji „twardego”.

  • Problem decyzyjny jest trudny, jeśli jest zakończony NP przy wielomianowych redukcjach w czasie wielu-jeden (aka redukcji Karp, aka redukcji mapowania w czasie wielomianowym).

  • Problem z liczeniem jest trudny, jeśli jest zakończony #P przy wielomianowych redukcjach Turinga ( zwanych również redukcjami Cooka).

W związku z tym, jeśli problem decyzyjny jest NP-zupełny , wiemy, że odpowiadający mu problem zliczania to NP- twardy, ale to nie jest definicja trudnego problemu zliczania. Bycie # P-kompletnym wydaje się być znacznie silniejszym stwierdzeniem niż tylko bycie NP- twardym - Toda pokazał, że problemy z # P-uzupełnieniem są trudne dla całej hierarchii wielomianowej przy losowych redukcjach, więc jako klasa złożoności #P wydaje się być znacznie bliższy do PSPACE niż do  NP .

Idąc w kierunku przeciwnym, to oczywiście prawdą, że jeśli problem liczenia jest łatwy w sensie bycia w  FP , to problem jest decyzja w  P . W końcu, jeśli potrafisz skutecznie liczyć, z pewnością możesz stwierdzić, czy odpowiedź jest niezerowa. Jednak fakt, że liczenie wersji nie jest „trudne” (tj. Nie # -kompletny ), nie oznacza, że ​​jest „łatwy” (tj. W  FP ). Twierdzenie Ladnera rozciąga się na  #P, więc jeśli FP** # P ** wtedy istnieje nieskończona hierarchia odrębnych klas złożoności między nimi, więc nasz „trudny” problem zliczania może być kompletny dla dowolnej z tych klas, a zatem nie będzie „łatwy” (w  FP ).

Powiedziawszy to, nie sądzę, abyśmy mieli jakieś kontrprzykłady w przypuszczeniu, że problem decyzyjny jako NP-zupełny oznacza, że ​​wersja licząca jest #P -kompletna . Nie jest to więc twierdzenie, ale jest empirycznie prawdziwe.

David Richerby
źródło
W rzeczy samej. Apropos z ostatniego akapitu, nieco więcej dyskusji na ten temat można znaleźć na stronie cstheory.stackexchange.com/q/16119/5038 .
DW
1. Problem liczenia nie jest jednoznacznie zdefiniowany dla problemu NP, musisz porozmawiać z weryfikatorem problemu NP, zanim zaczniesz mówić o jego wersji zliczającej. 2. twardość w złożoności jest trudnością względną , a nie trudnością absolutną . Kiedy więc mówimy, że problem jest trudny, oczywiste pytanie dotyczy tego, co i pod jakim rodzajem porównania?
Kaveh