Bu çok ilginç bir soru.
İlk olarak, açıklayıcı bir açıklama. "Üst tanıkların sayısına bağlı" olduğunu Note değil se başına bir hesaplama sorunun bir özellik, ama bir karar vermek için kullanılır, belirli bir doğrulayanın gibi, sorunu bir "üst devletler sayısına bağlı" bir olmaz bir problemin, ancak bir Turing makinesinin karar verme özelliği. Yani " çözüm sayısı üzerinde üst sınır ile N P sorunu" demek pek doğru değildir ve eğer P = N P ise, her N P probleminde istenilen sayıda (sıfır dahil ve olası tüm dizeler dahil) bir doğrulayıcı vardır. .NPNPP=NPNP
Bu yüzden sorunuzu ele almak için bir tanım yapmalıyız. İçin , edelim bir say N P sorun L "var en lar ( N ) çözeltiler" halinde bir sabiti C bir olduğu O ( n, c ) doğrulayıcı zaman V , örneğin, her giriş uzunluğu , n ve için n uzunluğunda her x ∈ L , farklı y 1 , … , y s ( ns:N→NNPLs(n)cO(nc)Vnx∈Ln Uzunluğunun , n C , öyle kiV(x, y i )tüm kabuliveV(X,Y), diğer tüm reddederyuzunlukta n c .y1,…,ys(n)ncV(x,yi)iV(x,y)ync
Şu anda söyleyebileceğim tek şey şu:
- Bildiğim her tamamlama problemi (bazı doğal doğrulayıcı tarafından tanımlanır) açık bir karşılık gelen # P- tamamlama sayma versiyonuna sahiptir ( aynı doğrulayıcı ile).NP#P
- En fazla p o l y ( n ) çözeltisine (hatta 2 n o ( 1 ) çözeltiye) sahip bir doğrulayıcı ile tanımlanan herhangi bir tamamlama problemi için, karşılık gelen sayım versiyonu muhtemelen # P- tamamlayıcı değildir .NPpoly(n)2no(1)#P
Daha fazla detay: Diyelim ki , en fazla O ( n c ) çözeltisi olan bir doğrulayıcı V ile N P tamamlandı . Sonra L olarak tanımladığımız doğal sayım "karar" versiyonuLNPVO(nc)L
CountL(x):=the number of y such that V(x,y) accepts
olarak hesaplanabilir olan olduğu, bir polytime fonksiyonu O ( log n ) için sorgular K P . Çözümler sayısı karar vermek olmasıdır x en olduğu k içinde olan N , P : varsa tanık sayısı, sadece bir y ı 'in hale V , kabul, biliyoruz en olduğu , O ( n, c )FPNP[O(logn)]O(logn)NPxkNPyiVO(nc). Sonra L için kesin çözüm sayısını hesaplamak için bu sorunu kullanarak ikili arama yapabilirsiniz .NPL
Bu nedenle, bu tür bir tamamlama sorunu, # P ⊆ F P N P [ O ( log n ) ] olmadığı sürece, normal bir şekilde # P tamamlama sorununa genişletilemedi . Bu olası görünmüyor; tüm polinom zaman hiyerarşisi temel olarak P N P [ O ( log n ) ] 'e çöker .NP#P#P⊆FPNP[O(logn)]PNP[O(logn)]
Yukarıda olduğunu varsayarsanız , beklenmedik bir sonuç elde edersiniz. # P'nin bir N P oracle ile 2 n o ( 1 ) zamanda hesaplanabileceğini göstereceksiniz . Örneğin, E X P N P ≠ P P ve ardından E X P N P ⊄ P / p o l y olduğunu kanıtlamak için fazlasıyla yeterlis(n)=2no(1)#P2no(1)NPEXPNP≠PPEXPNP⊄P/poly. Bu ayrımların olası olmadığı değil , Kalıcı için bir subexp time oracle algoritması vererek kanıtlanmaları pek olası görünmüyor .NP
Bu arada, burada çok anlayışlı bir şey söylemedim. Literatürde neredeyse böyle bir argüman var.