Live data from Hacker News

Adversarial Wordle

qntm.org

41–50 of 72 posts

Re: Adversarial Wordle

#41
post #19

I’ve taken six guesses four times and eight twice. It’s so very tempting to solve it, finding the quickest path, or at least a local maximum if brute-forcing the entire thing turns out to be too computationally prohibitive.

I would bet that it has already been soft-solved by kthejoker2 upthread who got it in 5 guesses. I can't conceive of 3 wrong words being enough to narrow it down to a single possibility. Soft-solved in that he doesn't necessarily have a proof this is the optimal solution, nor an enumeration of all optimal solutions, nor the optimal play from any game state - so there's still plenty to be explored here I wonder if the…

If you're left with BLACK/FLACK/SLACK, you guess BEEFS, which tells you which is the correct one. So two guesses, not three.

Re: Adversarial Wordle

#42
post #8

Somehow, I always get a large tropical seabird... S T E R N (0 green, 0 yellow) P L A I D (0 green, 0 yellow) M U C K Y (1 green, 0 yellow) G O R G E (1 green, 0 yellow) W O O F Y (3 green, 0 yellow) B O O Z Y (4 green, 0 yellow) B O O B Y (5 green, 0 yellow) You guessed successfully in 7 guesses! S T E R N (0 green, 0 yellow) P L A I D (0 green, 0 yellow) B O U G H (2 green, 0 yellow) W O O Z Y (3 green, 0 yellow) B…

Hmmmm....for my first go, I got T R I A D (0 green, 0 yellow) H O N E S (0 green, 0 yellow) C L U M P (0 green, 2 yellow) B U L K Y (3 green, 0 yellow) F U L L Y (4 green, 0 yellow) G U L L Y (5 green, 0 yellow) Looking at the similarities, I'm wondering if the adversarial nature will generally lead to higher-than-naively-expected frequencies of: Words with 'y', as people will tend to 'eliminate' the common vowels ea…

I agree. My word was "HIPPY." I don't know how you would exploit it though.

Re: Adversarial Wordle

#44

Earlier quoted context omitted.

Are you using the same dictionary? I used the same technique, and got: NARES DOILY TOUCH And then VOUCH / COUCH / POUCH / GOUCH / MOUCH.

It's very possible we don't have the same dictionary! I have 8938 words. I confirmed that NARES, DOILY, and TOUCH are in my dictionary. My analysis shows that SERAI's worst-case is 461 words and NARES would have 578. I found my code a bit difficult to debug at the end because it's still halfway decent at playing wordle. So, I fully admit I might not be doing it right! But one thing I also did was allow it to pick a w…

It's worth noting that there are two dictionaries used in this implementation: "possibleWords" (from which the solution can be drawn) and "impossibleWords" (other words that are valid guesses).

https://qntm.org/files/wordle/words.js

These are most likely the same words in the implementation at https://www.powerlanguage.co.uk/wordle/ based on

    ["cigar","rebut","sissy","humph","awake","blush","focal","evade",
showing up in the minified js (which are the first 8 words in possibleWords in order).

Re: Adversarial Wordle

#45

I made my own adversarial wordle just now, not realizing this one already existed: https://swag.github.io/evil-wordle

they are both cool but right now they both have the problem that they don’t recreate the wordle keyboard, which is a big part of what makes the game enjoyable to play.

Re: Adversarial Wordle

#47

With a greedy solver (minimize word pool for the next step), I got ARISE (168) -> BLUDY (13) -> COMET (2) -> NAVAL (1) -> CHUNK. I think five steps is as good as it gets, as 5*5 is about the size of the alphabet. Edit: I stand corrected. YEARN (216) -> FLOUT (12) -> CHAMP (1) -> HUMPH.

This is a 4 step solution: https://twitter.com/zwegner/status/1480037275803308034

Re: Adversarial Wordle

#48

This is great! A few days ago, I wrote a Wordle solver in C. It selects a word to minimize the number of words assuming the worst-case green/yellow. So, it sounds like these two are in direct conflict. My solver is deterministic, and it looks like the adversarial is too, so they always play the same game: S E R A I (0 green, 0 yellow, 429 words remain) M O L D Y (1 green, 0 yellow, 35 words remain) C E N T U (0 greem…

A variation on this path that both uses more familiar words and sticks to 'hard mode' rules is

ARISE

MOLDY

COUNT

VOUCH

POUCH

Re: Adversarial Wordle

#49
Just whipped up a (naive) solve in rust: https://gist.github.com/ysimonson/01a1dee41b1b5990c30568fd25...

It usually solves this in under 6 guesses. The guessing could be improved; at the moment it's random, but it could select for words with non-repeating letters to narrow down the search space faster.

Re: Adversarial Wordle

#50
post #44

Earlier quoted context omitted.

It's very possible we don't have the same dictionary! I have 8938 words. I confirmed that NARES, DOILY, and TOUCH are in my dictionary. My analysis shows that SERAI's worst-case is 461 words and NARES would have 578. I found my code a bit difficult to debug at the end because it's still halfway decent at playing wordle. So, I fully admit I might not be doing it right! But one thing I also did was allow it to pick a w…

It's worth noting that there are two dictionaries used in this implementation: "possibleWords" (from which the solution can be drawn) and "impossibleWords" (other words that are valid guesses). https://qntm.org/files/wordle/words.js These are most likely the same words in the implementation at https://www.powerlanguage.co.uk/wordle/ based on ["cigar","rebut","sissy","humph","awake","blush","focal","evade", showing up…

Good point! And it's clear to me that this isn't the dictionary I was using. I grabbed a random Scrabble dictionary online and filtered for length of five. I'll rework my code to take all this into account and we'll see what happens (it probably will happen later today.)
Post reply on HN