Lately I have been enjoying several daily word games. I mentioned SpellBinding in my first post, and on January 26th (ALSIUC-O) I had the honor of (barely) winning the word count table, with 30 words. After seeing so many people on Twitter enjoying Wordle, I started playing that too, and when stacksmith introduced "Wordo," I added that to my rotation.
Playing so many word games has been an interesting window into the way my mind processes language. As soon as I spell out a word in my head, if the word exists, the meaning instantly comes to mind. It feels like this happens in constant time. I have been able to identify three other properties of this lookup operation:
So this operation appears to be akin to a hash lookup. (It could also be an algorithm with logarithmic runtime -- Googling suggests that the average person's passive vocabulary is around 60,000 words, so even a person with a larger-than-average vocabulary could efficiently search their vocabulary with a log-time algorithm.) The "partial lookup" capability suggests either that it is a fuzzy hash, or that there is a stemming step before the lookup step.
The problem is that even though I have a fantastically amazing built-in lookup algorithm for validating and defining words, I do not have such an ability for enumerating words to guess. When playing SpellBinding I bounce around the circle randomly until I find a word. When playing Wordle or Wordo, I have a rough letter frequency table in my head, but it’s still essentially a combinatorial algorithm: I try letter combinations until one clicks. And concatenating letters in my head to *try* the constant-time lookup is definitely "O(n)" in the length of the word, which makes the whole process "O(m*n)" time at best, and probably much worse.
While I refuse to use dictionaries or other external word lists, I did write a Python script one day that generated several hundred random combinations of the day's SpellBinding letters, in an attempt to spark my imagination... It was completely useless. The output did not include a single valid word, even one that I had already guessed. And that is essentially the strategy I use when I am playing by hand. This suggests that the way to improve my SpellBinding game is to develop more disciplined techniques for enumerating words.
The only idea I have so far is writing out syllable components from the letters of the day (onsets, nuclei, and codas) and generating combinations from those, rather than using the letters directly. English phonetics and phonotactics are practically unlimited, but this should still lead to an improvement over pure random walks of the letter space.
I would be very interested to hear other Geminauts' experiences with word games: is enumeration the bottleneck for everyone, or do people have different mental experiences of the process?
leafstorm's gemlog (back to home)