Misalkan algoritma acak menggunakan bit acak. Probabilitas kesalahan terendah yang dapat diharapkan seseorang (gagal algoritma deterministik dengan 0 kesalahan) adalah . Algoritma acak mana yang mencapai probabilitas kesalahan seminimal itu?
Beberapa contoh yang muncul di pikiran adalah:
- Algoritma sampling, misalnya, di mana orang ingin memperkirakan ukuran set yang dapat diperiksa keanggotaannya. Jika satu sampel secara seragam secara acak elemen untuk memeriksa, ikatan Chernoff menjamin probabilitas kesalahan kecil secara eksponensial.
- Algoritma Karger-Klein-Tarjan untuk menghitung pohon spanning minimum. Algoritme memilih setiap sisi dengan probabilitas 1/2, dan secara rekursif menemukan MST dalam sampel. Orang dapat menggunakan Chernoff untuk berargumen bahwa secara eksponensial tidak mungkin akan ada 2n + 0,1 m dari tepi yang lebih baik daripada pohon (yaitu, seseorang akan lebih suka untuk mengambilnya dari salah satu tepi pohon).
Bisakah Anda memikirkan contoh lain?
Mengikuti jawaban Andras di bawah ini: Memang, setiap algoritme waktu polinomial dapat dikonversi menjadi algoritme waktu polinomial yang lebih lambat dengan probabilitas kesalahan yang kecil secara eksponensial. Fokus saya adalah pada algoritma yang seefisien mungkin. Secara khusus, untuk dua contoh yang saya berikan ada algoritma waktu polinomial deterministik yang memecahkan masalah. Ketertarikan pada algoritma acak adalah karena efisiensinya.
sumber
Jawaban:
Impagliazzo dan Zuckerman membuktikan (FOCS'89, lihat di sini ) bahwa jika algoritma BPP menggunakan bit acak untuk mencapai probabilitas kebenaran setidaknya 2/3, maka, menerapkan jalan acak pada grafik expander, ini dapat ditingkatkan menjadi probabilitas kebenaran. dari 1 - 2 - k , menggunakan bit acak O ( r + k ) . ( Catatan: sementara penulis menggunakan konstanta spesifik 2/3 dalam abstrak, ia dapat diganti dengan konstanta lain yang lebih besar dari 1/2.)r 1−2−k O(r+k)
Jika kita mengambil , cara ini bahwa setiap algoritma BPP yang mencapai probabilitas kesalahan konstan < 1 / 2 , menggunakan r bit acak, bisa (non-trivial) ditingkatkan untuk memiliki probabilitas kesalahan 2 - Ω ( r ) . Jadi, (kecuali saya salah paham sesuatu), probabilitas kesalahan ≤ 2 - Ω ( r ) dapat dicapai untuk setiap masalah di BPP.k=r <1/2 r 2−Ω(r) ≤2−Ω(r)
sumber
Saya tidak yakin ini yang Anda cari, tetapi ini terkait:
However, we are running the Miller-Rabin test on random inputs, so we can use an average-case error guarantee. We get a much better bound. In particular, fort=1 ,
See Erdös and Pomerance (1986), Kim and Pomerance (1989), and Dåmgard, Landrock, and Pomerance (1993) for more details.
This is not a decision problem and the amount of randomness used isO(k2) bits (although I suspect this can be easily reduced to O(k) ). However, it's an interesting example where we get exponentially-small failure probability naturally.
sumber