Комментарии 10
Формально этот же вариант можно использовать для состояния 2 нуля 3 двойки («goner/boxer», «stamp/stash»), удачный подбор может исключить *до* 5 слов, но придется проверять отдельно на наличие нескольких единиц/двоек, скажем паттерн 02022 для goner запулить pmhbn (желательно пихать в паттерн те буквы, которые в оставшемся множестве слов занимают обе позиции в разных словах, причем их предпочтительнее пихать именно на них, так больше инфы получится из 1 или 2 в этих местах, в случае нехватки одной буквы в этом нет проблем) или что-то подобное. А основной алгоритм подобрал красивое начальное слово для 6 букв :)
Апд: потрогал wordle — а она не дает (по крайней мере через веб) посылать «не-слова» — обидно! Придется извращаться, и отправлять вместо hmbpw скажем thumb (3 из 5 букв выбиваются), если вообще даст отправить подобное, мол нет уже t в искомом слове, не пытайтесь.
Для "ручной" победы лучшая тактика - первые 3 слова ввести так, чтобы они не имели общих букв. Тем самым максимизируется знание о том, что есть и чего нет в остальных словах.
А что если попробовать построить решающее дерево [используемое в машинном обучении]?
В качестве вопроса выбрать слово, а в качестве эффективности разделения что-нибудь стандартное, например, gini index или information gain.
Я написал свой алгоритм: имея список из допустимых (=удовлетворяющих всем ответам системы) слов, считаем для каждого слова энтропию (средневзвешенное количество информации, которую можно получить, задав это слово), выбираем слово с наибольшей энтропией. После ответа системы пересчитываем множество допустимых слов.
Сначала хотел ответить, что алгоритм не попадёт в такую ситуацию :).
Но вы правы, я допустил оплошность: выбирать надо из ВСЕХ слов словаря, (а вот энтропию для них считать только по допустимым). (Что характерно, на стадии придумывания алгоритма я так и планировал, а реализовал почему-то с ошибкой).
Тоже сделал через энтропию, прогнал его по всем словам, выходит разгадывает за 3,47 попытки в среднем, так что похоже автор был прав, рубеж в 3,5 попыток преодолим.
Решаем Wordle с 3,64 попыток в 99,4% случаев