6 comments

[ 3.4 ms ] story [ 19.0 ms ] thread
hah, this is cool.
Another question: are there other scenarios outside of playing Scrabble where something like this would be useful?
In the abstract? Probably. But in human domains I suspect you're unlikely to find something very amenable to this sort of approach without a lot of looking. I actually think he's better off just memorizing because the words are human words from human minds and just trusting to your own human mind is going to work better than a simple math approach.

The one thing I'd consider adding is memorizing the tuple (word, origin), because English's problem is that my first paragraph is simplified for English; we actually use many different distinct human patterns, and helping the brain partition the problem might be helpful.

I gave only a quick read, and I'm completely unfamiliar with Scrabble... but: why not use a Markov chain? I would start looking at the two step case, using only the most probable letter. In this case you have to remember a 26x26 matrix, if this doesn't work you can extend it to the top-n letters.
(comment deleted)
I'm not sure I understand. Let me try to recap: you can store a transition matrix for P(letter | previous letter) using 26x26=676 real numbers. By adding 26 more parameters saying how often a word begins with each letter, you can get P(word) = P(first letter) * P(second letter | first letter) * P(third letter | second letter).

The Danny complexity of this is pretty high, though. I'd go so far as to say it's harder to memorize 702 arbitrary real numbers than it is to memorize 972 three letter words.

But I like a variation on this, which is to find a low rank representation of the transition matrix, P(next letter | letter) = A x B, where A is a 26 x k matrix, and B is a k x 26 matrix. Setting k to be 2 or 3 and rounding to say 2 or 3 decimal places might be manageable to memorize.