Hacker News Re-Imagined

Best Wordle guessing strategy

  • 143 points
  • 13 days ago

  • @splch
  • Created a post

Best Wordle guessing strategy


@IMAYousaf 12 days

Replying to @splch 🎙

I personally always start with the word OUIJA.

From there it's simple to rotate if any of the vowels get picked up into words with common non-vowels like S and T etc.

If no vowel appears out of OUIA, I always go for a word like STREP.

Becomes relatively trivial from there.

Today (01/13/2022) the word was ABBEY.

I'll represent GREEN squares with * and GREY squares with ^

It went as follows:

OUIJA^ B^E^A^ST FA^B*LE^ ABBEY

After FABLE, the first word I could think of that had at least 1 A, at least 1 B, and at least one E was ABBEY.

Reply


@csours 12 days

Replying to @splch 🎙

Using only my memory of Wheel of Fortune default letters, I use

ARTSY MODEL CHUNK

They may not be the best words in the world, but I thought of them, so they are best to me.

Reply


@Adrock 13 days

Replying to @splch 🎙

I computed the Pareto optimal frontier of initial Wordle guesses, showing the tradeoff between maximizing green squares and maximizing yellow squares in this thread: https://twitter.com/adereth/status/1478435989982875648

Reply


@handmodel 13 days

Replying to @splch 🎙

I really like the "hard" version of Wordle better where you can only guess clues which make sense given the clues. It seems more in the spirit and although there may be 26 ideal starting words it would be very hard to memorize the set list of words that could be the best guesses as a result.

Reply


@andrewingram 13 days

Replying to @splch 🎙

I prefer to minimise vowels in early guesses, because I find i'm good at filling in the blanks between consonants, but not the other way around.

Reply


@plank 12 days

Replying to @splch 🎙

Seems that another thing to consider is multiple usages of same letter. Eerie for instance. So if the first try gets a single letter, this does not immediately mean that one should not try multiple letters.

Considering that eg the letter e is used very frequently, one might try words with more the one e, for instance? Off course this does not mean that I have a different, best strategy, only that it might be more complicated.

Reply


@paxys 13 days

Replying to @splch 🎙

I don't like the "exploration" strategy of playing Wordle. Once you have a start word, work onwards from there (aka "hard mode") rather than enter another random guess to narrow down more letters. I know it is a valid strategy, but idk just feels like cheating to me.

Reply


@k2xl 12 days

Replying to @splch 🎙

Do any bots incorporate the history of wordle words? Wordle never repeats previous words so I wonder if the “best Xth word to guess” could change at some point?

Reply


@Syzygies 12 days

Replying to @splch 🎙

    5.291 soare
    5.294 roate
    5.299 raise
    5.311 raile
    5.311 reast
    5.321 slate
    5.342 crate
    5.342 salet
    5.345 irate
    5.346 trace
    5.356 arise
    5.360 orate
    5.370 stare
    5.382 carte
    5.390 raine
    5.400 caret
    5.402 ariel
    5.406 taler
    5.406 carle
    5.407 slane
Shown are the twenty best initial guesses using Claude Shannon's definition of information entropy. Each number is the expected number of yes/no questions needed to resolve the remaining uncertainty. Shannon is the "father of information theory", and this is the right measure.

One might recognize SOARE as identified elsewhere by a different measure. I am relieved that I give up very little by moving down to the first word I recognize on this list.

This takes about 20 minutes to code in Ruby, and four minutes to run. There's no point to using a more efficient language, or wasting part of an hour as I did searching for a clever way to score guess words.

In the 1960's my dad used entropy to program Jotto on Kodak's computers. It wasn't feasible then to evaluate every possible clue word, but he determined that one did well enough with a random subset.

Reply


@jlynn 13 days

Replying to @splch 🎙

Two things I've wanted to explore with Wordle:

