The WOBOT Chronicles

These are my thoughts about an online word game hosted by the New York Times called Wordle. The game picks a 5-letter word and the player tries to guess it. After each guess (up to 6) the game reveals for each letter of the guess whether the letter is correct, in the word but somewhere else, or not in the word at all. Results look like this:

Wordle 593 3/6

⬜🟨⬜⬜⬜
🟨⬜⬜⬜🟨
🟩🟩🟩🟩🟩

Blank (sometimes black) is for the letter not appearing anywhere in the word. Yellow means that the letter in that guess position is in the word, but somewhere else, and green indicates the right letter in the right place. Each row evaluates one guess.

For example, if the solution was “STRIPE” and the player guessed “PARTS” the game would respond:

🟨⬜🟩🟨🟨

There is a “P” but it’s not in the first position. There is no “A” at all. The “R” is correct and in the correct position “T” and “S” are in the word, but not in those locations.

Having a mathematics and computer science background, I immediately thought that the game is best played using information theory, maximizing the amount of information obtained by each guess. Information is maximized when the game’s possible responses are equally (or as close to equally) likely.

It was relatively straightforward to write a computer program I named “WOBOT” to play the game; however, there might be more to winning than just the pure math. One obvious requirement to play the game optimally is to know all the possible solutions. The NY Times wrote in August 2022 that there were 2,309 of them. That original list is available on Github: it came from the original Wordle game before the Times bought the rights, but includes 6 additional words that the Times considered too obscure or offensive. In other places, the Times says that there are 2,309 and here is that official list.

WordleBot, a Times game analysis displayed after the game is finished, gives lists of how various possible solutions fit the player’s guesses, and there are often words included on that list beyond the original 2,309. The analysis spills the information that there are in fact 3,160 (and this list is gradually growing). By looking at each day’s game analysis, a few new words are revealed, and my list is up to 3,080 — 80 more to go. See update for 3/27/23 (near the end of this article) about the first time that one of the expanded list of words provided a solution.

Words disclosed in WordleBot analysis. “CLADE” and “SCAPE” are new words.

Wordle supposedly never repeats a solution, so knowing the previous solutions reveals words that could be eliminated. There are lists of previous Wordle answers online. Some say that Wordle will run out of words in 2027 (or a few years later with an expanded list), and one game hacker said that the words will just start over when that happens. WOBOT doesn’t use the previous solutions list, but it does tell the user when a possible word is on that list.

There are also sites that purport to give upcoming Wordle answers a month in advance, supposedly by hacking the game. That’s no fun. A site today said that tomorrow’s Wordle solution (3/28/2023) is “HURRY.” [They were right].

My WOBOT program seems to track Wordle’s own WordleBot’s approach, most days showing things from WordleBot like:

In fact, on one day, WOBOT and WordleBot played exactly the same game! WOBOT has picked “NOUST” as its second guess twice, and the WordleBot did the same thing. Noust is some sort of boat mooring.

[Update 1]

I’ve now incorporated a feature to track previous solutions. At the present time, that consists of simply marking previous solutions in silver on the list. I can use the information or ignore it. WOBOT doesn’t take these into consideration when it’s playing.

I’ve found that many of the extensions to the original 2,309-word list of possible matches are past tense verbs ending in “D” or “ED”. That suggests that at present, Wordle doesn’t use such common valid 5-letter English words (just as it doesn’t use plurals ending in “S”), but that the past tense verbs could perhaps be used at some future phase of the game.

[Update 2 – Hard Mode]

I’d heard about “hard mode” and finally tracked down the details. It’s a game setting. Hard mode simply restricts your guesses. Every word you guess must be a potential solution to this puzzle instead of a guess that will just maximize the amount of information returned.

Here’s the Hard Mode version, WOBOT 2.0

WOBOT 2.0 with Hard Mode support
(click to expand)

The guess of “BEWDY” is impossible as a solution. It’s a valid word in the Wordle Dictionary. It matches the patterns, but it’s not in the list of possible solutions. I changed the program so that if there is an optimal word among the solutions, it will be given priority. In this example there was no guaranteed solution to be found using one of the possible words. One advantage is that WOBOT runs faster in hard mode because there are far fewer guesses to evaluate.

When playing in hard mode, Wordle adds an asterisk to the share text like this:

Wordle 607 3/6*

