To bardzo interesujące pytanie.
Najpierw uwaga wyjaśniająca. Zauważ, że „górna granica liczby świadków” to nie właściwością obliczeniowej problemu per se, ale z konkretnym weryfikatora używane do decydowania o problemu, po prostu jako „górną granicę liczby państw” nie będzie właściwość problemu, ale decydująca jest maszyna Turinga. Zatem powiedzenie „ Problem N P z górną granicą liczby rozwiązań” nie jest dość dokładne, a jeśli P = N P, to każdy problem N P ma weryfikator z dowolną liczbą pożądanych rozwiązań (w tym zero i wszystkie możliwe łańcuchy) .NPNPP=NPNP
Musimy więc zdefiniować, aby odpowiedzieć na twoje pytanie. Dla , powiedzmy, że problem N P L „ma co najwyżej s ( n ) rozwiązania”, jeżeli dla pewnej stałej c istnieje weryfikator czasowy O ( n c ) V taki, że dla każdej długości wejściowej n i dla co x ∈ L długości n , są różne y 1 , … , y s ( ns:N→NNPLs(n)cO(nc)Vnx∈Ln O długości n c tak, żeV(x, y i )akceptuje wszystkieIiV(x,y)odrzuca wszelkie inneYo długości n C .y1,…,ys(n)ncV(x,yi)iV(x,y)ync
W tej chwili mogę tylko powiedzieć, że:
- Każdy -Complete Problem wiem (zdefiniowany przez jakiegoś naturalnego weryfikatora) ma oczywisty odpowiadającą # P wersję -Complete liczenia (z tego samego weryfikatora).NP#P
- Dla każdego -Complete problemu określonym z weryfikatorem o co najwyżej P ° l r ( n ) roztworu (lub nawet 2 n o ( 1 ) Solutions) odpowiadający wersji zliczania prawdopodobnie nie # P -Complete.NPpoly(n)2no(1)#P
Więcej szczegółów Przypuśćmy jest N P -Complete, za pomocą weryfikatora V , który zawiera co najwyżej O ( n c ) rozwiązań. Następnie naturalna licząca się wersja „decyzyjna” L , którą definiujemy jakoLNPVO(nc)L
CountL(x):=the number of y such that V(x,y) accepts
obliczeniowy jest w , to znaczy, w zależności polytime z O ( log n ) zapytań do N P . To dlatego, decydując, czy liczba rozwiązań x wynosi co najwyżej k jest w N P : świadka, jeśli istnieje, to po prostu liczba rw I „s czyniąc V zaakceptować, co my wiemy być co najwyżej O ( n c )FPNP[O(logn)]O(logn)NPxkNPyiVO(nc). Wtedy możemy Przeszukiwanie binarne za pomocą tego problemu obliczyć dokładną liczbę rozwiązań L .NPL
Dlatego też, -Complete problemem tego rodzaju nie może być rozszerzony do # P -Complete problem w zwykły sposób, o ile # P ⊆ F P N P [ O ( log n ) ] . Wygląda to mało prawdopodobne; cała wielomianowa hierarchia czasu po prostu zawaliłaby się do P N P [ O ( log n ) ] .NP#P#P⊆FPNP[O(logn)]PNP[O(logn)]
Jeśli założysz w powyższym przypadku, nadal otrzymasz mało prawdopodobne konsekwencje. Można by pokazać, że # P można obliczyć w 2 n O ( 1 ), raz z N P wyroczni. To więcej niż wystarczy, aby na przykład udowodnić, że E X P N P ≠ P P, a następnie E X P N P ⊄ P / p o l ys(n)=2no(1)#P2no(1)NPEXPNP≠PPEXPNP⊄P/poly. Nie dlatego, że te podziały są mało prawdopodobne, ale wydaje się mało prawdopodobne, że będą udowodnił dając czas subexp algorytm -oracle na stałe.NP
Nawiasem mówiąc, nie powiedziałem tutaj nic wnikliwego. W literaturze prawie na pewno jest taki argument.