1. Some sense of "par". Can you crawl twitter for everyone's solution tweets and get a sense of the average guesses for the day? 2. "Unwordle". For people who follow the hard-mode rules, how far can you get deciphering their guesses based on their shared color grid? Could you make it competitive between friends to see how well you can guess each others guesses? Would that encourage more creative guesses to trick your friends?

Reply


@wizofaus 8 days

Replying to @splch 🎙

FWIW, I just had a game where these were my guesses:

IRATE SOUND PLUMB FOUND (the answer)

In fact I nearly always play "SOUND" after "IRATE", even if I know it can't be correct, and in this case I knew PLUMB couldn't be correct - after the 2nd word I knew it was -OUND, but there are a lot of words ending in -OUND, so I wanted to eliminate as many as possible in the next move. PLUMB would either eliminate or indicate POUND MOUND or BOUND as the solution, and once it did the former, it was either FOUND HOUND WOUND, and I got lucky. In fact I should have played WHOMP which would have given me a better chance (given LOUND is not a word). In this sense the game is somewhat different to the coloured peg game "Mastermind", where there's no benefit in making a guess that can't possibly be correct.

Reply


@AnotherGoodName 13 days

Replying to @splch 🎙

You could probably have fun with

Player 1) create a predictable process that can guess wordle words

Player 2) given the full code of 1 find a word that will not be found by that process in 6 steps

The game is over if someone can decide a process that catches all valid 5 letter words in 6 steps.

Reply


@oli5679 12 days

Replying to @splch 🎙

If it wasn't for the 6-guess limit and you had a vocabulary, then you could use minimax to try and minimize the maximum number of guesses.

E.g. assuming you make the best possible future guesses but your opponent has chosen the least convenient word and propitiating up these minimum and maximums.

I am trying to think if this can be tweaked?

Reply


@not2b 12 days

Replying to @splch 🎙

I've picked a first word with the most common letters (ATONE for example), then do a grep on the 'enable1' word list (the one that a number of word games use) to exclude all 'impossible' words. The second word is chosen to have many common letters not in the first word but also matching any constraints. Then I do another filter; often by the 3rd guess there are fewer than 100 possibilities left. I then choose the word that seems the most common, because Wordle often chooses relatively common words as the answer, I haven't seen an obscure word picked yet. I've gotten it in three this way a couple of times, and if not, repeating the grep pipeline often leaves only a few words for the fourth guess.

Reply


@petercooper 12 days

Replying to @splch 🎙

Like many, I spent some time thinking about this, and realized if I could analyze the words used so far, I could find some patterns. For example, the creator might not ever use plurals meaning RATES might not be such a helpful starting word with the S.

So I Googled the last several solutions to find such a list and instead I found... a gist where someone had reverse engineered the game and put up a list of every solution, including for the next several months. On the plus side, I now don't spend time on the game.. but this is perhaps a warning to not go down the rabbit hole yourself if you want to keep playing ;-)

Reply


@meterplech 13 days

Replying to @splch 🎙

I built a command line wordle solver that provides an updated best guess as the game progresses and you learn more. Right now it's just based on word frequency, but working to add more.

Also added a command line version of wordle in case you want to play more and practice and a simulator I'm using now to explore optimal strategy more.

https://github.com/jkatzur/wordle-solver

Reply


@yogrish 12 days

Replying to @splch 🎙

Best start would be to start with a word with maximum VOWELS.(PIOUS,SAUTE etc). Next guess can be based on previous yellows/greens.

Reply


@natch 13 days

Replying to @splch 🎙

I'm looking for the best strategy for guessing which Wordle app in the App Store is the real one.

Reply


@vple 13 days

Replying to @splch 🎙

I also wrote a tool for playing: https://github.com/vple/wordle-solver/blob/main/solver.js

There's probably more tuning I can do for the algo, but roughly:

- I took all the words from the site's js as the dictionary.

- From remaining eligible words, compute the letter distribution (ignoring letters you already know are in the solution).

- Pick a word that uses as many of the most frequent letters as possible.

- Use one of those as a guess.

