Hacking Scrabble
For the lazy: Not interested in all this data wrangling? Skip straight to these summary graphics to improve your Scrabble game:
Introduction
A while ago I was blogging about a little research project I called Hacking Scrabble, which received a lot of interest and was published on LifeHacker. I was trying to get better at the game by using the kind of memory tricks we learned in school:
“My Very Easy Method Just Speeds Up Naming Planets”
I’m a programmer by trade so inevitably I wrote Mnemonic Finder, a Python program to quickly search the dictionary looking for these kinds of phrases. The idea was to memorise all two-letter words, which I’m targeting because:
- They are vital. Games become stagnant when the board is full up and nobody can play in the tight corners without creating a string of two-letter words.
- There aren’t actually that many of them: 124 in the international rules, 101 in the US rules.
The Solution (First Attempt)
My first attempt at writing this column arrived at a technique which sort of worked.
- Every 2 letter word is a prefix and a suffix.
- eg. “
at” has a prefix “a” and a suffix “t”
- eg. “
- So every prefix can have a few different suffixes.
- The prefix
acan have suffixtbut not suffixq, becauseaqis not a word.
- The prefix
- For each letter, list allits possible suffixes.
acan have any of:abdeghilmnrstwxy
- Use Mnemonic Finder to look for a phrase which contains all those letters but no other letters.
- “
birthdays mangle wax” will help you remember all the letters that can go aftera.
- “
Why Doesn’t It Work?
First, it’s not that great. I still need to memorise twenty six phrases and know which letter they each apply to.
Second, the suffixes of u are ghmnprst. Can you see the problem? There are no vowels! ua, ue, ui, uo, and uu are not words. So Mnemonic Finder can’t find a single thing in the dictionary. Maybe you can learn it by saying it out loud: “Gahumnapurst”. Maybe not.
In fact, out of twenty six attempts, I only succeeded in finding about ten useful phrases. Okay, it’s better than learning over a hundred words, but we can do better still with a little lateral thinking.
Restructuring The Problem
Many astute readers emailed me to point out that nearly all two-letter words contain a vowel. Instead of memorising the suffixes of every letter, we could memorise the suffixes and prefixes of every vowel.
<< prefixes vowel suffixes >>
------------------------------------------
ztnlkjhdbfypmae a aeibdghlmnrstwxy
ywtrpnmhfdbaeo e aedfhlmnrstx
xtsqpmlhkdgboa i odfnst
zywtsmlkjhbdgnpio o eioubdfhmnprswxy
gmnxyo u ghmnprst
- This is a great idea: We only have to memorise ten phrases… plus a few words containing no vowels.
- However, the computer still has trouble finding words in the dictionary… “
ghmnprst” is still up there. - There’s a bit of redundant information in there.
ois both a prefix and a suffix of itself becauseoois a word.
We’re on the right path. A final step is needed to make this work.
Just The Consonants, Please
The problem is that it’s hard to find mnemonics if you don’t have many vowels. I experimented with a tweak to Mnemonic Finder allowing it to use all the vowels it likes, and once again gave it ghmnprst.
"prognathism"
"graph mints"
"hemp string"
"nightmare gasp"
...
Thousands of phrases tumbled out! This is the key to the solution: Let’s seperate the vowels from the consonants. Here’s the table again with only consonants in the left and right columns.
<< prefixes vowel suffixes >>
------------------------------------------
ztnlkjhdbfypm a bdghlmnrstwxy
ywtrpnmhfdb e dfhlmnrstx
xtsqpmlhkdgb i dfnst
zywtsmlkjhbdgnp o bdfhmnprswxy
gmnxy u ghmnprst
The words we had to remove were the double vowels. A shame that they didn’t fit, but they won’t be too difficult to memorise: There’s only nine of them (or just five for players in the USA).
aa ae ai ee ea io oo ou oe
Finally, I’ve avoided telling you about the double consonants. They never fitted onto that table anyway, and must also be memorised the hard way:
sh ch st mm hm my ky fy by ny
Through the Mnemonic Machine
Using Mnemonic Finder in “free vowels mode” produces hundreds (usually thousands) of dictionary words for each entry in the table. At last, we can replace ugly blocks such as ghmnprst with meaningful, memorable phrases like hemp string.
<< prefixes vowel suffixes >>
------------------------------------------------------------
the band played folk jazz metal a birthdays mangle wax
thumbprint fade away e tax his farmland
exquisite godlike humble pie i infested
mask playing with jazz band o six dumb hippy windsurfers
onyx gem u hemp string
You can generate your own if these aren’t to your taste. I prefer phrases with a powerful (if absurd) mental image. I’ve logged my development in a public gist for both the International version and the US/Canada version.
It is important to remember that we are just memorising consonants. The suffixes of i are “infested”, meaning n, f, s, t, or d. Ignore the vowels; ie is not a word.
Once you understand and memorise that table, you know one hundred and four words! The remaining twenty I leave to you. Did you think it was all going to be that easy?
aa ae ai ee ea io oo ou oe
sh ch st mm hm my ky fy by ny
In A Real Life Battle Situation...
So you want to play a two-letter-word, but you’re not sure it exists?
- If it’s a double consonant, you should know it by heart.
- If it’s a double vowel, you should also know it by heart!
- If it starts with a vowel, think of the right hand column.
- Eg. The first letter is
e, the second letter must be intax his farmland.
- Eg. The first letter is
- If it ends with a vowel, think of the left hand column.
- Eg. if the last letter is
e, the first letter must be inthumbprint fade away.
- Eg. if the last letter is
Fortunately, I have turned all of this into a beautiful infographic that you can print out and treasure forever.
For players using the North American rules (US, Canada, and Thailand): 
For players using the International rules (everywhere except the US, Canada and Thailand): 
I am Tom Rees, a freelance hacker and engineer. I write lots of code for the Open Knowledge Foundation.
You should follow me on Twitter.
-
canyoufeelthealgorithm likes this
-
stochastic-gamer likes this
-
hastur reblogged this from zephod
-
willrc likes this
-
willrc reblogged this from zephod
-
coderstumbler likes this
-
shibats reblogged this from zephod
-
zephod posted this

