Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • I made a Wordle solver in Clojure a while back which is backed by an English word frequency database. My family believes it is cheating to use it. Much more fun to write that code than to play the game though :D
  • The NYT world bot that "reviews" your game also has entropy as one of the things it addresses I think.

    I prefer to not have or use predetermined words. It's most fun to actually feel like you have a chance at solving it in one, and have the challenge of more or less information from first play. It's interesting to compare the solve distribution that the game lists when you're done. I wonder what information can be gleaned from that?

  • To paraphrase von Neumann, isn't that how everyone does it?
    by kps
  • Yeah, exactly. My girlfriend did it too, using information theory. In my solution, I did chose a word that minimized the size of the larger set of possible guesses. It's not strictly information theory, but it's a good approximation of finding 'the word that brings the most information [this turn]'.

    I suspect that this researchers work involves formalizing and proving the optimality of their solution.

  • It's trivial to determine the best guess at any point based on what options it cuts out.

    But I ended up building an alphaWordle, using MCTS and a reinforcement loop just to get a feel for how AlphaGo approach to solving games works.

    It's not a 'smart' way to solve it, but its pretty instructive and I could compare its moves to the theoretical best move to see it progress.

    https://github.com/adamgordonbell/bitter-lesson-demos

  • I wrote a wordle solver that was fairly straightforward; it just brute-forced all of the possible outputs, minimizing the maximum number of remaining possibilities.

    The very first step was too slow to be interactive (IIRC it took about a minute), but fortunately can be precalculated. With a good first-guess, the number of remaining words is small enough that you can just brute-force.

    Note that this is not theoretically optimal; you would want more than one level of lookahead for that, but it's good enough to solve almost the entire YAWL dictionary in 6 guesses or less.

  • Hacker News commenter uses grep -i ^.u...$ /usr/share/dict/words | grep -i c | grep -i -v '^..c..$' | grep -i -v '^...c.$' to crack today's Wordle
  • I admit after a half hour of flailing a couple of days ago I got desperate enough to use /usr/share/dict/words. Turns out "emoji" isn't in my copy.
  • >In simulations, their approach solved 99% of Wordle puzzles, while the traditional method solved just 90%.

    This seems wrong to me, getting a 98%+ solve rate for Wordle is pretty common.

  • I'd quickly realised that a set of words which covered most of the alphabet (20 words, leaving b, g, j, q, v, and z excluded) allowed solving virtually all Wordle puzzles. The game quickly lost any challenge.

      wimpy
      crowd
      thank
      fuels
    
    Altering order might give faster results. The order presented leaves the most common letters (e, t) for last. Z is quite uncommon, q is virtually always followed by u, similarly common pairs such as ch, sh, and th, as well as three- and four-letter combinations ing and tion, though those won't show frequently in five-letter words of default Wordle.

    It would be possible to vary word choice based on revealed matches and hits, but if your goal is simply to solve (rather than minimise attempts), the above list works quite well.

  • gotta see how your strategy holds up in sexaginta-quattuordle
  • > I'd quickly realised that a set of words which covered most of the alphabet (20 words, leaving b, g, j, q, v, and z excluded) allowed solving virtually all Wordle puzzles. The game quickly lost any challenge.

    You can even go further—there's a set of 5 words which uses 25 out of 26 possible letters, leaving you one more word to enter the right answer.

    But here's the thing: while that means you'll almost always win, your # of guesses will always be high.

    > but if your goal is simply to solve (rather than minimise attempts)

    Pretty much nobody's goal is to simply solve. Once they've played it for a few days, everybody's goal is to minimize guesses. That's the flaw in having a long word list—you always do badly.

  • > The game quickly lost any challenge.

    I only play on hard mode for this reason. My next guess must always be a possible answer based on my current information, and that varies the puzzle enough from day to day that I still find it enjoyable to play occasionally.

  • This isn't groundbreaking science, sure, but it is a great way to get people interested in a topic. After all, it wouldn't be on Hacker News if the word Wordle wasn't in it. I'm a huge fan of using things like this to teach science, math and engineering.

    We started using "Solve 100 Wordles programmatically" as our technical interview, and people _love_ it. They get really into it and have fun. It's pretty easy to do inefficiently, and it's great to watch people build on it and try to improve their scores.

    It has two benefits: 1/ everyone clearly understands the problem 2/ people see it as fun rather than a drag.

  • it's a drag... i mean if you're 22 it's fun. if you love games, or you're older, or mature, i don't know. the pretentious stuff Josh Wardle says is tough. (https://gdcvault.com/play/1027882/-Wordle-Doing-the-Opposite). he says all sorts of stuff that is wrong ("innate understanding of language" except if you're a kid, which is the average gamer...)

    it's like when interviews asked people to implement 2048. it's not even the best version of that game, Threes! is.

  • Another small benefit: Everybody understands this isn't what the job is. Nobody is hiring you to beat Wordle, and you solving this is clearly not somehow on the path to their actual task, they are asking you if you can write software which solves a problem and you're demonstrating that you can do that, which makes sense.

    I think "Solve 100 Wordles programmatically" sounds like a lot of work, so that'd probably be a "No" from me unless it was last hurdle for a job I was enthusiastic about but unlike "Write a program to solve this class of graph problem" I at least wouldn't be worried that you're trying to get me to do work for free.

    Actually Wordle solver as Code Review task sounds like maybe a more interesting live interview than the one we do today. "Here's this mediocre Wordle solver, what is your feedback in review?" has the advantage that they've probably seen a Wordle puzzle before but it's not an example problem they've seen in fifty textbooks.

  • I thought this was old news? I remember people making videos about using information theory to solve Wordle back when it was particularly hyped. (After writing this I checked, there's even a 3 blue 1 brown video on this)

    My favourite along those lines was solving wordle in 1 guess using the distribution of coloured squares on social media https://www.kaggle.com/code/benhamner/wordle-1-6

  • I had wondered if getting wordle in 1 based on social media data was possible! Now I know.
  • It's not clear how the strategy in the article differs from the one used by Wordle Bot, the analysis/feedback system that Wordle links to on the victory screen at the end of the game: https://www.nytimes.com/interactive/2022/upshot/wordle-bot.h...

    The first page of the published paper ( https://orb.binghamton.edu/nejcs/vol8/iss1/6/ ) also claims that the game was developed by "Josh Wordle", so maybe it just isn't the highest-quality scholarship in the world.

  • Yes 3blue1brown made a series of videos which explains it : https://www.youtube.com/watch?v=v68zYyaEmEA ; https://www.youtube.com/watch?v=fRed0Xmc2Wg .
    by GL26
  • I crushed wordle within a few days of its popularity entering my sphere. It was pretty easy to brute-force a decision tree minimizing the average number of guesses using a lowly python script and a few days of qpu time.

    Don't Wordle[1] is significantly more interesting; I've got a solver but the maximum score takes my lowly python script upwards of a day (per day) to solve using brute force. For now, I solve it with a heuristic that terminates in about 20 minutes. My old wordle solver was useful to find a good but suboptimal tree for identifying the answer in 5 undos or less.

    Today:

      Don't Wordle 1491 - SURVIVED
      Hooray! I didn't Wordle today!
      ..... 8089
      ..... 4647
      ..... 2492
      ..... 1026
      .Y... 231
      ..G.. 100
      Undos used: 3
    
        100 words remaining
      x 10 unused letters
      = 1000 total score
    
    My puzzle ethics are: you can and should download the dictionaries of valid answers and valid guesses, you're allowed to keep them separate, but you must not keep the list of answers in its original order.

    [1] https://dontwordle.com/

  • what's qpu?
  • I "crushed it" when it came out with Right click -> View source -> Find the list of words. All the future words were in the code already.
  • Another great variant is Unfair Wordle [1]. The opponent does not fix the answer upfront but instead evades the player's guesses as long as possible, providing you with the least information it legally can give (according to the usual rules) while still preserving a valid game completion path. The result is that your guesses end up looking extremely unlucky in retrospect.

    [1] https://tweakimp.github.io/unfairwordle/