The goal is essentially to greedily reduce the remaining candidate words as much as possible per guess.

Reply


@rckrd 13 days

Replying to @splch 🎙

My contribution to the best-first guess on Wordle is a greedy algorithm that picks the word that eliminates the most solutions. [1]

[1] https://matt-rickard.com/wordle-whats-the-best-starting-word...

Reply


@carderne 12 days

Replying to @splch 🎙

I did something similar including third guesses, but got bored before including letter positions. I included a whole bunch of words in case anyone wants to mix it up each morning. [0]

The main problem I think is that the words certainly aren’t chosen purely randomly, so the actual letter frequency could be completely different…

[0] https://rdrn.me/wordle/

Reply


@deepsquirrelnet 13 days

Replying to @splch 🎙

I'm sure this is an application for Bayesian Inference, but I'm too uneducated to say anything more insightful than that.

Reply


@MauranKilom 13 days

Replying to @splch 🎙

It seems clear to me that there is an optimal starting word, but that the best second word has to depend on the info you gain from the first.

Case in point: If you get 3 green 2 yellow in the first word, you can solve on the next guess.

Of course, you can constrain your strategies to "I always use the same two/three starting words", and in many cases that will be fine. But it's quite obviously not optimal.

Also, the optimal strategy must depend on your goal metric. Do you go for "least average guesses", "least maximum guesses", or "least average guesses while never losing"? There's lots of unstated assumptions in all the analyses thrown around...

Reply


@manuw 12 days

Replying to @splch 🎙

Yesterday I had fun to find out what's the best "opener" for Wordle. I wrote quickly something about it here[0] and here[1]. Looks like "irate" is a good opener.

[0] https://dev.to/mnlwldr/opener-for-wordle-11k0

[1] https://twitter.com/mnlwldr/status/1481678410854412289

Reply


@pfooti 12 days

Replying to @splch 🎙

Just use SWALE, it hasn't done me wrong yet.

Reply


@Mizza 13 days

Replying to @splch 🎙

What's the opposite - a "bongcloud" for Wordle?

Reply


@ledauphin 13 days

Replying to @splch 🎙

I did some work on this as well.

One thing I think this analysis seems to be missing is taking into account letter position within the word set. If you take that into account, it actually shifts the first guesses, since you're far better off to discover a green square than a yellow one.

There are some pretty weird words that pop up if you do this analysis, so I've settled on some that are slightly suboptimal but won't make me feel like a robot every day.

I will say that "cares", in my analysis, is a significantly better option than the author's suggestion of aeros, because "e" is more common in position 4 than in 2, and a is much more common in position 2 than 1.

Reply


@colinmsaunders 13 days

Replying to @splch 🎙



@baby 13 days

Replying to @splch 🎙

I refuse to read this post because I'm enjoying this slow, daily, little game. I'm convinced over-thinking this would spoil the game.

Reply


@davidw 13 days

Replying to @splch 🎙

“A strange game. The only winning move is not to play.”

Reply


@Kiro 12 days

Replying to @splch 🎙

Always trying a new first word every day makes it much more fun imo. I love sitting with a blank Wordle and just let my mind try to settle on a random 5-letter word from my subconscious.

Reply


@WhiteOwlEd 13 days

Replying to @splch 🎙

I feel the best strategy to win at Wordle would be to see if someone already posted the answer.

If no answer, use reliable hints ( i.e on Twitter) to better inform the initial guess.

Beyond that, the best initial word goes beyond information theory, letter frequency, etc to also be a word that has a realistic chance of being word of the day. As a trivial example, AEIOU may reveal some information on the first guess, but I find it extremely unlikely that you will win Wordle in 1 with this guess.

Reply


@christiangenco 12 days

Replying to @splch 🎙

I modeled my Wordle solver[1] after Donald Knuth's Mastermind strategy[2].

An optimal guess is found by looking at the list of possible solutions and for each of those possible solutions checking how much each possible guess would narrow down the list of possible solutions.

