Di atas # P dan menghitung masalah pencarian

14

Saya sedang membaca artikel wikipedia tentang masalah delapan ratu. Dinyatakan bahwa, tidak ada formula yang diketahui untuk jumlah pasti solusi. Setelah beberapa pencarian, saya menemukan sebuah makalah bernama "Pada kesulitan menghitung masalah pemetaan lengkap". Dalam tulisan ini ada masalah, terbukti paling keras seperti #queens, yang melampaui #P. Melihat sekilas jumlah #queens yang dihitung secara mendalam dalam artikel wikipedia, mereka tampak sangat super eksponensial.

Saya ingin bertanya, apakah ada nama untuk kelas ini atau jika secara umum ada penghitungan masalah milik kelas di atas # P (dengan keputusan tidak dalam PSPACE tentu saja karena akan jelas).

Akhirnya, saya ingin bertanya apakah ada hasil lain yang diketahui untuk masalah pencarian lainnya, seperti menemukan titik tiga warna dalam Lemma Sperner misalnya (PPAD selesai).

Paramar
sumber
Mungkin bisa membantu: citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.989
Markus Bläser

Jawaban:

14

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.

Andy Drucker
sumber
1
For your UNSAT example, if it's in GapP, you get that coNP is in SPP, and hence coNP is low for PP - are bad consequences known to follow from this? If it's in #P then in fact coNP is contained in UP :), so coNP=NP=UP=coUP.
Joshua Grochow
Ya, tidak yakin tapi pertanyaan yang bagus.
Andy Drucker
3

In addition to the accepted answer, here is a recent paper (December '14) on the complexity of counting certain restricted models of Linear-time Temporal Logic. Higher, and more esoteric, complexity classes are present in the results shown: variants of the problem are #PSPACE-complete, #EXPTIME-complete, etc.

The Complexity of Counting Models of Linear-time Temporal Logic by Hazem Torfah, Martin Zimmermann

alakh
sumber