Wordle 用哪幾組字開始最好呢?如何可以穩定地 4 步完成呢?一個 data science 的小嘗試(2)
上一期講到玩 Wordle 的時候,如果只考慮一個字的情況下,排位最佳的 20 個字分別是:
- TARES, LARES, RALES, NARES,DARES,
- CARES,RATES,PARES,MARES,TALES,
- BARES,LANES,TORES,REAIS,HARES,
- AURES,GARES,LORES,ARLES,AEROS
可以平均帶來 0.6–0.82 次「完全配對」同 1–1.44 次「部份配對」。

不過這只是故事的一半,在試完第一個字之後,下一個應該試的字是什麼呢?我們有什麼組合拳可以讓我們穩定地在 4 步內完成呢?
先說結論的話,就是無論如何,先試 CARES + DOILT,有靈感的就嘗試 3 步完成,沒靈感的就再試 PUNKY 吧!
重覆一下背景資料,這次研究的字庫是直接從 Wordle 的 JavaScript 抄出來的,原生字庫共有 12,971 字,由於有重覆字母的英文字 (如 APPLE) 的評分機制相對複雜,而且從策略上來說,理應優先嘗試 5 個字母皆不同的字、較後嘗試有重覆字母的字,今篇作為一個小嘗試,會集中討論「沒有重覆字母」的英文字,並把有重覆字母的字從 dataset 剔除,所以 dataset 亦會由本來 12,971 個字縮減為 8,321 個字喇。有關於所謂的「評分方法」,在此就不再重覆,有勞先看上一篇文章了。
「2 步組合拳」會有很大分別嗎?
我想如果把目標訂在 3 步就完成,我們就需要為每一個字找到下一個最佳的配字,再算出平均分數,就是可以參考的「2 步組合拳」了。
我把個人排名最高頭 100 位的單詞抓了出來,找出各自對應的「最佳第 2 字」,再根據綜合分數排了一下位,以下就是頭 20 大排名了。

相當有趣的是,本來標記 90 的 LARIS 配上 TONED 竟然越過前面 90 個對手 (python 是由 0 數起的,所以是 0–89 號共 90 名),以 4.585 分攀上了雙打第 1 位!
而本來第 1 名 TARES 配上 COLIN 得到 4.546 分排名第 5,跟第 1 名僅相差 0.039 分。事實是就算去到第 20 名的 LOTES + RANID 也得到 4.515 分,即只比第 1 位少了 0.07 分。
雙打組合第 1 名 LARIS + TONED 的 4.585 分是什麼意思呢?即是平均得到 4.6 個錯位置的字母,或只有 1 個全對的字母 + 2 .6 個錯位置的字母,或 2 個全對的字母 + 0 .6 個錯位置的字母。
好像都還是不足以在下一步就確定答案。那麼如果我們要再收窄範圍,把雙打變成三打,最佳的組合又是什麼呢?
「3 步組合拳」又有多厲害呢?
既然「3 步組合拳」的原理和「2 步組合拳」是一樣的,直接來答案吧。

第 1 位是 CARES + DOILT + PUNKY,平均得分 5.795分,即是平均得到 1 個全對的字母 + 3.8 個錯位置的字母,或 2 個全對的字母 + 1.8 個錯位置的字母,應該很接近猜到答案了吧!
這裏特別想提 2 點:
- 頭 20 位的分數依然差距很小,第 20 位的 GORES + DAINT + PLUMY 得到 5.704 分,比第 1 位只少了 不足 0.1 分,即是少於 0.1 個錯位置的字母,差距很小很小吧。
- Word3 看見大量重覆的字母,代表其實頭 2 個字的字母是高度重覆的,這也呼應著上文所的「頭 10 位多的字母合共佔了所有字母的 67.5%」,只要在頭 2 個字能用上 A, E, I, O, T, S 再配上 B, D, M, N, P 覆蓋率就已經非常好了!
所以結論是在上面選個你覺得最適合你的 3 步拳記上就好了,如果 2 步已經非常順利的,就直接猜字,如果還需要多點靈感的,就打出第 3 拳吧!
而我選哪個?我一直都在用第 1 位的 CARES + DOILT + PUNKY,因為 backtesting 的成績也很優秀呢!
在過去的已經出現的 200 多次 WORDLE 裏,什麼組合表現最好呢?
以上所有都是以整個 WORDLE List 作為基數計算的,如果我們把這堆組合拳放回已經出現過的 200 多次 WORDLE 答案裏面 (執筆之際最新答案是 TEASE),效果又怎樣呢?
還是由於要避免處理重覆字母的問題,我會把答案收窄至 182 個,CARES + DOILT + PUNKY 效果原來一點都不差呢。

CARES + DOILT + PUNKY 得分 5.599,以不足 0.001 分輸給了 DARES + POINT + GULCH 屈居第 2,即是說在過去 182 次 WORDLE 裏,DARES + POINT平均會於 3 步內得到 1 個全對字母 + 3.599 個半對字母,或 2 個全對字母 + 1.599 個半對字母,我想要在第 4 步便猜中應該非常容易吧!
這裏特別要留意以果以 2 步拳來看,CARES + DOILT 的 4.264 分比 DARES + POINT 的 4.159 分要好,所以如果大家目標是 3 步決的,CARES + DOILT 的組合會是更好選擇哦!
說了那麼多,給論是什麼?
如果要幾句說完的話,就是無論如何,先試 CARES + DOILT,有靈感的就嘗試 3 步完成,沒靈感的就再試 PUNKY 吧!
其實有時候我都挺 geeky 的,玩遊戲而已嘛,何必那麼認真?
我想這個其實挺像一份 data science 的作業,要尋找 data、清理 data、了解 data、設計評分方法、設計搜索機制、設式最大化評分機制、最大化系統速度、結果分析、再把結論放回真實世界做測試,你做過就會知道有趣的喇。
之於 coding,GitHub 我就不放了,不想獻醜,有興趣的可以 PM 我一下,我發給你就是了,當然如果支持我 Patreon 的,我定當雙手奉上了。
最近在和田太研究一些 digital humanities 的項目,NLP 當然是重點之一,除了這個 Wordle project,我自己也當作練習在處理一些 Harry Potter 的資料,初步也有些有趣的發現,下個月再和大家分享吧。
後記:
遇著今天 (16/3/2022) 這種情況,CARES 當然是無敵了…
2021 年開始 Medium 只會發佈部份文章,想知最新銀行 insider insight,就要訂閱我 Patreon(patreon.com/watin) 喇!2021 年 8 月 Medium 再次改制,讀者可以選擇將一半既 Medium 會費撥繳至你喜歡既作者。如果你想喺 Medium 上面支持我,可以去以下呢條 link (watin.medium.com/membership)登記做會員哦!華田銀行 FB: facebook.com/WatinResearch
華田銀行 IG: https://www.instagram.com/bank_of_watin/
華田銀行 HKET 專欄: https://wealth.hket.com/sraw116/華田銀行關於華田:
兒時夢想做i-banker,結果做了bank worker,還要是retail那種。過去在各大小銀行不同部門流徙,叫人借錢、催人還錢、審批貸款、出股票app、出借錢app、出信用卡、廣告策劃、銷售管理、分行佈點、生物認證、電子排隊、機器學習、敏捷開發,到現在還未安定下來。不懂財經、不懂經濟,只想談一下「銀行」這回事。





