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


14

Из Википедии о рандомизированных алгоритмах

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

  1. Мне было интересно, как алгоритмы первого вида используют случайный ввод для уменьшения ожидаемого времени выполнения или использования памяти, но всегда завершаются с правильным результатом в ограниченное количество времени?
  2. Какие различия между ним и алгоритмами Лас-Вегаса, которые могут не дать результата?
  3. Если я правильно понимаю, вероятностные алгоритмы и рандомизированные алгоритмы - это не одно и то же понятие. Вероятностные алгоритмы - это всего лишь один из типов рандомизированных алгоритмов, а другой тип - это те, которые используют случайный ввод для уменьшения ожидаемого времени работы или использования памяти, но всегда завершаются с правильным результатом в ограниченное количество времени?

Ответы:


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

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

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

Конечно, я оставил здесь кучу деталей, возможно, вы захотите посмотреть классы сложности ZPP, RP и BPP, которые формализуют эти идеи.


Благодарность! Таким образом, рандомизированные алгоритмы, алгоритмы Монте-Карло и вероятностные алгоритмы - это одно и то же понятие?
Тим

Да, хотя алгоритмы Монте-Карло представляют собой определенный тип вероятностного алгоритма (соответствующий классу BPP - существуют другие классы, такие как PP, которые являются вероятностными, но - вероятно! - содержат больше, чем BPP). Я не уверен, почему это предложение есть в статье в Википедии, возможно, кто-то запутался с вероятностным анализом, который чем-то отличается.
Люк Мэтисон

8

Два термина рандомизированные алгоритмы и вероятностные алгоритмы используются в двух разных контекстах. Рандомизированные алгоритмы - это алгоритмы, использующие случайность, в отличие от детерминированных алгоритмов, которые этого не делают. Вероятностные алгоритмы , например вероятностные алгоритмы для проверки простоты, являются алгоритмами, которые используют случайность и могут допускать ошибку с некоторой (мы надеемся) малой вероятностью.

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

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

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


Можете ли вы привести ссылку на эти определения?
Р. Шопен

В Википедии должны быть ссылки.
Юваль
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.