Once you have a list of all possible guesses and how much each of those possible guesses would narrow down the total number of possible solutions for each possible solution, sort them by the maximum number of total remaining guesses.

The optimal first guesses from my solver are ARISE, RAISE, AESIR, REAIS, or SERAI because each will narrow down the possible word list to at minimum 168 remaining words.

Each guess after that uses the same algorithm with the list of possible guesses filtered with the information you learned in previous guesses.

edit: formatting

1. https://wordlesolver.com source: https://github.com/christiangenco/wordlesolver

2. https://math.stackexchange.com/questions/1192961/knuths-mast...

Reply


@mar_3104 12 days

Replying to @splch 🎙

SPADE WROTH CLIMB FUNKY

Left:GJQVXZ

Reply


@Imnimo 12 days

Replying to @splch 🎙

I think there are two natural optimization criteria.

One is to try to maximize the expected information gain of your guess. If we have an initial set of 128 possible words, we begin with log2(128) = 7 bits of entropy. When we make a guess and receive a response, we narrow down the list of words to the set compatible with that response. If, for example, there are 32 words compatible with our response, then we now have log2(32) = 5 bits of entropy, and our guess was worth 2 bits. For a given guess, there are many possible replies each with its own information gain - in the best case, we get all greens, and are left with 0 bits of uncertainty (for a gain of 7), while in other cases we may get all greys, and learn comparatively little. Further, each reply has its own probability of occurring - all greens is only 1/128, but other replies might be more likely if there are several possible targets that would generate the same reply. Thus, we weight the information gain of each reply by its probability to arrive at the expected information gain for that guess. For the word list provided in the article, I get TARES as the best first guess by this metric.

The second strategy is to continue down the game tree, and find the guess with the lowest number of expected (or alternatively the lowest worst-case) number of guesses. In principle, we might find that while TARES gains us a lot of information as a first guess, it leaves us without a good second guess (since we are restricted to guessing real words, and those words might all be redundant in some way), and thus our total expected number of guesses is larger than if we had taken a slightly less informative first guess. My hunch is that in practice this sort of situation is unlikely to occur, and the best first guess by this metric is probably similar to that of the first metric, although I haven't tried.

Reply


@jonathankoren 13 days

Replying to @splch 🎙

I made my own Wordle solver recently that uses frequency analysis of letters and bigrams of five letter English words as a scoring function. It works fairly well.

Someone in this discussion suggested using frequency analysis at position, which seems interesting, especially when trying to locate misplaced letters. I might have to try that.

https://github.com/jonathankoren/wordle-solver

Reply


@Jedd 13 days

Replying to @splch 🎙

A friend wrote up a post a couple of weeks ago about solving Wordle with python:

https://poetix.medium.com/playing-wordle-with-python-6750185...

I note that a very recent Wordle game used the same letter twice, rudely negating one of his otherwise quite reasonable assumptions there.

Reply


@tobinfricke 13 days

Replying to @splch 🎙

Yet another Wordle solver!

https://github.com/nikitaborisov/autowordl

We choose the guess that is expected to result in the smallest set of possible solutions after one guess.

For the secret answer "QUERY" it suggests the following sequence of guesses:

1. LARES

90 possible answers after this guess.

2. GROUT

Only four possibilities now: ['ENURE', 'INURE', 'QUERY', 'QUIRE']

3. BRIBE

This narrows the field down to one possibility:

4. QUERY

Reply


@thurn 12 days

Replying to @splch 🎙

I also did this and also got AEROS/UNLIT (well, AROSE/UNTIL in my case). You've made the same minor error I did of looking at the frequency distribution of all guessable wordle words, not the smaller list of possible answers, which has a different frequency distribution. If you look at that you get ORATE/LYSIN as the best starting pair (based on frequency only, not considering position)

Reply


@mmmrtl 13 days

Replying to @splch 🎙



@less_less 12 days

Replying to @splch 🎙