⬜⬜🟨⬜⬜
🟨🟩⬜⬜⬜
🟩🟩🟩🟩🟩

[Update 3 – 2/16/2023]

I’ve obtained a list of the original Wordle solutions. It appears that all current Wordle games draw solutions from this list. WOBOT now marks in green all the words in its list that are in its dictionary, but not potential solutions (presumably WordleBot does not actually know the contents of the original list), in addition to marking previous solutions in silver. That is, upcoming solutions should have a white background. Here’s what it looks like:

WOBOT 2.3 showing previous solutions and added words
(click to expand)

So at least in theory, from this list only the words AMONG, ANNOY, APING and ARBOR could appear as Wordle solutions tomorrow.

[Update 4 – 2/25/2023]

The Times keeps statistics on each player, particularly what they call a “streak” defined as the number of consecutive days a player has successfully completed the puzzle. I reached a milestone today:

Wordle streak 50 games graphic

The Times celebrated with me by selecting this special word for February 25, 2023:

Todays solution was “FIFTY”
Here’s the latest version of WOBOT getting it in 3
(click to expand)

[UPDATE 5 – 3/24/2023]

Yesterday, WordleBot made a better guess than I did. WOBOT picks the best word to make future guesses more productive; it doesn’t take into account the possibility that it just might guess the solution from pure luck. The new WOBOT, Version 2.7, has an option to limit its guess to possible solutions. It worked to good effect today.

WOBOT Version 2.7 – NEW “Limit to Possibles” mode
(click to expand)

[Update – 3/27/2023]

Today the world Wordle changed.

On April 7, 2022, the New York Times introduced the WordleBot to compete with human players and comment on player guesses. In that article, the Times wrote:

WordleBot solves the 2,309 possible Wordles using the fewest number of guesses…

Introducing WordleBot, the Upshot’s Daily Wordle Companion

Google found the list buried in a file at the Times. There are other websites that track the daily answers to each Wordle game, all 645 of them before today, such as this from the Rock, Paper, Shotgun website.

Today the answer was “GUANO” and that word is not on the Times list.

Oh brave new Wordle that has such BS in it!

This change will require a little tweaking to WOBOT, but the longer-term problem is knowing the full list of possible solutions. WordleBot says that there are 3,154 (that has changed too — now they say it’s 3160 words!) words that it uses. I’ve been accumulating an expanded list that WordleBot leaks in its daily guess evaluations. I’ve uploaded my current list of extensions to the original list (now 80 words short of 3,160). I may revise it from time to time as I glean new words.

[Update – 4/18/2023]

I cannot say whether this has ever happened before, but today WordleBot failed to solve the puzzle, expending all 6 guesses without hitting on the solution. Here’s WordleBot’s concession.

This illustrates a problem, particularly in hard mode: as soon as the third line condition was reached, there is no strategy allowed in hard mode but guessing what the first letter is until it’s solved or all guesses have been used up. And even after 6 guesses, the solution could be HOUND or FOUND.

WOBOT and WordleBot made the same initial guess, but WOBOT picked PRION as its second guess instead of CRONY. PRION left a little more wiggle room, so that my third guess, BUNCO was allowed, eliminating BOUND, POUND and ROUND. In the end, WOBOT was not assured of a solution either with 3 more guesses and 4 possible solutions (5 if counting the previously appearing solution FOUND).

This poor performance by WordleBot moved it below WOBOT in my average performance score tabulation. WOBOT RULEZ!

The question remains, whether this situation could have been averted by a different second guess strategy.

About Kevin

Just an old guy with opinions that I like to bounce off other people.
This entry was posted in Games, Technology and tagged , , . Bookmark the permalink.

