Класифікація рандомізованих алгоритмів


14

З Вікіпедії про рандомізовані алгоритми

Слід розрізняти алгоритми, які використовують випадковий вхід для зменшення очікуваного часу роботи або використання пам'яті, але завжди закінчуються правильним результатом у обмеженій кількості часу, та ймовірнісними алгоритмами , які залежно від випадкового введення мають шанс створення неправильного результату (алгоритми Монте-Карло) або невдача результату (алгоритми Лас-Вегаса) або сигналізуючи про помилку, або не вдалося припинити.

  1. Мені було цікаво, як алгоритми першого типу « використовують випадковий вхід для зменшення очікуваного часу роботи або використання пам’яті, але завжди закінчуються з правильним результатом через обмежений проміжок часу?
  2. Які відмінності між алгоритмами Лас-Вегаса, які можуть не дати результату?
  3. Якщо я правильно розумію, ймовірнісні алгоритми та рандомізовані алгоритми - це не те саме поняття. Імовірнісні алгоритми - це лише один вид рандомізованих алгоритмів, а інший - ті, хто використовує випадковий вхід для зменшення очікуваного часу роботи або використання пам'яті, але завжди закінчується правильним результатом у обмеженій кількості часу?

Відповіді:


12
  1. О(н2)О(нжурналн)О(н2)О(нжурналн)

  2. Це дає підмножину алгоритмів Лас-Вегаса. Алгоритми Лас-Вегаса також передбачають можливість того, що (з низькою ймовірністю) він може взагалі не припинятися - не просто припиняти з трохи більше часу.

  3. Вони, в свою чергу, є лише типом алгоритму Монте-Карло, де відповідь може бути невірною (з низькою ймовірністю), яка, принаймні, концептуально відрізняється від, можливо, не відповідає.

Звичайно, я залишив безліч деталей, можливо, ви захочете переглянути класи складності ZPP, RP та BPP, які формалізують ці ідеї.


Спасибі! Тож рандомізовані алгоритми, алгоритми Монте-Карло та ймовірнісні алгоритми - це одне і те ж поняття?
Тім

Так, хоча алгоритми Монте-Карло - це специфічний тип імовірнісного алгоритму (відповідний класу BPP - є й інші класи, такі як PP, які є ймовірнісними, але - ймовірно! - містять більше BPP). Я не впевнений, чому це речення є у статті вікіпедії, можливо, хтось заплутався в імовірнісному аналізі, який є дещо іншим.
Люк Матхісон

8

Два терміни рандомізовані алгоритми та ймовірнісні алгоритми використовуються у двох різних контекстах. Рандомізовані алгоритми - це алгоритми, що використовують випадковість, в протиріччі з детермінованими алгоритмами , яких немає. Імовірнісні алгоритми , наприклад, ймовірнісні алгоритми для тестування первинності - це алгоритми, які використовують випадковість і можуть зробити помилку з деякою (сподіваюсь) невеликою ймовірністю.

Слід зробити важливе розмежування між алгоритмами Монте-Карло та алгоритмами Лас-Вегаса . Алгоритми Лас-Вегаса - це рандомізовані алгоритми, які завжди повертають правильну відповідь, але час їх роботи залежить від кидання монети. Прикладом є цілочисельні алгоритми факторингу - вони завжди повертають правильні фактори, але їх час роботи залежить від випадковості. Заявляючи час роботи алгоритму Лас-Вегаса (скажімо, алгоритм факторингу), ми фактично констатуємо очікуваний час роботи; якщо нам не пощастить, алгоритм може працювати довше.

Алгоритми Монте-Карло, з іншого боку, є рандомізованим алгоритмом, час роботи якого встановлено достроково. Такі алгоритми можуть помилитися, але зазвичай ймовірність помилок дуже низька. Хорошим прикладом є імовірнісне тестування первинності. Ці алгоритми дуже швидкі, але можуть помилитися. Однак вірогідність помилок є низькою, тому що на практиці вони ніколи не помиляються.

Кожен алгоритм Лас-Вегаса можна перетворити на алгоритм Монте-Карло, зупинивши його виконання через досить тривалий час, тому алгоритми Лас-Вегаса в певному сенсі «кращі», ніж алгоритми Монте-Карло.


Чи можете ви навести посилання на ці визначення?
Р. Шопен

У Вікіпедії повинні бути відповідні посилання.
Yuval Filmus
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.