Рандомизированные алгоритмы как игры с нулевой суммой - Randomized algorithms as zero-sum games

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

Формализация игры

Рассмотрим игра с нулевой суммой между игроком А, чей стратегии являются детерминированными алгоритмами, и игрок B, стратегии которого являются входными данными для алгоритмов A. Стоимость профиля стратегии - это время работы выбранного алгоритма A на выбранном входе B. Таким образом, игрок A пытается минимизировать стоимость, а игрок B пытается ее максимизировать. В мире чистых стратегий для каждого алгоритма, который выбирает A, B может выбрать наиболее дорогостоящие входные данные - это наихудший сценарий, и его можно найти с помощью стандартных анализ сложности.

Но в реальном мире входы обычно не выбираются «злым противником» - скорее, они поступают из некоторого распределения по входам. Так как это так, если мы позволим алгоритмам также быть взяты из некоторого распределения, мы можем рассматривать игру как такую, которая позволяет смешанные стратегии. То есть каждый игрок выбирает распределение своих стратегий.

Анализ

Включение смешанных стратегий в игру позволяет нам использовать фон Неймана минимакс теорема:

куда р - распределение по алгоритмам, D - распределение по входам, А - это единый детерминированный алгоритм, и Т(АD) - среднее время работы алгоритма a на входеD. Более конкретно:

Если мы ограничим набор алгоритмов определенным семейством (например, все детерминированные варианты опорных точек в быстрая сортировка алгоритм), выбор алгоритма A из R эквивалентен запуску рандомизированного алгоритма (например, запуск быстрой сортировки и случайный выбор опорных точек на каждом шаге).

Это дает нам представление о Принцип Яо, в котором говорится, что ожидал стоимость любого рандомизированный алгоритм для решения данной проблемы при наихудшем случае входных данных для этого алгоритма не может быть лучше, чем ожидаемая стоимость, для наихудшего случайного распределение вероятностей на входах, детерминированный алгоритм который лучше всего работает с этим распределением.