Jika fungsi f ada di #P, maka diberi string input x dari beberapa panjang N, nilai f (x) adalah angka non-negatif yang dibatasi oleh . (Ini mengikuti dari definisi, dalam hal jumlah jalur penerimaan verifikasi NP.)2poly(N)
Ini berarti bahwa banyak fungsi f terletak di luar #P untuk alasan yang tidak menarik --- baik karena f negatif, atau, dalam kasus yang Anda sebutkan, karena fungsi tumbuh lebih cepat dari . Tetapi untuk masalah -queens seperti yang dimodelkan dalam makalah, ini hanya sebuah artefak dari keputusan penulis untuk membiarkan nilai input dikodekan dalam biner. Jika input yang diharapkan adalah string unary , maka (jumlah konfigurasi -queen yang valid ) tentu saja berada di #P, oleh verifier NP sederhana yang memeriksa validitas konfigurasi yang diberikan.2poly(N)nn1nf(1n):=n
Jika Anda ingin menjelajahi beberapa fungsi yang (secara dugaan) berada di luar #P untuk alasan yang lebih menarik, pertimbangkan misalnya ini:
- UNSAT: jika adalah formula Boolean yang tidak memuaskan, jika tidak . Fungsi ini tidak dalam #P, kecuali NP = coNP. Mungkin juga tidak termasuk dalam kelas penghitungan GapP yang lebih umum; yaitu, UNSAT mungkin bukan perbedaan f - g dari dua fungsi #P. Namun, itu terletak pada kelas kompleksitas penghitungan yang lebih umum , yang sebenarnya berisi seluruh Hirarki Polinomial oleh teorema Toda.f(ψ):=1ψf(ψ):=0P#P
Anda mungkin tidak menyukai contoh itu karena itu bukan "masalah penghitungan" yang wajar. Namun dua berikutnya adalah:
f(ψ(x,y)):= jumlah penugasan ke sehingga rumus Boolean memenuhi syarat untuk beberapa pengaturan menjadi .xψ(x,⋅)y
f(ψ(x,y)):= the number of x such that, for at least half of all y, ψ(x,y)=1.
The latter two problems are not known to be efficiently computable even with oracle access to #P. However, they are computable within the so-called "counting hierarchy". For some more natural problems classified within this class, see e.g. this recent paper.
Counting Nash equilibria is apparently #P-hard, see here. Also, even problems where the search problem is easy can be #P hard to count, e.g. counting perfect matchings.