I also tried to make a wordle solver, this one just using full brute force to find a strategy that minimizes the maximum number of guesses, and then secondarily the expected number of guesses. The solver tries guesses in a heuristic order, and prunes solutions once they're clearly worse than a previously-found solution, but it eventually should find the global optimal strategy.

I didn't entirely succeed due to the obvious exponential runtime, but I tried a couple constraints: using only words in the dictionary of possible answers; hard mode; or "harder mode" where all guesses must be consistent with the information you have. (The actual hard mode is a weaker constraint, but I misinterpreted it as "harder mode" at first.) Harder mode is of course much easier to brute force, because there are fewer options.

Anyway I tried on several tuples: (max guesses, mode, dictionary size). What I found:

- (4, harder, large): no solution.

- (4, normal, small): no solution.

- (4, normal, large): didn't finish after like a day, but no solution found.

- (5, harder, small): this is pretty hard to guarantee a win; best starting word is SCAMP (-FLOUT-DEIGN if no hits).

- (6, harder, small): best staring word is PLATE (-CHURN-MOODY-SKIFF if no hits).

- (5, normal, small): didn't finish; best starting word so far is TRACE (-GODLY-SPUNK if no hits).

- (5, harder, large): didn't finish; best starting word so far is PALET.

- (6, harder, large): didn't finish; best starting word so far is SALET.

Hard mode really is hard. There are lots of clusters with many options, such as /.OUND/, /.IGHT/, /.ASTE/, /S.ORE/ etc. You can easily end up matching a cluster without enough freedom to solve it in time, especially if you start with common letters.

It isn't possible to guarantee a hard mode win by starting with with e.g. RAISE, because if you get e.g. RS in yellow and E in green, then you have 6 remaining words matching /S.ORE/ (plus 4 others), and you can't deal with more than one consonant per guess. Starting with TRACE is even worse: you can't even guarantee a win in 7 guesses due to the cluster /.ATCH/.

Reply


@lucideer 13 days

Replying to @splch 🎙

I've spoken to a lot of people who say they take this "exploration" strategy, but I think it misses the human language element of deduction.

I've been playing Wordle for a while and while I'm no wordsmith, if you take an analytical strategy to word selection from line 2 onward it's never that difficult to get 3/6 (which I presume is the highest score attainable without significant luck).

English is one of the most irregular languages, with so many influences and variations, but it still has structure and common patterns. Once you have knowledge from a well selected exploratory 1st line, there's a lot you can deduct about potential variants in the word structure of the answer to make an informed 2nd line choice that'll be dual purpose: both being a good exploratory word and also a reasonably hopeful lucky guess.

Afterall, if you're aiming for 4/6 you're not really aiming very high.

Reply


@sg47 13 days

Replying to @splch 🎙

My first two words are POINT and SHEAR though I'm going to change it to SNARE. This covers most of the vowels and frequently occurring letters. From then on it's trying to guess the other consonants and the position of the letters.

Reply


@schappim 12 days

Replying to @splch 🎙

If you're looking for a source of words to build your own solver, you can find one in many *nixy distros (including macOS) here:

  /usr/share/dict/words

Reply


@aghilmort 12 days

Replying to @splch 🎙

Experimented with goal-based strategies last weekend:

- least time - fewest moves - fewest unique letters - etc.

Most interesting to me was solving in the least time and having fixed words to maximize letter coverage, which theoretically was 25/26 letters during first five guesses. Access to such a list would make it such that the goal is given those words, can we find the answer in less than some fixed time, e.g., one minute from start to finish.

Further interesting was attempting to find such a list without computer assistance, short of having access to word lists and filters, which ultimately led to a near optimal list of words for the first five moves with 24/26 letters:

** spoiler -> the (5) seed words are located at https://pastebin.com/D1DkzXA4 -- the password is gTgRCFrLYL

The 'a' is notably repeated, and worse, is in the same position; was planning to run a computer search to (1) explore if a perfect solution of five dictionary words with entirely unique letters exists &/or failing (1), then (2) is there a list with 24/25 unique letters or 1-2 repeated letters s.t. all letters are in different positions.

