Это очень интересный вопрос.
Сначала уточняющее замечание. Обратите внимание, что «верхняя граница числа свидетелей» не является свойством вычислительной проблемы как таковой, но конкретного верификатора, используемого для решения задачи , так же как «верхняя граница числа состояний» не будет свойство проблемы, но решающая ее машина Тьюринга. Таким образом, высказывание « проблема N P с верхней границей числа решений» не совсем точно, и если P = N P, то у каждой задачи N P есть верификатор с любым количеством желаемых решений (включая ноль и включая все возможные строки) ,NпNпп= NпNп
Поэтому мы должны дать определение, чтобы ответить на ваш вопрос. Для , скажем, задача N P L «имеет не более s ( n ) решений», если для некоторой константы c существует O ( n c ) -временной верификатор V такой, что для каждой входной длины n и для каждый x ∈ L длины n , есть различные y 1 , … , y s ( ns : N → NNпLs ( n )сO ( nс)ВNx ∈ LN длины n c такой, чтоV(x, y i )принимает для всехi, аV(x,y)отклоняет все остальныеyдлины n c .Y1, ... , уs ( n )NсВ( х , уя)яV(x,y)ync
Все, что я могу сказать на данный момент, так это:
- Каждый -полная проблема , которую я знаю (определяются некоторыми естественными проверяющим) имеет очевидную соответствующую # P версию -полным подсчета (с тем же проверяющим).NP#P
- Для любого -полным задачи , определенной с верификатор , имеющие не более р ø л у ( п ) решений (или даже 2 п о ( 1 ) решений) соответствующий счет версия , вероятно, не # Р -полная.NPpoly(n)2no(1)#P
Более подробно: предположим, что является N P -полным, с верификатором V, который имеет не более O ( n c ) решений. Тогда естественный подсчет "решение" версия L , который мы определяем какLNPVO(nc)L
CountL(x):=the number of y such that V(x,y) accepts
вычислим в , то есть, функция полиномиальных по с O ( журнал п ) запросов к N P . Это потому , что решить , является ли число решений й не больше к находится в N P : свидетель, если он существует, это просто число у я «s делает V принять, что мы знаем , что в большинстве O ( п в )FPNP[O(logn)]O(logn)NPxkNPyiVO(nc), Тогда мы можем бинарный поиск , используя эту задачу вычислить точное число решений L .NPL
Следовательно, -полная проблема такого рода не может быть распространена на # P -полную проблему обычным способом, если только # P ⊆ F P N P [ O ( log n ) ] . Это выглядит маловероятным; вся полиномиальная иерархия времени в основном рухнет до P N P [ O ( log n ) ] .NP#P#P⊆FPNP[O(logn)]PNP[O(logn)]
Если вы предполагаете в вышеприведенном, вы все равно получите маловероятные последствия. Вы бы показали, что # P можно вычислить за 2 n o ( 1 ) времени с помощью оракула N P. Например, этого более чем достаточно, чтобы доказать, что E X P N P ≠ P P, а затем E X P N P ⊄ P / p o l ys(n)=2no(1)#P2no(1)NPEXPNP≠PPEXPNP⊄P/poly, Не то, чтобы эти разделения были маловероятными, но кажется маловероятным, что они были бы доказаны с помощью алгоритма оракула времени субэкспозиции для Перманента.NP
Кстати, я не сказал ничего слишком проницательного здесь. В литературе почти наверняка есть такой аргумент.