Pertanyaan: Biarkan menghasilkan formula. Apakah { M ( 1 n ) ∣ n ∈ N ∧ M ( 1 n ) ∈ S A T } milik P ?M∈PF{M(1n)∣n∈N∧M(1n)∈SAT}P
succinctSAT∈E⟹ 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 :⟹succinctSAT∈E
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.M∈PFCMC⊥
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)∣n∈N∧M(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 TA∈PFD∈P/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 .