В игре Hangman, так ли, что жадный алгоритм с буквенной частотой эквивалентен алгоритму с наилучшим шансом выигрыша?
Есть ли когда-нибудь случай, когда стоит пожертвовать сохранением оставшихся жизней, ради лучшего шанса угадать правильный ответ?
Дальнейшее уточнение проблемы:
- Выбранное слово, которое нужно угадать, было взято из известного словаря.
- Вам даны N жизней и, следовательно, необходимо максимизировать вероятность угадывания всех букв в слове без ошибок N (т.е. у вас может быть неограниченное количество правильных догадок).
- Каждое слово в словаре имеет равную вероятность, ради этого упражнения (т.е. слово выбирается случайным образом)
- более сложное упражнение - это разработать стратегию против злонамеренного, всезнающего слова-выборщика (я не прошу об этом здесь).
Мотивация: этот вопрос вдохновлен интересным обсуждением на http://www.datagenetics.com/blog/april12012/index.html
Они предлагают оптимальный алгоритм решения игровой игры "Hangman".
Их стратегия может быть суммирована таким образом (отредактировано для уточнения):
- Мы можем предположить, что слово взято из определенного словаря
- Мы знаем количество букв в слове
- Устранить все слова в словаре, которые не имеют правильного количества букв.
- Выберите еще не угаданную букву, которая встречается в наибольшем количестве слов в остальном подмножестве словаря.
- Если это письмо встречается, мы знаем его местоположение.
- Если это письмо не встречается, мы знаем, что оно не встречается в слове.
- Устраните все слова в подмножестве словаря, которые не соответствуют точно этому правильному шаблону и повторяются.
- Если есть 2 (или более) буквы, которые появляются одинаково часто, алгоритм может выполнить более глубокий анализ позиций, чтобы определить, какой из них является предпочтительным (если это разумно?)
На каждом этапе мы угадываем букву (ранее не догадывающуюся), которая встречается в наибольшем количестве оставшихся возможных слов.
Есть некоторая мотивация, чтобы понравиться этот алгоритм - мы всегда минимально можем потерять жизнь.
Но мне кажется, что это не обязательно лучшее решение: если мы пытаемся угадать слово (в пределах определенного количества жизней), это не обязательно всегда случай, когда наиболее часто встречающимся письмом является самое полезное письмо, чтобы различать оставшиеся доступные слова.
Я не уверен, хотя, как представляется, целесообразно избегать потери жизни, где это возможно. Будет ли когда-нибудь так, что оптимальная стратегия позволяет нам жертвовать жизнью для лучшей возможности выиграть?
Вопрос: это тот случай, когда этот жадный алгоритм эквивалентен алгоритму с наилучшим шансом выигрыша или нет? И вы можете это доказать?
Пример словаря + игры был бы идеальным, чтобы показать запрет.