Masalah mudah dengan versi penghitungan yang sulit

20

Wikipedia memberikan contoh masalah di mana versi penghitungannya sulit, sedangkan versi keputusannya mudah. Beberapa di antaranya menghitung kecocokan sempurna, menghitung jumlah solusi untuk -SAT dan jumlah penyortiran topologi.2

Apakah ada kelas penting lainnya (misalnya contoh dalam kisi, pohon, teori bilangan dan sebagainya)? Apakah ada ringkasan masalah seperti itu?

Ada banyak jenis masalah dalam yang memiliki versi penghitungan yang sulit.# PP#P

Apakah ada versi masalah alami dalam yang lebih sepenuhnya dipahami atau lebih sederhana daripada pencocokan sempurna bipartit umum (harap sertakan detail mengapa lebih sederhana seperti terbukti di kelas terendah dari hierarki dan sebagainya) di beberapa area lainnya (seperti teori bilangan, kisi-kisi) atau paling tidak untuk grafik bipartit sederhana tertentu, yang versi hitungnya ?P# PNC#P

Contoh dari kisi, polytopes, penghitungan titik, teori bilangan akan dihargai .

T ....
sumber
1
Mungkin Anda menginginkan masalah alami , karena [dengan pengurangan dari #SAT, masalah yang # P-hard di bawah [reduksi yang mengalikan jawaban dengan angka bukan nol] memiliki masalah keputusan sulit-HP] dan [oleh fungsi identitas, {x: x adalah 1+ (number_of_variables_ ( )) satu atau [nol diikuti oleh penugasan yang memuaskan ke ]} adalah # P-hard di bawah tipe pengurangan berikutnya yang paling ketat, tetapi versi keputusannya sepele]. ϕϕϕ
@ RickyDemer tulisan Anda ringkas. Ya saya ingin masalah alami.
T ....
Apakah kita benar-benar tidak sepenuhnya memahami pencocokan sempurna dalam grafik bipartit? Juga, ada algoritma RNC2 untuk masalah tersebut.
Sasho Nikolov
1
Ya kami tidak. Kami tidak memiliki algoritme deterministik . NC
T ....

Jawaban:

8

Inilah contoh yang sangat bagus (saya mungkin bias).

Diberikan seperangkat yang dipesan sebagian:
a) apakah ia memiliki ekstensi linier (yaitu, pesanan total yang kompatibel dengan pesanan parsial)? Sepele: Semua poset memiliki setidaknya satu ekstensi linier
b) Berapa banyak yang dimilikinya? # P-lengkapi untuk menentukan ini (Brightwell dan Winkler, Counting Linear Extensions , Order, 1991)
c) Bisakah kita menghasilkan semuanya dengan cepat? Ya, dalam waktu diamortisasi konstan (Pruesse dan Ruskey, Menghasilkan Ekstensi Linear Cepat , SIAM J Comp 1994)

Gara Pruesse
sumber
3
+1: Saya setuju itu adalah contoh yang sangat bagus (berpikir untuk mempostingnya sendiri dan kemudian melihat jawaban ini). Juga, jangan sampai seseorang berkata "Bagaimana kalau memutuskan apakah ada setidaknya satu ekstensi linear lainnya ", masalah itu juga sangat sepele: total order memiliki 1 ekstensi, semua poset lainnya memiliki> 1. Dan mendeteksi dengan tepat 2 ekstensi juga mudah (ini terjadi jika ada tepat sepasang elemen yang tak tertandingi). Bahkan, ada klasifikasi lengkap dari poset dengan hingga 7 ekstensi linear (lihat Hanamura-Iwata, IPL 2011 ).
Joshua Grochow
Ini memang contoh yang bagus. Namun ada banyak masalah "sederhana" yang menikmati jenis properti yang sama (lebih sederhana dalam arti bahwa properti ini hampir sepele untuk dibuktikan). Menghitung jumlah penugasan yang memuaskan dari DNF: a) setiap DNF yang tidak kosong memuaskan b) penghitungan adalah # P-selesai (reduksi ke #SAT) c) pencacahan dapat dilakukan dengan penundaan polinomial (waktu diamortisasi yang mungkin konstan, miliki untuk memikirkannya)
holf
Saya akan sangat tertarik mengetahui apakah tugas memuaskan DNF dapat dihasilkan dalam waktu diamortisasi konstan (CAT). Pada saat itu dan tulisan saya dengan Frank, pada tahun 1994, ekstensi linier adalah objek "terdefinisi secara alami" pertama yang penghitungannya sulit dan pembangkitannya secepat yang didapat, ketika diamortisasi (yaitu, CAT). Solusi DNF sepertinya juga kandidat untuk hal ini. Adakah yang punya referensi?
Gara Pruesse
@ GaraPruesse Saya tidak punya referensi untuk itu. Untuk monoton-DNF, itu setara dengan menghitung set himpunan hypergraphs dan beberapa teknik untuk meningkatkan penundaan disajikan dalam "Algoritme yang efisien untuk menggandakan hipergraf skala besar" oleh Keisuke Murakami dan Takeaki Uno dl.acm.org/citation.cfm? id = 2611867 . Kita harus memeriksa apakah itu memberi CAT. Untuk DNF, intuisi saya adalah bahwa jika ada klausa kecil maka Anda sudah memiliki solusi yang cukup untuk memaksa kasar. Jika tidak, Anda hanya memiliki klausa besar dan yang kemudian lebih cenderung berbenturan dan yang dapat digunakan untuk merancang algoritma CAT.
Serigala
17

