eve11: (Default)
[personal profile] eve11
What is the most versatile set of three distinct letters that one can have in Scrabble?

This is the kind of thing that randomly goes through my head from time to time. I was wondering if there was any set of 3 letters for which all six unique permutations of the letters are actual English words.

So for example, if you have the letters PTO, you can write POT, TOP, and OPT, but TPO, PTO, and OTP are not real words (fandom acronym appropriations notwithstanding).

What is the most permutable set of three English Letters? Are there any that have all six possibilities covered? Using the list at this site, I did some research and some data manipulation in R to find the answer.


The Data Set:
> tlw = read.table("threeletterwords.txt")
> tlw[,1] = as.character(tlw[,1])
> tlw[1:10,]
 [1] "AAL" "AAS" "ABA" "ABO" "ABS" "ABY" "ACE" "ACT" "ADD" "ADO"
> nrow(tlw)
 [1] 1011

There are 1011 valid three-letter English words. Not all of them have three unique letters, however. For example, the first entry
> unlist(strsplit(tlw[1,1],""))
[1] "A" "A" "L"
> table(unlist(strsplit(tlw[1,1],"")))

A L 
2 1 
> length(table(unlist(strsplit(tlw[1,1],""))))
[1] 2
 

It has 2 A's so the length of unique characters is 2. Assigning those values to each of the entries in my data frame, using the "apply" function:
> tlw$NumUniq = apply(tlw,1,function(x){length(table(unlist(strsplit(x[1],""))))})
> tlw[1:10,]
   tlw NumUniq
1   AAL       2
2   AAS       2
3   ABA       2
4   ABO       3
5   ABS       3
6   ABY       3
7   ACE       3
8   ACT       3
9   ADD       2
10  ADO       3
> sum(tlw$NumUniq == 3)
[1] 905

Out of the 1011 words, 905 of them have 3 distinct letters. Snag them and rearrange the ordering so that any multiples will be sorted the same way: eg, OPT, TOP, and POT all get mapped to alphabetically-ordered "OPT". This is done by splitting the word into its constituent characters, sorting the characters, and pasting them back together into the new word.
> tlw.uniq=tlw[(tlw$NumUniq == 3),1]
> tlw.uniq.sort = unlist(lapply(tlw.uniq, function(x){paste(sort(unlist(strsplit(x,""))), collapse="" )})) 

Now we have a list of 905 words, that will contain repeats of a unique letter sequence when that sequence makes more than one word. We just have to tabulate them:
> tlw.uniq.sort.count = rev(sort(table(tlw.uniq.sort)))
> length(tlw.uniq.sort.count)
[1] 640

So there are definitely fewer unique 3-letter groups than words, obviously, owing to overlaps and repeats like OPT, PIN, BAG, etc. The 905 words fall into 640 categories. Do any have six permutations?
> table(tlw.uniq.sort.count)
tlw.uniq.sort.count
  1   2   3   4   5 
422 175  40   2   1 

No! about 66% of the combinations actually only have 1 valid word (422/640). The highest we have is one set with 5 permutations, and then we have 2 sets with 4 permutations, and we jump all the way to 40 sets with 3. ETA: I should also say, there are 26 choose 3 = 2600 different ways to select three unique letters out of 26, so there should be a 0 spot there, with a count of 1960 letter combinations with no valid words.

Any guesses as to the three most popular?

> tlw.uniq.sort.count[1:3]
tlw.uniq.sort
AET APS AHS 
  5   4   4 

So that's the answer. The most versatile set of letters is:
AET: for which ATE, EAT, ETA, TAE, and TEA are all valid words

Runners up:
APS: for which ASP, SAP, PAS, and SPA are all valid words. I think, give it a few more years, and this group will join into the 5-permutation crowd, since we are well on the way to APS being a word.

AHS: for which AHS, ASH, HAS, and SHA are all words.


So there's the answer. No fully permutable set of 3-letter words, and only a few groups come close. I wonder what 4-letter words would look like!

This post brought to you by procrastination and geekery.

Date: 2012-12-23 02:00 am (UTC)
From: [identity profile] bexxa.livejournal.com
I'm impressed!

Date: 2012-12-23 04:22 am (UTC)
From: [identity profile] bexxa.livejournal.com
Those words are immediately going onto my Scrabble list! Thanks!

Date: 2012-12-23 04:41 am (UTC)
From: [identity profile] a-phoenixdragon.livejournal.com
Holy...wow. Mind is blown.

Date: 2012-12-24 06:24 am (UTC)
From: [identity profile] giallarhorn.livejournal.com
I'd guess some combination of A or S, just due to the sheer number of three letter words that involve one of the letters (or both).

This also reminds me why I stuck to C++ and java for my languages XD

Date: 2012-12-25 04:47 am (UTC)
clocketpatch: A small, innocent-looking red alarm clock, stuck forever at 10 to 7. (Default)
From: [personal profile] clocketpatch
I had a feeling it would be T E A - haven't played scrabble in a while or looked at the words lists, but I remembered those being the good letters to get (add a d, r, and/or s and a bingo would be practically assured)

The maths involved in solving this query, however, are making my eyes and brains wobble. I'm ever so impressed by it, and also happy that there are people in the world who will write whole big equations like this to scientifically pin down little niggly questions just for the fun of it.

(and I never, in a million years, would've guessed H into one of the most useful trilogies)

Date: 2012-12-25 08:42 pm (UTC)
From: [identity profile] giallarhorn.livejournal.com
I did! I'm a little surprised that SHA managed to make the top three, since I would've thought that something with two vowels would've ranked higher.

I don't know Java too well either other than just enough to barely scrape by. Haha, that does make it a much more appealing language than something like C++ if it's meant for statisticians!

Date: 2012-12-26 09:17 pm (UTC)
From: [identity profile] pwinkler.livejournal.com
Well done... you should now try calculating what the 3 most versatile letters are overall. i.e. If you had these three letters, you're the least likely to not have a Scrabble play available to you. That'd probably make it the combination of 3 letters that most often occurs together in the same word across all the words in the Scrabble dictionary. They're almost certainly vowels, but it seems unlikely that they would ALL be vowels. That seems like it'd be quite a complicated calculation overall, particularly if you factor in existing letters on the board.

Profile

eve11: (Default)
eve11

December 2022

S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 24th, 2026 11:34 am
Powered by Dreamwidth Studios