Masalah Penguji (pembuatan contoh / jawaban keputusan SAT yang seragam)

11

Asisten mengajar mata kuliah telah berhasil menulis sebuah program yang (secara deterministik) menghasilkan pertanyaan-pertanyaan ujian yang sulit. Sekarang, dia ingin menulis sebuah program yang menghasilkan jawaban yang sesuai. Masalah Penguji menanyakan apakah ini selalu mungkin; yang Pemeriksa Dugaan menyatakan bahwa, dengan asumsi, , itu tidak : datang dengan masalah ini lebih mudah daripada datang dengan solusi mereka.PNP

Lebih formal, misalkan menjadi Mesin Turing deterministik yang, pada input 1 n , menghasilkan dalam waktu polinomial formula Boolean ukuran n . Saya ingin tahu apakah, untuk semua M seperti itu , terdapat mesin Turing polinomial waktu deterministik M yang, pada input 1 n , menghasilkan " 1 " jika M ( 1 n ) memiliki tugas yang memuaskan dan " 0 " jika tidak .M1nnMM1n1M(1n)0

Dengan asumsi , apakah pertanyaan ini sudah ditanyakan atau dijawab? Jika tidak dijawab, asumsi tambahan macam apa ( mis. Fungsi satu arah?) Yang mungkin terjadi pada hasilnya? Kecuali salah satu di atas, "dugaan" saya adalah bahwa "jawab" TM tidak selalu ada, tetapi apa intuisi Anda?PNP

Terima kasih!

usul
sumber
Biarkan saya memastikan saya memiliki bilangan benar. Apakah Anda bertanya jika "untuk semua , ada sebuah M ' , sehingga M ' efisien dapat memecahkan output dari M " adalah benar? MMMM
Tyson Williams
@TysonWilliams: Ya, saya telah sedikit mengedit kata-katanya untuk menjelaskannya. Pernyataan Anda harus, saya pikir, setara dengan pernyataan saya!
usul
1
Seperti yang Emanuele tunjukkan, ini mungkin bukan yang benar-benar Anda cari, Anda mungkin ingin membuat pasangan solusi-instan di mana penyelesaian instansinya "sulit". Mungkin terkait dengan apa yang Anda cari: 1. Jawaban David di sini dan 2. Bagian 6 dari Stephen A. Cook dan David G. Mitchell, " Menemukan Contoh Sulit dari Masalah Kepuasan: Suatu Survei ", 1997
Kaveh

Jawaban:

12

Pertanyaan yang Anda ajukan setara dengan NP unary = unary P, yang pada gilirannya setara dengan NE = E, oleh padding.

Dari judul, mungkin Anda bermaksud bertanya apakah mungkin untuk menghasilkan pasangan input / output sedemikian rupa sehingga distribusi pada input tersebut "sulit." Kemungkinan melakukan ini terletak di suatu tempat antara P NP dan fungsi satu arah ada.

Dalam model komputasi terbatas, diketahui bahwa ini mungkin. Misalnya seseorang dapat menghasilkan pasangan input / output untuk fungsi paritas atau mayoritas di AC 0 atau di bawah. Lihat Kompleksitas distribusi .0

Manu
sumber
1
Bisakah Anda menjelaskan mengapa itu setara? ... Dengan "seragam", maksud saya "model komputasi seragam" - jika kita menanyakan pertanyaan tentang rangkaian, jawabannya akan sepele ya : setiap akan meng-hardcode baik satu atau nol, tergantung pada apakah M n memuaskan atau tidak. MnMn
usul
4
Setiap memberikan penghitungan bahasa dalam NP: L M = { 1 n : M ( 1 n )  memuaskan. } . Jadi jika unary-NP sama dengan unary-P, maka M ' adalah mesin yang memutuskan L M . Di arah lain, ambil bahasa penghitungan dalam NP dan ambil M menjadi mesin yang menguranginya menjadi SAT. Jika M ada, maka bahasa penghitungan juga dalam P, jadi unary P = unary NP. Untuk kesetaraan kedua Anda dapat memeriksa Hartmanis et al. (tapi satu arah sangat mudah) dl.acm.org/citation.cfm?id=808769MLM={1n:M(1n) is satisfiable.}MLMMM
Sasho Nikolov
4

Pertanyaan: Biarkan menghasilkan formula. Apakah { M ( 1 n ) n NM ( 1 n ) S A T } milik P ?MPF{M(1n)nNM(1n)SAT}P

succinctSATE Iya:

Asumsi tentang pembuatan rumus dalam waktu polinomial dari berarti bahwa rumus tersebut dapat diberikan secara ringkas . Anda ingin menentukan kepuasan mereka dalam waktu n O ( 1 ) .1nnO(1)