Salah satu contoh menarik dari teori bilangan adalah menyatakan bilangan bulat positif sebagai jumlah empat kotak. Ini dapat dilakukan dengan relatif mudah dalam waktu polinomial acak (lihat artikel 1986 saya dengan Rabin di https://dx.doi.org/10.1002%2Fcpa.3160390713 ), dan jika saya ingat dengan benar, sekarang bahkan ada polinomial deterministik-waktu larutan. Tetapi menghitung jumlah representasi seperti itu akan memungkinkan Anda untuk menghitung fungsi jumlah pembagi , yang merupakan waktu polinomial acak yang setara dengan anjak piutang n . Jadi masalah penghitungan mungkin sulit.σ(n)n

Jeffrey Shallit
sumber
"Jadi masalah penghitungan mungkin sulit" maksudmu mungkin keras? apakah kamu punya bukti? #P
T ....
Dengan "mungkin sulit" Maksud saya adalah polinomial-waktu acak setara dengan faktorisasi bilangan bulat.
Jeffrey Shallit
3
Jadi, untuk membuatnya eksplisit: masalahnya bukan # P-hard (kecuali semua neraka longgar).
Emil Jeřábek mendukung Monica
@ JeffreyShallit Apakah ada contoh ? #P
T ....
Saya pikir berikut ini adalah contoh yang lebih sederhana: "Apakah memiliki lebih besar pembagi yang tepat dari 1 " vs "Berapa banyak pembagi yang tepat lebih besar dari 1 tidak n miliki?". Versi keputusan sama dengan " n adalah komposit" sehingga dalam P , tetapi versi penghitungan tidak terlihat lebih mudah daripada memfaktorkan. n11nnP
Dan Brumleve
17

Contoh yang sangat bagus dan sederhana dari Graph Theory adalah menghitung jumlah sirkuit Eularian dalam grafik yang tidak terarah.

Versi keputusannya mudah (... dan masalah Seven Bridges of Königsberg tidak memiliki solusi :-)

Versi penghitungannya adalah # P-hard: Graham R. Brightwell, Peter Winkler: Menghitung Sirkuit Euler adalah # P-Lengkap . ALENEX / ANALCO 2005: 259-262

Marzio De Biasi
sumber
Makalah itu "Pendekatan kami adalah untuk menunjukkan bahwa, dengan bantuan oracle yang menghitung sirkuit Euler, mesin Turing dapat ... dan" Kami ingin menghitung jumlah orientasi Euler dari G . "ayat-break 'Kami membangun untuk setiap prima ganjil p , grafik G p jumlah yang dari bola setara dengan N modulo p .' dan" Kami ulangi proses ini untuk setiap p prima antara m dan m 2 , di mana | E | = m , dan ... "tentu menyarankan bahwa mereka hanya memberikan reduksi paralel, bahkan bukan mNGpGpNpmm2|E|=m -pengurangan kueri. mϵ
@MarzioDeBiasi adalah keputusan sirkuit Euler di NC?
T ....
1
@ AJ. Anda hanya perlu menghitung paritas derajat setiap node dan memeriksa semuanya. Tampaknya berada di NC.
Sasho Nikolov
4
Anda dapat mengambil paritas bit menggunakan rumus ukuran O ( n 2 ) atau sirkuit ukuran linear kedalaman O ( log n ) . Jadi, jika grafik Anda diberikan sebagai matriks adjacency, hitung paritas dari setiap baris, negasikan, dan ambil sebuah AND. DAN dari n bit dapat dilakukan dengan ukuran rumus linear, sehingga secara keseluruhan, Anda mendapatkan O ( n 3 ) ukuran Boolean rumus dan O ( n 2 ) ukuran sirkuit Boolean kedalaman O ( log n )nO(n2)O(logn)nO(n3)O(n2)O(logn)(atas dasar AND-OR). Jadi masalahnya sebenarnya di . NC1
Sasho Nikolov
2
Faktanya, masalahnya ada di . AC0[2]
Emil Jeřábek mendukung Monica
6

Mengenai pertanyaan kedua Anda, masalah-masalah seperti Monoton-2-SAT (memutuskan kepuasaan formula-CNF memiliki paling banyak 2 literal positif berdasarkan klausa) benar-benar sepele (Anda hanya perlu memeriksa apakah formula Anda kosong atau tidak) tetapi masalah penghitungannya adalah # P-hard. Bahkan perkiraan jumlah penugasan yang memuaskan dari formula semacam itu sulit (lihat On hardness of approximate reasoning, Dan Roth, Artificial Intelligence, 1996).

serigala
sumber
5

Dari [Kayal, CCC 2009] : Secara eksplisit mengevaluasi pemusnahan polinomial di beberapa titik

Dari abstrak: `` Ini adalah satu-satunya masalah komputasi alami di mana menentukan keberadaan suatu objek (polinomial pemusnahan dalam kasus kami) dapat dilakukan secara efisien tetapi perhitungan aktual dari objek tersebut terbukti sulit. ''

Mari menjadi bidang dan f = ( f 1 , . . . , F k ) F [ x 1 , . . . , X n ] menjadi satu set k -banyak degree- d n -variate polinomial atas F . Sebuah f -annihilating polinomial yaitu apapun (non-sepele) A st A ( f 1 , . .Ff=(f1,...,fk)F[x1,...,xn]kd nF.fAA(f1,...,fk)=0.

Keputusan mudah: Selama setiap bidang, dan untuk setiap polinomial ( f 1 , . . . , F k ) - jika k n + 1 , ada yang menghancurkan seperti A untuk ( f 1 , . . . , F k ) . ((Melalui argumen penghitungan dimensi.))k(f1,...,fk)kn+1,A(f1,...,fk)

Menghitung sulit: Tentukan memusnahkan-Tarahan sebagai masalah fungsional mengevaluasi polinomial yang menghancurkan pada beberapa titik : Mengingat perdana dan satu set ( f 1 , . . . , F k ) Z [ x 1 , . . . , X n ] yang memiliki minimal monic yang menghancurkan A ( t 1 , . . . , T k ) Zp,(f1,...,fk)Z[x1,...,xn] output bilangan bulat A ( 0 , . . . , 0 ) mod p .A(t1,...,tk)Z[t1,...,tk],A(0,...,0)modp.

ANNIHILATING-EVAL adalah -hard. Selain itu, yang menghancurkan polinomial A ( t 1 , . . . , T k ) tidak memiliki representasi sirkuit kecil kecuali P H runtuh.#PA(t1,...,tk)PH

Daniel Apon
sumber
1
Seperti untuk contoh Marzio, bukti kertas klaim 15.2 tampaknya menunjukkan bahwa mereka hanya menunjukkan kekerasan di bawah pengurangan paralel, daripada bahkan di bawah -pengurangan kueri. mϵ
1
Sumber daya yang saya dapat temukan semuanya tampaknya tidak setuju dengan definisi. Biarkan AE menjadi masalah yang dibahas oleh jawaban Anda. (... lanjutan)
1
(lanjutan ...) saya belum mencoba untuk bekerja tahu lebih tepat apa dasar-kelas yang mereka gunakan, tapi akan cukup terkejut jika hasilnya mereka lebih baik dari #P = ( DLOGTIME-seragam TC 00 ) || AE [n]. (... lanjutan)
1
(lanjutan ...) Sejauh yang saya lihat, itu tidak mengikuti LWPP MP AE [ 3 AE[n3]/poli .
1
Lebih umum, yaitu untuk arbitrary (bahkan kurang dari n ), keputusan itu mudah karena kriteria Jacobian, kan? (Perhatikan bahwa kriteria Jacobian hanya bekerja di karakteristik> m a x d e g f i ; di karakteristik positif kecil, ada kriteria Jacobian dimodifikasi karena Mittman-Saxena-Scheiblechner , tapi itu ternyata hanya mengarah ke N P # P algoritme untuk keputusan ...)knmaxdegfiNP#P
Joshua Grochow