Perkiraan masalah # P-hard

9

Pertimbangkan masalah klasik # P-complete # 3SAT, yaitu untuk menghitung jumlah penilaian untuk membuat 3CNF dengan variabel yang memuaskan. Saya tertarik pada perkiraan aditif . Jelas, ada algoritma sepele untuk mencapai 2 ^ {n-1} -error, tetapi jika k <2 ^ {n-1} , apakah mungkin untuk memiliki algoritma perkiraan yang efisien, atau masalah ini juga # P-hard ?n2n1k<2n1

pengguna0928
sumber
Jika k=2n1poly(n) , maka ada algoritma poly-time dengan additive error k . Jika k=2n/poly(n) , maka akan ada algoritma waktu-acak secara acak dengan kesalahan aditif k . Ketika k secara signifikan lebih kecil (tetapi tidak secara polinomi kecil), saya berharap itu menjadi NP-hard, tetapi tidak # P-hard, karena #P hardness biasanya bergantung pada itu menjadi perhitungan yang tepat.
Thomas
Bisakah Anda memberikan referensi untuk dua klaim pertama? Maaf saya pemula ...
user0928

Jawaban:

10

Kami tertarik pada perkiraan aditif ke # 3SAT. yaitu diberi 3CNF ϕ pada n variabel menghitung jumlah tugas yang memuaskan (sebut ini a ) hingga kesalahan aditif k .

Berikut adalah beberapa hasil dasar untuk ini:

Kasus 1: k=2n1poly(n)

Di sini ada algoritma waktu-deterministik: Misalkan . Sekarang evaluasi pada input sembarang (misal input pertama secara leksikografis ). Misalkan dari input ini memenuhi . Kemudian kita tahu karena setidaknya ada tugas yang memuaskan dan karena setidaknya ada tugas yang tidak memuaskan. Panjang interval ini adalah . Jadi jika kita menampilkan titik tengah ini berada dalamm=2n2k=poly(n)ϕmmϕaa2n(m)m2n(m)=2k2n1m/2+k dari jawaban yang benar, seperti yang dipersyaratkan.

Kasus 2: k=2n/poly(n)

Di sini kami memiliki algoritma waktu-acak: Evaluasi pada titik acak . Biarkan dan . Kami menghasilkan . Agar ini memiliki kesalahan paling banyak kita perlu yang setara denganDengan ikatan Chernoff , sepertiϕmX1,,Xm{0,1}nα=1mi=1mϕ(Xi)ε=k/2n2nαk

k|2nαa|=2n|αa/2n|,
|αa/2n|ε.
P[|αa/2n|>ε]2Ω(mε2),
E[ϕ(Xi)]=E[α]=a/2n. Ini menyiratkan bahwa, jika kita memilih (dan memastikan adalah kekuatan ), maka dengan probabilitas setidaknya , kesalahan paling banyak adalah .m=O(1/ε2)=poly(n)m20.99k

Kasus 3: untukk=2cn+o(n)c<1

Dalam hal ini masalahnya adalah # P-hard: Kami akan melakukan pengurangan dari # 3SAT. Ambil 3CNF pada variabel . Pilih sedemikian hingga - ini membutuhkan . Biarkan kecuali sekarang pada variabel, bukan . Jika memiliki tugas yang memuaskan, maka memiliki tugas yang memuaskan, karena variabel "bebas" dapat mengambil nilai apa pun dalam tugas yang memuaskan. Sekarang misalkan kita memiliki sehinggaψmnmk<2nm1n=O(m/(1c))ϕ=ψϕnmψbϕb2nmnma^|a^a|k - yaitu adalah perkiraan jumlah penugasan yang memuaskan dari dengan kesalahan aditif . Kemudian Karena adalah bilangan bulat, ini berarti kita dapat menentukan nilai tepat dari . Secara algoritmik menentukan nilai pasti mencakup pemecahan masalah # P-complete # 3SAT. Ini berarti bahwa # P-sulit untuk menghitung .a^ϕk

|ba^/2nm|=|aa^2nm|k2nm<1/2.
bba^ba^
Thomas
sumber