There are of course places where such a set of words with fairly maximal coverage still falls short -- a nearly so example is the word pair UNLIT and UNTIL. Determining how many such combos that might be nondeterministic with such a fixed set of starting words exist in the dictionary would be good if someone wanted to dig deeper, e.g., {ARISE, RAISE, AESIR, REAIS, SERAI} which was cited in another comment.

Reply


@kkcorps 12 days

Replying to @splch 🎙

I have been using - WORDS, CHIME, FAULT for the first 3 words. Eliminates all vowels. Then I either proceed to guess the correct position of letters if I have 2-3 yellows from the first 3, or proceed to eliminate consonants.

Reply


@hddqsb 12 days

Replying to @splch 🎙

Interesting post, but the premise is misleading. The title says "Best ... strategy" and the first sentence reads "This post will derive an optimal ... strategy", but there is nothing to suggest that this strategy is optimal.

One strategy which is obviously optimal is to use minimax (recursively, not like Knuth's Mastermind strategy which was mentioned by @christiangenco), however this strategy is not computationally feasible.

---

Aside: There is something broken with this site's history manipulation. When I open the blog post it creates two entries in the history list, and clicking the browser's back button takes me to a page with the same URL as the blog post that displays "Error Page Not Found".

Reply


@Madmallard 13 days

Replying to @splch 🎙

I pretty much always start with stare

Reply


@biesnecker 13 days

Replying to @splch 🎙

Over the weekend I wrote a tool to help me figure this out: https://github.com/biesnecker/wordlesmith

Wordle's wordlist is interesting. There is a large (~10,000 words) list of words that it will accept as guesses but that will never be the answer, and a much smaller (~2500 words) list of words it will both accept and could be the answer.

My tool's simple algorithm scores words by taking the product of the frequency with which each of its letters appears in the wordlist multiplied by the frequency that the letter appears in that specific spot. When looking at the entire list of words the top five choices are:

1. tares 2. lares 3. cares 4. pares 5. dares

However, if you just look at the words that could be answers (which I what I've decided to do), the list changes to:

1. soare 2. saine 3. slane 4. saice 5. slate

In either case I've never had a puzzle where repeatedly choosing the first suggested word didn't get me to the answer in six or fewer guesses.

Reply


@ipsin 13 days

Replying to @splch 🎙

This strategy seems to avoid words that Wordle will accept, while not choosing them as word-of-the-day, e.g. SERAI.

If your goal is to minimize the number of remaining words in the worst case, I think SERAI is the winner, leaving you with at most 697 choices. [Assuming my code is right]

Reply


@YossarianFrPrez 13 days

Replying to @splch 🎙

It's interesting to think about optimal starting words, as some people might be more prone to thinking in terms of phonemes ("th", "ed", "sl") rather than individual letters. For this and other reasons, I imagine cognitive scientists would also be interested in the Wordle play data, as they can look to see which hypothesis testing strategies people people use over the course of game.

Also, one version of Wordle people can play is to pick the best starting word every time, another involves starting with a different word every time.

Reply


@ricardobeat 13 days

Replying to @splch 🎙

This strategy optimizes for figuring out all the letters that are used in today’s word. But that’s not the goal of the game, it’s finding one word in particular. Those sound similar but are not.

In the example given, the first guess already told you there is an E, but then it’s not used in the next guesses. Figuring out the position of that letter, instead of trying to find a third one, will massively reduce your search space, I’m sure someone can do the math on this being more beneficial.

Yesterday I got one green one yellow in the first guess, and got the word in three steps from there. There are very few words that could fit after those two letters + all the excluded ones. You literally just iterate through the alphabet and possible words in your head while excluding the gray letters.

EDIT: just did today in 4 guesses again using this approach. Lucky streak?

My starting word is BACON.

Reply


About Us

site design / logo © 2022 Box Piper