Dengan kita dapat menemukan n dalam waktu polinomial dalam | φ | . Kemudian φ dapat dinyatakan secara singkat dalam lg n + O ( 1 ) bit menggunakan M dan n . Kita dapat menggunakan kami s u c c i n t S A T algoritma dalam E untuk memutuskan ini dalam waktu 2 O ( lg n ) = n Oφ=M(1n)n|φ|φlgn+O(1)MnsuccintSATE .2O(lgn)=nO(1)

Iya :succinctSATE

Biarkan st memberikan sirkuit C di unary , M menghitung string dengan ringkas yang dikodekan oleh C , dan mengembalikan hasilnya jika itu adalah rumus dan jika tidak.MPFCMC

Asumsikan bahwa milik P . Untuk mengatasi s u c c i n c t S A T kita menulis rumus singkat yang diberikan di unary dan kemudian menggunakan asumsi kita untuk menyelesaikannya.{M(1n)nNM(1n)SAT}PsuccinctSAT

Pertanyaan: Bisakah kita menghasilkan pasangan solusi-waktu polinomial-waktu untuk sehingga turunannya sulit?SAT

Kita harus mengklarifikasi apa yang kita maksud dengan instance menjadi sulit karena instance apa pun dengan sendirinya (secara teoritis) mudah karena dapat diselesaikan dengan algoritma yang selalu mengatakan ya atau algoritma yang selalu mengatakan tidak. Tampak bagi saya bahwa Anda mencoba untuk mengatasi masalah ini dengan memaksakan keseragaman. Berpikir dalam istilah kriptografis, tanpa beberapa informasi yang tidak diungkapkan kepada musuh, tidak ada gunanya menyembunyikan sisa perhitungan karena musuh dapat mensimulasikan protokol.

Asumsikan bahwa kita memiliki algoritma waktu polinomial yang menghasilkan pasangan solusi-instan. Musuh dapat menggunakan algoritma yang sama untuk menemukan jawabannya jika ia tahu dan menemukan n tidak sulit dari rumus. Cara yang lebih masuk akal adalah dengan menggunakan kunci rahasia yang dipilih secara acak untuk mengatasi ini dan mengendurkan kondisi kekerasan menjadi probabilistik: tidak ada algoritma waktu polinomial yang dapat menemukan solusi dengan probabilitas tinggi (tanpa mengetahui kunci rahasia).nn

Apakah ada yang efisien (deterministik) algoritma sehingga diberi dipilih secara acak k { 0 , 1 } n , menghasilkan sepasang dari SAT contoh φ k dan jawabannya w k sehingga tidak ada yang efisien (probabilistik / seragam) algoritma musuh D dapat dengan benar memecahkan instance SAT yang dihasilkan oleh A dengan probabilitas yang tidak dapat diabaikan?A
k{0,1}n
φkwk
D
A

Atau lebih formal,

Apakah ada sehingga untuk semua D P / p o l y , sehingga S A T ( A ( k ) 1 ) = A ( k ) 2 untuk semua k dan P r k { 0 , 1 } n { D ( A ( k ) 1 ) = S A TAPFDP/polySAT(A(k)1)=A(k)2k

Prk{0,1}n{D(A(k)1)=SAT(A(K)1)}<1poly(n)

Mudah untuk melihat bahwa fungsi seperti itu dapat diubah menjadi fungsi satu arah seolah-olah mudah untuk menemukan dari φ k maka kita dapat menemukan jawabannya dengan menghitung A ( k ) 2 .kφkA(k)2

Di sisi lain, biarkan menjadi fungsi satu arah. Kita dapat menyatakan f ( x ) = y sebagai sirkuit ukuran polinomial karena f dapat dihitung dalam waktu polinomial (dan kita dapat mengubahnya menjadi rumus dengan memperkenalkan variabel baru untuk semua gerbang dan secara lokal menegakkan kondisi untuk kebenaran perhitungan) seperti dalam terjemahan Tsien). Mari kita anggap y sebagai parameter dan tunjukkan rumus yang dihasilkan sebagai φ f , y ( x ) . Kita dapat bertanya apakah ada x yang memenuhi φ f , y ( x )ff(x)=yfyφf,y(x)xφf,y(x). Algoritma waktu polinomial apa pun yang memecahkan instance dengan probabilitas yang tidak dapat diabaikan akan memecah fungsi satu arah f . Namun ini menggunakan fakta bahwa musuh perlu menemukan saksi bukan hanya fakta bahwa formula itu memuaskan atau tidak (tapi saya pikir kita bisa menyelesaikan masalah ini dengan menggunakan hard-bit f ).SATff

Lihat juga bab 29 dan 30 buku Jan Krajicek "Memaksa dengan Variabel Acak", 2011 tentang generator kompleksitas bukti .

Kaveh
sumber
M