これは非常に興味深い質問です。
まず、明確な発言。「目撃者の数の上限」は計算問題自体の特性ではなく、問題を決定するために使用される特定の検証者の特性であることに注意してください。問題の特性ですが、チューリングマシンがそれを決定します。したがって、「解の数の上限を持つN P問題」と言うのはあまり正確ではなく、P = N Pの場合、すべてのN P問題には、任意の数の解(ゼロを含む、可能なすべての文字列を含む) 。NPNPP=NPNP
それで、あなたの質問に対処するために、定義をしなければなりません。、聞かせてのは言うN Pの問題のLは「持って高々S (N )ソリューション」であれば、いくつかの定数のcがありますO (N C)検証時間Vなど、そのすべての入力長のためのnとのためにすべてのx ∈ Lの長さのN、別個あり、Y 1、... 、Y S (Nはs:N→NNPLs(n)cO(nc)Vnx∈Ln長さの N CようにV(X、 Y I)すべてについて受け入れI、およびV(X、Yは)他のすべての拒否Yの長さの N Cを。y1,…,ys(n)ncV(x,yi)iV(x,y)ync
現時点で言えるのはこれだけです:
- 私が知っているすべての完全な問題(いくつかの自然な検証者によって定義される)には、(同じ検証者で)明らかな対応する#P-完全なカウントバージョンがあります。NP#P
- ために、任意のせいぜい有するベリファイアで定義-complete問題P oをLとY (N )溶液(あるいは2 N O (1 )溶液)に対応する計数バージョンはおそらくない。#P -complete。NPpoly(n)2no(1)#P
詳細:がN P完全で、最大でO (n c)の解を持つ検証者Vであると仮定します。その後の自然なカウント「決断」バージョンL我々はとして定義し、LNPVO(nc)L
CountL(x):=the number of y such that V(x,y) accepts
はで計算可能です。つまり、N PへのO (log n )クエリを持つポリタイム関数です。解決策の数かどうかを決定するためであること、xは最大であり、Kはであり、N P:証人、それが存在する場合、単にの数であり、Y iは、の製造Vは、我々がどの受け入れる知っている最大であることがO (N c)FPNP[O(logn)]O(logn)NPxkNPyiVO(nc). Then we can binary search using this NP problem to compute the exact number of solutions to L.
Therefore, an NP-complete problem of this kind could not be extended to a #P-complete problem in the usual way, unless #P⊆FPNP[O(logn)]. This looks unlikely; the whole polynomial time hierarchy would basically collapse to PNP[O(logn)].
If you assume s(n)=2no(1) in the above, you would still get an unlikely consequence. You would show that #P can be computed in 2no(1) time with an NP oracle. That's more than enough to prove, for instance, that EXPNP≠PP and subsequently EXPNP⊄P/poly. Not that those separations are unlikely, but it seems unlikely they'd be proved by giving a subexp time NP-oracle algorithm for the Permanent.
By the way, I have said nothing too insightful here. There is almost certainly an argument like this in the literature.