Klasifikasi algoritma acak

14

Dari Wikipedia tentang algoritma acak

Kita harus membedakan antara algoritma yang menggunakan input acak untuk mengurangi waktu berjalan yang diharapkan atau penggunaan memori, tetapi selalu berakhir dengan hasil yang benar dalam jumlah waktu yang terbatas, dan algoritma probabilistik , yang, tergantung pada input acak, memiliki peluang menghasilkan hasil yang salah (algoritma Monte Carlo) atau gagal menghasilkan hasil (algoritma Las Vegas) baik dengan menandakan kegagalan atau gagal untuk mengakhiri.

  1. Saya bertanya-tanya bagaimana jenis pertama " algoritma menggunakan input acak untuk mengurangi waktu berjalan yang diharapkan atau penggunaan memori, tetapi selalu berakhir dengan hasil yang benar dalam jumlah waktu yang terbatas?
  2. Apa perbedaan antara itu dan algoritma Las Vegas yang mungkin gagal menghasilkan hasil?
  3. Jika saya mengerti dengan benar, algoritma probabilistik dan algoritma acak bukanlah konsep yang sama. Algoritma probabilitas adalah hanya satu jenis algoritma acak, dan jenis lainnya adalah yang menggunakan input acak untuk mengurangi waktu berjalan yang diharapkan atau penggunaan memori, tetapi selalu berakhir dengan hasil yang benar dalam jumlah waktu yang terbatas?
Tim
sumber

Jawaban:

12
  1. HAI(n2)HAI(ncatatann)HAI(n2)HAI(ncatatann)

  2. Ini memberikan subset dari algoritma Las Vegas. Algoritma Las Vegas juga memungkinkan untuk kemungkinan bahwa (dengan probabilitas rendah) itu mungkin tidak berakhir sama sekali - tidak hanya berakhir dengan sedikit lebih banyak waktu.

  3. Ini pada gilirannya benar-benar hanya jenis algoritma Monte Carlo, di mana jawabannya bisa salah (dengan probabilitas rendah), yang setidaknya secara konseptual berbeda dengan mungkin tidak menjawab.

Ada banyak detail yang saya tinggalkan tentu saja, Anda mungkin ingin mencari kelas kompleksitas ZPP, RP dan BPP, yang meresmikan ide-ide ini.

Luke Mathieson
sumber
Terima kasih! Jadi algoritma acak, algoritma Monte Carlo, dan algoritma probabilistik adalah konsep yang sama?
Tim
Ya, meskipun algoritma Monte Carlo adalah tipe spesifik dari algoritma probabilistik (sesuai dengan kelas BPP - ada kelas lain seperti PP yang probabilistik, tetapi - mungkin! - mengandung lebih dari BPP). Saya tidak yakin mengapa kalimat itu ada di artikel wikipedia, mungkin seseorang bingung dengan analisis probabilistik, yang merupakan sesuatu yang berbeda.
Luke Mathies
8

Dua istilah algoritma acak dan algoritma probabilistik digunakan dalam dua konteks yang berbeda. Algoritma acak adalah algoritma yang menggunakan keacakan, bertentangan dengan algoritma deterministik yang tidak. Algoritma probabilistik , misalnya algoritma probabilistik untuk pengujian primality, adalah algoritma yang menggunakan keacakan dan dapat membuat kesalahan dengan beberapa (semoga) probabilitas kecil.

Perbedaan penting harus dibuat antara algoritma Monte Carlo dan algoritma Las Vegas . Algoritma Las Vegas adalah algoritma acak yang selalu mengembalikan jawaban yang benar, tetapi waktu menjalankannya bergantung pada lemparan koin. Contohnya adalah algoritma anjak integer - mereka selalu mengembalikan faktor yang benar, tetapi waktu berjalan mereka tergantung pada keacakan. Ketika menyatakan waktu berjalan dari algoritma Las Vegas (katakanlah algoritma anjak piutang), kami sebenarnya menyatakan waktu berjalan yang diharapkan ; jika kita kurang beruntung, algoritma bisa berjalan lebih lama.

Algoritma Monte Carlo, di sisi lain, adalah algoritma acak yang waktu berjalannya ditetapkan terlebih dahulu. Algoritme seperti itu dapat membuat kesalahan, tetapi biasanya probabilitas kesalahannya sangat rendah. Contoh yang baik adalah pengujian primality probabilistik. Algoritma ini sangat cepat tetapi bisa membuat kesalahan. Namun, probabilitas kesalahan lambat rendah sehingga dalam praktiknya, mereka tidak pernah membuat kesalahan.

Setiap algoritma Las Vegas dapat dikonversi ke algoritma Monte Carlo dengan menghentikan eksekusi setelah waktu yang cukup lama, sehingga algoritma Las Vegas dalam beberapa hal "lebih baik" daripada algoritma Monte Carlo.

Yuval Filmus
sumber
Bisakah Anda mengutip referensi untuk definisi ini?
R. Chopin
Wikipedia harus memiliki beberapa referensi yang relevan.
Yuval Filmus