Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Solving Wordle using entropies
Search
puddingOracle
April 20, 2022
0
64
Solving Wordle using entropies
puddingOracle
April 20, 2022
Tweet
Share
Featured
See All Featured
Docker and Python
trallard
43
3.2k
How STYLIGHT went responsive
nonsquared
96
5.3k
How GitHub (no longer) Works
holman
312
140k
YesSQL, Process and Tooling at Scale
rocio
170
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
340
Embracing the Ebb and Flow
colly
84
4.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
A Philosophy of Restraint
colly
203
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
490
Transcript
Wordle を解くプログラム作った puddingOracle
01 アジェンダ 1.アジェンダ 2.概要 3.Wordle って何? 4.情報量とエントロピー 5.効率化と改良 6.終わりに
02 概要 1.アジェンダ 2.概要 3.Wordle って何? 4.情報量とエントロピー 5.効率化と改良 6.終わりに
概要 をエントロピー計算で解くプログラムを作った ソースはここ→https://github.com/puddingOracle/WordleSolver CIGARが答えの問題を解いている様子
100問解いてみた結果 平均: 3.56 手
03 Wordle って何? 1.アジェンダ 2.概要 3.Wordle って何? 4.情報量とエントロピー 5.効率化と改良 6.終わりに
None
答えに含まれていない 答えに含まれているが 位置が異なる 答えと一致
でも……
知らね~~~ ~~~~~~ ~~~~~~ ~^^~~~ ~!!!!! !!!!!!
Wordle の良くないところ
難し い!!!!!!!!!!!!!! !!!!!!!!!!!!!!! !!!!!!!!!!!!!!! !!!!!!!!!!!!! Wordle の良くないところ
コンピュータでWordle を解きた い!!!!!!!!!! !!!!!!!!!!!
04 情報量と エントロピー 1.アジェンダ 2.概要 3.Wordle って何? 4.情報量とエントロピー 5.効率化と改良 6.終わりに
情報量(の期待値)が 最大の手を出す 戦略
・情報 「不確実な知識を確実にするもの」 ・情報量 「情報を得たときに減った不確実さの量」 (あくまで情報理論上の意味合い) 情報量
? 不確実な状態 (サイコロを振る前) 1 ~ 6 の目が出る 情報 「3」が出た 情報量
不確実さ
めったに起きないことが起きた! →情報量大 ありふれたことが起きた →情報量小 情報量
A R I S E 情報量
A R I S E A, R, I, E が含まれておらず、
Sが4文字目以外に含まれている →たくさん該当する 情報量少 情報量
R E L A X 情報量
R E L A X R, E, L, A が含まれておらず、
Xが5文字目以外に含まれている →めったにない! 情報量大 情報量
− log2 𝑝 (ビット) 確率pの事象が生起した場合の情報量 情報量
情報量のイメージ 1ビット →選択肢を半分にする質問1つ分
情報量のイメージ 8面ダイスで3の目が出た 情報量 : − log2 1 8 = 3(ビット)
情報量のイメージ 1. 1~8の半分より大or小? →小さい (1~4) 2. 1~4の半分より大or小? →大きい (3, 4)
3. 3, 4の半分より大or小? →小さい (3)
𝑛 個の事象が 確率𝑝1 , 𝑝2 , … , 𝑝𝑛 で
発生するとき、 得られる情報量の期待値は − 𝑖=1 𝑛 𝑝𝑖 log2 𝑝𝑖 であり、これをエントロピーと呼ぶ エントロピー
エントロピー ∶ − 𝑖=1 𝑛 𝑝𝑖 log2 𝑝𝑖 エントロピー(情報量の期待値)
の期待値 : 1 6 × 1 + 1 6 × 2 + ⋯ 1 6 × 6
エントロピー最大となる 語を選ぶ! 戦略
おまけ:エントロピー最大は? 𝑝𝑖 (−log2 𝑝𝑖 ) 𝑝𝑖 が大きい → 𝑝𝑖 大,
−log2 𝑝𝑖 小 𝑝𝑖 が小さい → 𝑝𝑖 小, −log2 𝑝𝑖 大 − σ𝑖=1 𝑛 𝑝𝑖 log2 𝑝𝑖 の最大はどこ?
エントロピーH(𝑝1 , 𝑝2 , … , 𝑝𝑛 )は 𝑝𝑖 =
1 𝑛 のとき最大となる (証明はラグランジュの未定乗数法を用いる) おまけ:エントロピー最大は?
Wordle と情報量 ARISE … パターン 1 パターン 2 パターン 243
… 1つの入力に対し35 = 243通りの結果 243通りそれぞれの生起確率を求め エントロピーを計算
入力可能単語:12,972 語 解答となりうる単語:2,309 語 Wordle の仕様
解答候補 cigar rebut shave 入力可能単語 aahed aalii zymes zymic …
… 2,309 語 エントロピーの計算
aahed … x 件 パターン 1 パターン 2 パターン 243
y 件 0 件 “aahed”のエントロピー
aahed … x 件 パターン 1 パターン 2 パターン 243
y 件 0 件 合計 2309 件 “aahed”のエントロピー
aahed … x / 2309 確率 𝑝1 y / 2309
0 /2309 確率 𝑝2 確率 𝑝243 “aahed”のエントロピー
再掲:エントロピー 𝑛 個の事象が 確率𝑝1 , 𝑝2 , … , 𝑝𝑛
で 発生するとき、 得られる情報量の期待値は − 𝑖=1 𝑛 𝑝𝑖 log2 𝑝𝑖 であり、これをエントロピーと呼ぶ
aahed … x / 2309 確率 𝑝1 y / 2309
0 /2309 確率 𝑝2 確率 𝑝243 𝐻𝑎𝑎ℎ𝑒𝑑 = − 𝑖=1 243 𝑝𝑖 log2 𝑝𝑖 “aahed”のエントロピー
解答候補 cigar rebut shave 入力可能単語 aahed aalii zymes zymic …
… 12,972 語 エントロピーの計算 12972 語すべてのエントロピーを計算
開始 各解答候補に対する入力可能単語 のエントロピーを計算 エントロピーが最大となる単語を Wordle に入力 得られたフィードバックに合致しな い解答候補を削除 解答候補 が2語より多い
解答候補を1つ Wordle に入力 フィードバック がすべて緑 終了 YES NO YES NO フローチャート
05 効率化と改良 1.アジェンダ 2.概要 3.Wordle って何? 4.情報量とエントロピー 5.効率化と改良 6.終わりに
計算量多すぎ問題 解答候補 cigar rebut shave 入力可能単語 aahed aalii zymes zymic
… … 12972 語 2309 語 12,972 × 2,309 = 29,952,348 回比較 →計算量を削減したい! 初手だけで……
初期状態は常に一定 →初手の最善手は固定 初手は常に同じ
初手エントロピーランキング 単語 エントロピー (bit) 1 soare 1.49078659 2 roate 1.490724925
3 raise 1.489558436 4 reast 1.48767789 5 raile 1.487217907
SOARE 2手目も35通りのみ … パターン 1 パターン 2 パターン 243 …
CLINT DENET (なし) 事前に計算しておく 最善手 :
n手目の情報量の期待値(未実装) SOARE は初手のみを考えたとき得られる 情報量の期待値が最大の手 →では、2手目、3手目を含めて考えると……?
06 終わりに 1.アジェンダ 2.概要 3.Wordle って何? 4.情報量とエントロピー 5.効率化と改良 6.終わりに
・Wordle をエントロピー計算で解いた ・平均 3.56 手 ・一手目最善は”SOARE” (ただし改善の余地あり) まとめ
甘利俊一. 『情報理論』. 筑摩書房, 2011. 参考文献