Algoritma penugasan acak dapat derandomized (dibuat deterministik) menggunakan metode ekspektasi bersyarat.
Biarkan instance 3SAT terdiri dari klausa C1,…,Cm. Selama algoritma, kami akan memberikan nilai ke variabel. The skor klausaC didefinisikan sebagai berikut:
- Jika C puas maka nilainya adalah 1.
- Jika C tidak puas dan telah k literal yang belum ditetapkan maka nilainya adalah 1−2−k.
Awalnya skor setiap klausa adalah 1−2−3=7/8, dan total skornya adalah (7/8)m. Kami sekarang memberikan nilai ke variabelx1,…,xndalam urutan. Misalkan kita telah menetapkan nilai ke variabelx1,…,xi−1, dan skor total saat ini adalah S=S(C1)+⋯+S(Cm). MembiarkanS0,S1 skor total jika kita menetapkan nilai 0,1 (masing-masing) ke xi. Saya mengklaim ituS0(C)+S1(C)=2S(C) untuk setiap klausa C, dan sebagainya S0+S1=2S. Memang:
- Jika C puas (hanya diberikan x1,…,xi−1) atau tidak mengandung xi kemudian S0(C)+S1(C)=2S(C).
- Seandainya C mengandung k literal yang belum ditetapkan, termasuk xi. KemudianS(C)=1−2−k, S0(C)=1−2−(k−1), dan S1(C)=1. Karena itu
S0(C)+S1(C)=[1−2⋅2−k]+1=2(1−2−k)=2S(C).
- Argumen serupa bekerja ketika C mengandung x¯i.
Sejak S0+S1=2S, antara S0≥S atau S1≥S(mungkin keduanya). Karena itu ada beberapa tugas untukS sedemikian rupa sehingga setelah penugasan, skor baru setidaknya S.
Skor awal adalah (7/8)mdan algoritma memastikan bahwa skor tidak pernah berkurang. Pada akhirnya, skor klausaC adalah 1 jika sudah puas dan 1−2−0=0jika tidak. Dengan demikian tugas akhir memuaskan setidaknya(7/8)m klausa.
Mengingat ada algoritma deterministik, mengapa kita tertarik pada yang acak? Ada beberapa alasan:
- Algoritma acak jauh lebih sederhana.
- Algoritma acak berpotensi lebih cepat.
- Algoritma acak dapat dikonversi menjadi deterministik menggunakan metode ekspektasi bersyarat; kita dapat menganggapnya sebagai resep untuk membangun algoritma deterministik.
Lebih umum, hal ini diduga bahwa setiap algoritma polytime acak untuk masalah keputusan dapat diderandomisasi (ini adalah P=BPPdugaan). Algoritma acak masih akan menarik karena semua alasan yang disebutkan di atas.