2 个不稳定版本
0.2.0 | 2022 年 1 月 7 日 |
---|---|
0.1.0 | 2022 年 1 月 7 日 |
#486 在 游戏
435KB
155 行
Squirtle
Squirtle 是一个简单的 CLI 工具,用于玩 wordle。基本思路是使用简单的启发式方法尽可能快速地缩小可行单词的搜索空间。
使用方法
Squirtle 假设从一张空白纸开始。它会建议一个单词进行输入。当你输入这个单词时,你应该告诉 squirtle 猜测的结果。例如,如果你猜测 PALMS
并得到了以下结果
你应该输入 mnmym(m 表示“移动”,n 表示“无”,y 表示“是”)。这有点尴尬,但绿色和灰色都以 g 开头,所以你怎么办。
此仓库包括来自韦伯斯特词典的单词列表。
策略
高级思路是尽可能缩小每次猜测的搜索空间。
根据过去猜测的信息,squirtle 会将所有单词的集合过滤到所有可行单词的集合。然后,它测量可行单词集中字母的频率。然后,它猜测一个出现频率最高的可行单词。这是一个简单的启发式方法,在实践中似乎效果不错。
性能
在一张空白板上,可行单词列表包括 5379 个单词。在一个样本运行中,经过 1 次猜测(squirtle 建议使用 "AROSE" 作为第一次好的猜测),这减少到 158 个可行单词。经过 2 次猜测,这减少到 9 个可行单词。在第 3 次猜测时得到了正确单词。
依赖关系
~0.6–1.4MB
~32K SLoC