Algoritme acak mana yang memiliki probabilitas kesalahan kecil secara eksponensial?

15

Misalkan algoritma acak menggunakan r bit acak. Probabilitas kesalahan terendah yang dapat diharapkan seseorang (gagal algoritma deterministik dengan 0 kesalahan) adalah 2Ω(r) . 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.

Dana Moshkovitz
sumber
1
Bukan jawaban yang lengkap, tetapi ada beberapa pekerjaan dalam aljabar linear numerik acak. youtube.com/watch?v=VTroCeIqDVc
Baby Dragon
Mungkin kita tidak bisa mengharapkannya , tetapi kita tentu bisa berharap (masih "gagal algoritma deterministik dengan 0 kesalahan") bahwa untuk semua bilangan real c, jika c<1 lalu ada algoritma yang probabilitas kesalahannya 2cr. Saya percaya Pengujian Identitas Polinomial adalah masalah seperti itu.
@ RickyDemer Saya tidak mengerti komentar Anda. Algoritma acak yang biasa untuk PIT memiliki kesalahan yang tidak eksponensial dalam keacakan. jadi apa yang kamu katakan? Apakah Anda mengatakan bahwa mungkin ada algoritma seperti itu untuk masalah BPP?
Sasho Nikolov
Saya sekarang menyadari bahwa saya tidak benar-benar melihat cara untuk menunjukkan bahwa PIT ada di kelas yang saya jelaskan. Di sisi lain, membiarkan menjadi super polinomial dalam d (yaitu, membiarkan panjang (S) menjadi panjang superlinear (d)) sudah cukup untuk lemma Schwartz-ZippelSd (lanjutan ...)
1
Banyak konstruksi metode probabilsitic memiliki perilaku seperti itu, bukan? Misalnya, memilih satu set string biner acak, dan mencari pasangan terdekat mereka - probabilitas bahwa akan ada dua string dalam jarak lebih kecil dari sangat kecil. -------------------------------------------------- ----------------------- Dalam semangat jawaban BPP di bawah: Diberi expander derajat konstan, dengan n simpul, dan n / 2 simpul bertanda, probabilitas jalan acak panjang O ( t ) untuk melewatkan titik yang ditandai adalah 2 - Ω ( t ) , jika t = Ω (n/4n/2O(t)2Ω(t) . t=Ω(logn)
Sariel Har-Peled

Jawaban:

18

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.)r12kO(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/2r2Ω(r)2Ω(r)

Andras Farago
sumber
6
Masalah dengan teknik amplifikasi seperti itu adalah mereka memperlambat algoritme. Algoritma baru hanya dapat menggunakan bit acak O (r), tetapi waktu menjalankannya adalah r kali (original-run-time). Jika r adalah, katakanlah, paling tidak linear dalam ukuran input n (yang biasanya), Anda hanya memperlambat algoritma dengan faktor n. Itu bukan sesuatu yang akan membuat sebagian besar algoritme senang ...
Dana Moshkovitz
2

Saya tidak yakin ini yang Anda cari, tetapi ini terkait:

kktpk,t

t4t

halk,tHAI(k4t).

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, for t=1,

pk,12(1o(1))klnlnklnk2Ω~(k).
That is to say, we get an exponentially-small failure probability with only one repetition of the test!

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 is O(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.

Thomas supports Monica
sumber