28 Responses to The WOBOT Chronicles

  1. Kevin says:

    Wordle 665 3/6*

    ⬜⬜🟨⬜⬜
    ⬜🟨⬜🟨🟨
    🟩🟩🟩🟩🟩

  2. Kevin says:

    Today, I set out to extend my 77-game streak. My first guess was “seven” and that left only 4 possible solutions. The solution I picked was either the correct one, or would limit it to just one in the third round. I picked correctly:

    Wordle 644 2/6*

    ⬜⬜🟨🟩⬜
    🟩🟩🟩🟩🟩

  3. Kevin says:

    Wordle 643 3/6*

    ⬜⬜⬜⬜🟩
    🟩🟩🟨⬜🟩
    🟩🟩🟩🟩🟩

  4. Kevin says:

    Recent results

    ————–
    WOBOT 631 3/6*
    SAFER: BBBBY
    GRIOT: BYYBY
    BIRTH: GGGGG
    ————–
    WOBOT 632 4/6*
    HEIST: BYBBB
    CARED: BYBYB
    ANKLE: YBBYG
    BLAME: GGGGG
    ————–
    WOBOT 633 3/6*
    LEAST: YBBYB
    SKILL: GBBGB
    SURLY: GGGGG
    ————–
    WOBOT 634 4/6*
    LEAST: BYBYB
    SPIRE: GYBBY
    SHEEP: GBGGG
    SWEEP: GGGGG
    ————–
    WOBOT 635 5/6*
    LEAST: BYBBB
    DINER: YGBGG
    WIDER: BGGGG
    RIDER: BGGGG
    CIDER: GGGGG
    ————–
    WOBOT 636 3/6*
    TRACE: BBGBY
    HEALD: BGGGB
    MEALY: GGGGG
    ————–
    WOBOT 637 3/6*
    STYLE: BYYBB
    PATTY: BGYBY
    YACHT: GGGGG

  5. Kevin says:

    WOBOT 632 4/6*

    ⬜🟨⬜⬜⬜
    ⬜🟨⬜🟨⬜
    🟨⬜⬜🟨🟩
    🟩🟩🟩🟩🟩

    Lucky last guess, or else it would have been 5. WOBOT with this release now saves a record of its games.

    Wordle 632 4/6*

    ⬜🟨⬜⬜⬜
    ⬜🟨⬜🟨⬜
    🟨⬜⬜🟨🟩
    🟩🟩🟩🟩🟩

  6. Kevin says:

    WOBOT 631 3/6*

    ⬜⬜⬜⬜🟨
    ⬜🟨🟨⬜🟨
    🟩🟩🟩🟩🟩

    WOBOT can now share its results, just like WordleBot.

  7. Kevin says:

    Remarkable result today:

    Wordle 630 2/6*

    ⬜🟨🟨🟨🟨
    🟩🟩🟩🟩🟩

    I just pulled a guess out of the air and only three words remained; one was a WordleBot addition, not an potential solution, and one was a previous answer. There was only one possible solution left.

  8. Kevin says:

    Wordle 627 3/6*

    🟨🟩🟨⬜⬜
    ⬜🟩⬜🟩🟩
    🟩🟩🟩🟩🟩

    Today WordleBot took 4 guesses. WOBOT and WordleBot take the same number of guesses on most games, but when that’s not the case like today, WOBOT most often needs fewer. Today WOBOT and WordleBot made exactly the same first and second guesses; the difference turned out to be the potential solutions list. WordleBot has the word “VENAL” as a potential solution and WOBOT doesn’t. When I added VENAL to WOBOT’s list, it made the same third guess as WordleBot (internally they are quite similar) and WOBOT guessed wrong too.

  9. Kevin says:

    If it’s any consolation, WordleBot had a hard time today too.

    The average NY Times reader got it in 4.

  10. Kevin says:

    The battle between WOBOT and WordleBot seems quite similar, but there was one big difference. Both had 4 words left after the second guess. WOBOT’s list contained only 1 word that was on the official list and had never been used before. WordleBot had 1 that had been used before and 3 open candidates; it was lucky to get it in 3.

  11. Kevin says:

    Wordle 618 4/6*

    ⬜⬜⬜⬜🟩
    🟨⬜⬜🟩🟩
    ⬜🟨🟨🟩🟩
    🟩🟩🟩🟩🟩

    After 2 guesses, WOBOT had it down to 2 words. I guessed wrong.

  12. Kevin says:

    Wordle 617 3/6*

    ⬜⬜⬜🟨⬜ (99 words remaining)
    🟩⬜⬜🟩🟩 (1 word remaining)
    🟩🟩🟩🟩🟩

    Here’s how I compared to WordleBot:

    WordleBot and WOBOT made exactly the same first and second guesses, leaving two possible words remaining. WordleBot guessed wrong, but WOBOT knew that one of those words wasn’t on the official list of words, and so picked the other. WordleBot doesn’t know the official list, but works from an expanded list.

  13. Kevin says:

    Wordle 616 3/6*

    ⬜⬜⬜🟩⬜
    ⬜🟩🟩🟩🟩
    🟩🟩🟩🟩🟩

  14. Kevin says:

    Wordle 614 3/6*

    ⬜🟨🟨⬜⬜
    🟨🟩⬜🟨⬜
    🟩🟩🟩🟩🟩

    89 Words after the initial guess of LEAST, the NY Times WordleBot’s top guess when playing in hard mode. WOBOT narrowed to 3 with its second guess. One of those remaining words had been a solution before; one was a common word, but not on the official solutions list. That left just one word to guess for the third.

  15. Kevin says:

    Wordle 612 4/6*

    ⬜⬜⬜⬜⬜
    ⬜🟨⬜⬜⬜
    ⬜🟩🟨⬜🟩
    🟩🟩🟩🟩🟩

    The first guess left 287 words remaining. The second 8; the third 2. I guessed right a the end.

  16. Kevin says:

    Wordle 611 3/6*

    ⬜⬜🟨🟨🟨
    ⬜⬜🟩🟩🟩
    🟩🟩🟩🟩🟩

    In some sense, I had the curse of being lucky this morning. If an early guess is pretty good (like my second guess here), guesses in hard mode are limited. After 2 guesses, 2 words remained. I guessed and got it right. If I had played in regular mode, I would have been certain of the solution after the second guess.

  17. Kevin says:

    Wordle 610 3/6*

    ⬜⬜⬜⬜⬜
    ⬜🟩🟩⬜🟨
    🟩🟩🟩🟩🟩

    My first guess was abysmally bad (I guessed CARTE) narrowing it down to 346 words, but WOBOT’s second guess narrowed it down to a single word.

  18. Kevin says:

    Wordle 609 3/6*

    ⬜🟨🟨⬜⬜
    🟩⬜⬜🟩⬜
    🟩🟩🟩🟩🟩

  19. Kevin says:

    Wordle 607 3/6*

    ⬜⬜🟨⬜⬜
    🟨🟩⬜⬜⬜
    🟩🟩🟩🟩🟩

  20. Kevin says:

    Wordle 607 3/6*

    ⬜⬜🟨⬜⬜
    🟨🟩⬜⬜⬜
    🟩🟩🟩🟩🟩

    The asterisk indicates play in hard mode.

    WOBOT had it down to 4 words, two of which had appeared as solutions previously. I guessed from the remaining two and was lucky.

  21. Kevin says:

    Wordle 593 3/6
    ⬜🟨⬜⬜⬜
    🟨⬜⬜⬜🟨
    🟩🟩🟩🟩🟩
    Down to 76 words after the first guess, and the second guess took it down to one.

  22. Kevin says:

    Wordle 592 3/6
    ⬜⬜⬜🟨⬜
    🟨🟨🟨⬜⬜
    🟩🟩🟩🟩🟩
    Down to 1 word after the 2nd guess.

  23. Kevin says:

    Wordle 591 4/6
    🟨⬜⬜⬜⬜
    🟨🟨⬜🟩⬜
    🟩⬜⬜⬜⬜
    🟩🟩🟩🟩🟩
    88 words left after the initial guess. Second guess narrowed it to three. And for the 4th day in a row, the Times WordleBot picked the same second guess as WOBOT based on my first pick.

  24. Kevin says:

    Wordle 599 3/6
    ⬜🟩🟩⬜⬜
    ⬜🟨⬜⬜⬜
    🟩🟩🟩🟩🟩
    After 2 guesses WOBOT had narrowed it down to just two choices, noting that one of them had already been a solution. So we picked the other one and got it in 3.

  25. Kevin says:

    WOBOT had a lucky morning, even playing in hard mode (not that it made any difference).
    Wordle 603 2/6
    ⬜⬜🟩🟩🟩
    🟩🟩🟩🟩🟩

  26. Kevin says:

    Wordle 605 4/6*
    ⬜⬜⬜⬜⬜
    ⬜🟨⬜⬜🟨
    🟩⬜🟩🟩⬜
    🟩🟩🟩🟩🟩
    Hard mode with extremely unlucky first guess.

  27. Kevin says:

    Wordle 606 3/6*

    🟩🟨🟨⬜⬜
    🟩🟩🟩🟨⬜
    🟩🟩🟩🟩🟩

Leave a Reply to Kevin

Your email address will not be published. Required fields are marked *