Absurdle

Absurdle is an adversarial variant of the charming and (currently) viral word guessing game Wordle.

The mechanics of Absurdle are identical to Wordle, or as close as I can make them. Among other things, they use very similar word lists. (There are actually two word lists in Wordle: one is a list of 2,315 words which can appear as answers, and the other is a list of 10,657 rather more obscure words which are allowed as guesses but will never appear as answers.) The major difference is behind the scenes.

Wordle picks a single secret word at the beginning of the game, and then you have to guess it. Absurdle gives the impression of picking a single secret word, but instead what it actually does is consider the entire list of all possible secret words which conform to your guesses so far. Each time you guess, Absurdle prunes its internal list as little as possible, attempting to intentionally prolong the game as much as possible.

The easiest way to explain this is with a worked example.

Suppose your first guess is "TERNS".

Absurdle considers every word in its list of 2,315 possible secret words and figures out what its response would be in each case.

If the secret word was... ...then Absurdle's response to "TERNS" would be...
"CIGAR"⬜⬜🟨⬜⬜
"REBUT"🟨🟩🟨⬜⬜
"SISSY"⬜⬜⬜⬜🟨
"HUMPH"⬜⬜⬜⬜⬜
......
"TERNS"🟩🟩🟩🟩🟩

This has the effect of separating all of the 2,315 possible secret words up into different buckets depending on the possible response. In this case, there are 110 of these buckets:

If Absurdle's response to "TERNS" was... ...then the secret word would have to be one of... Number of secret words in this bucket
⬜⬜🟨⬜⬜"CIGAR", "DWARF", "MAJOR", ...136
🟨🟩🟨⬜⬜"REBUT", "REACT", "RETCH", ...12
⬜⬜⬜⬜🟨"SISSY", "BLUSH", "BASIC", ...119
⬜⬜⬜⬜⬜"HUMPH", "FOCAL", "CLUCK", ...256
.........
🟩🟩🟩🟩🟩"TERNS"1

The smallest bucket is of course the 🟩🟩🟩🟩🟩 bucket, which has a single word in it, "TERNS". If Absurdle were feeling nice then it could simply announce, "Success! The word was 'TERNS'! You won in a single guess!" But Absurdle instead does the opposite, and selects the largest bucket, which is ⬜⬜⬜⬜⬜ and has 256 words in it. It prunes its internal list of possibilities from all 2,315 words down to just those 256 words, tells you "No, none of those letters appear in my secret word", and waits for your next guess.

'TERNS' yields all blanks

Let's say your next guess is "APHID". All new letters, of course.

Absurdle does the same thing again.

If the secret word was... ...then Absurdle's response "APHID" would be...
"HUMPH"⬜🟨🟨⬜⬜
"FOCAL"🟨⬜⬜⬜⬜
"CLUCK"⬜⬜⬜⬜⬜
"MIMIC"⬜⬜⬜🟩⬜
......
"APHID"🟩🟩🟩🟩🟩

Notice how "TERNS" isn't one of the possibilities, as it was discarded last turn. This time, there are only 44 buckets:

If Absurdle's response to "APHID" was... ...then the secret word would have to be one of... Number of secret words in this bucket
⬜🟨🟨⬜⬜"HUMPH", "WHOOP", "GLYPH", ...7
🟨⬜⬜⬜⬜"FOCAL", "OFFAL", "GAMMA", ...38
⬜⬜⬜⬜⬜"CLUCK", "BOOBY", "BOOZY", ...36
⬜⬜⬜🟩⬜"MIMIC", "CIVIC", "VIGIL", ...8
.........
🟩🟩🟩🟩🟩"APHID"1

The largest bucket is 🟨⬜⬜⬜⬜, with 38 words in it. So Absurdle returns 🟨⬜⬜⬜⬜ and the game continues.

'APHID' yields one yellow

Let's try "QUACK".

If the secret word was... ...then Absurdle's response to "QUACK" would be...
"FOCAL"⬜⬜🟨🟨⬜
"OFFAL"⬜⬜🟨⬜⬜
"GAMMA"⬜⬜🟨⬜⬜
......
"QUACK"🟩🟩🟩🟩🟩

This leaves just 14 buckets:

If Absurdle's response to "QUACK" was... ...then the secret word would have to be one of... Number of secret words in this bucket
⬜⬜🟨🟨⬜"FOCAL", "COMMA", "CACAO", ...9
⬜⬜🟨⬜⬜"OFFAL", "GAMMA", "BAGGY", ...11
⬜🟨🟨🟨🟩"CAULK"1
.........
🟩🟩🟩🟩🟩"QUACK"1

Absurdle selects "⬜⬜🟨⬜⬜" and the number of possibilities drops to just 11 words.

'QUACK' yields all blanks except for a central yellow

This process continues until you manage to chase Absurdle into a corner, where there can only be one possible word which fits all the available evidence. At this point all the behind-the-scenes shenanigans stop, and the game proceeds exactly as it does in Wordle, until such time as you correctly guess the full word. Of course, by this point, you, the player, also have enough information to uniquely identify the word in question, so this is nearly always the last turn of the game.

...'MAMBO' yields two yellows, 'LOYAL' one yellow and two greens, 'OFFAL' five greens

Playing Absurdle vs. playing Wordle

Wordle is capped at 6 turns, which is generally plenty for a casual player. Some good strategies include picking a good starter word with a good combination of different common letters, applying plenty of logic to the clues returned by the game, and having a broad vocabulary of words to use for follow-up guesses.

Absurdle has no turn cap, because a casual game can easily last for over a dozen turns. The Absurdle AI is highly evasive and it takes real effort to force the game to give up useful information and back it into a corner. A common occurrence in the Absurdle endgame is to nail down all but one or two letters of "the" secret and then be forced to systematically chase Absurdle through all of the remaining possibilities, one at a time. This is called a "corridor":

'STEAM' yields one yellow, 'BOUGH' all blanks, 'WIPER', 'RIVER', 'LINER' and 'CIDER' all yield three greens, and finally 'FIXER' five greens

Because the Absurdle algorithm is completely deterministic, it will always respond the same way to the same inputs. The game relies on the player to supply some randomness in the form of their initial guesses. Make the same guesses, and you'll play the same game.

As for non-casual play... raw word power is critical, as is tactical play — intentionally testing previously untested letters in known (green) locations to gain more information faster, for example. But an extremely popular tactic is to write a computer program to play the game for you. The Absurdle algorithm is an open book — just hit "View source" — and completely deterministic, making it eminently attackable and almost certainly fully solvable. The shortest known games of Absurdle are 4 turns long, for example:

'AIERY' yields a yellow 'A', 'CANST' another yellow 'A', 'DOLMA' two yellows 'L' and 'A', finally 'PUPAL' five greens

It is believed that 4 turns is optimal; it isn't possible to force a win in only 3 turns.

However, I will leave discussion of techniques for attacking Wordle/Absurdle to other people.

Prior art

This isn't really anything new.

Absurdle's spin on Wordle is spiritually very similar to an earlier game/prank of mine, HATETRIS, which is an adversarial variant on Tetris. In both cases I took a game which at a surface level is single-player, with a passive CPU opponent behaving mostly randomly, and turned it into an asymmetric, adversarial game, replacing the CPU opponent with an enemy AI which is actively playing to win.

Additionally, Wordle has a great deal in common with the classic game Hangman, which already is an asymmetric two-player game. The adversarial strategy Absurdle uses is extremely obvious to Hangman players and has probably been known for as long as the game of Hangman has existed. Here's a good video on this topic:

Wordle is also extremely similar to the game Mastermind, which also supports this adversarial strategy: try Galaxybrain, by CHz.

Future work

About two weeks in, I have the game pretty much where I want it to be.

I will not be aiming for feature parity with Wordle. For example, don't expect neat CSS animations, a daily challenge mode or persistent statistics. I will consider further bug reports and feature requests on a case-by-case basis. I reserve the right to modify the word lists.

It is true that nastier algorithms than Absurdle's are possible. By choosing the largest bucket after every turn, Absurdle does not necessarily force the game to run for the maximum number of turns. A smaller bucket can sometimes contain a more diverse collection of possible secret words, which would force the player to spend more turns guessing.

However, in the general case, this optimal (or from a player's perspective, pessimal) min-max approach appears to be completely impractical for Absurdle because of the sheer number of possibilities. With more than 10,000 possible words to guess on each turn, the game balloons to more than a trillion possible different states after just three guesses.

It is possible that the total number of possible game states in Absurdle is, in fact, tractable. Counting the states seems to be pretty difficult, but it might actually turn out to be less than a trillion. Even if it is a trillion or more, the number might still be within practical reach of some kind of brute-force analysis. But even if that is the case, the real question is whether it's practical to cache enough early responses that Absurdle can compute the rest of its strategy on the client, in JavaScript. (I'm not adding a server-side component to this insanely popular game, thanks.) In any case this is an open question which I'm not planning to pursue myself.

I will also not modify the algorithm to behave non-deterministically (randomly) for the purposes of entertainment. This makes the game strictly easier, which isn't my objective. There's now a "random guess" button, which I hope fills that need.

Lastly, I will not be releasing the source code of Absurdle on GitHub.

Thank you for playing, and many thanks to Josh Wardle, creator of Wordle.

Discussion (77)

2022-01-10 00:47:41 by qntm:

Not Wordle, just some flowers β¬›β¬›β¬›πŸŸ¨β¬› β¬›β¬›πŸŸ¨πŸŸ©πŸŸ¨ β¬›β¬›β¬›πŸŸ¨β¬› β¬›πŸŸ¨β¬›πŸŸ©β¬› β¬›πŸŸ©β¬›πŸŸ©β¬› 🟩🟩🟩🟩🟩

2022-01-10 03:03:04 by Tim McCormack:

A short script for printing out the answer pattern after a game: https://gist.github.com/timmc/c80e7e998269bb5adc3dd117912131ae For reasons too boring and irrelevant to mention here I ended up choosing some different emoji, but it's easy enough to change it back to the colored squares. Sample output: ❌❌❌❌❌ AGENT ❌❌❌❌❌ CLOUD πŸ’›πŸ’›πŸ’šβŒβŒ SKIMP βŒβŒπŸ’šπŸ’šπŸ’š BRISK πŸ’šπŸ’šπŸ’šπŸ’šπŸ’š WHISK

2022-01-10 04:53:39 by jrtom:

On the theme of "adversarial", I've been experimenting with figuring out how to make the largest number of guesses while still technically gaining information (eliminating a letter or eliminating an option for where a known letter can go) before I'm forced to solve the puzzle. So far I'm up to 19, but I think I can probably do better.

2022-01-10 05:39:01 by Kieros:

I've been thinking the same thing as well, what's the longest you can go, but with the restriction that it has to be a potential correct answer, rather than just gaining any information.

2022-01-11 14:39:42 by hmmatea:

this is really fun to play with. i am writing some code that finds guesses forcing the AI to end with any word you want (probably the same thing Randy described). i am running into a bit of a problem currently: when there are multiple largest buckets, i can't predict which one the AI picks -- so i can only submit words which produce one objective largest bucket. this makes the guesses quite inefficient. while the one it chooses seems to be deterministic, i don't think i can really predict what it is without copying your code directly (and also having to use javascript) -- as far as i can tell, Object.entries(buckets) doesn't guarantee any particular order of the entries, and i suspect it has something to do with the order in which the elements are added into the dictionary. would it be possible for you to sort the entries in some way (by bucketId should be fine) so that it is possible to calculate which bucket will be chosen? thanks, Matea

2022-01-11 16:46:09 by Aegeus:

Here's an interesting tip: Start off by placing letters you *don't* want to deal with. For instance, if you hate words ending in Y since you have to chase the algorithm through JAMMY, MAMMY, HAMMY, etc, start off with something like DAILY. Since the algorithm minimizes the information it gives at each step, it will decide that the word doesn't end in LY, and close off that whole line of questioning. Obviously this isn't the optimal play, but if you're trying to play the game "fairly" then it can make it a lot easier to think of words.

2022-01-11 23:38:07 by qntm:

hmmatea: I have uploaded a new version of Absurdle which breaks ties between equal-sized response buckets in a deterministic way. You can inspect the code to see precisely how it works, but a simple demonstration is that, if all the buckets had the same size, then this list of response is sorted in order from MOST preferable response at the top to LEAST preferable response at the bottom: ⬜⬜⬜⬜⬜ ⬜⬜⬜⬜🟨 ⬜⬜⬜🟨⬜ ⬜⬜🟨⬜⬜ ⬜🟨⬜⬜⬜ 🟨⬜⬜⬜⬜ ⬜⬜⬜🟨🟨 ⬜⬜🟨⬜🟨 ⬜⬜🟨🟨⬜ ⬜🟨⬜⬜🟨 ⬜🟨⬜🟨⬜ ⬜🟨🟨⬜⬜ 🟨⬜⬜⬜🟨 🟨⬜⬜🟨⬜ 🟨⬜🟨⬜⬜ 🟨🟨⬜⬜⬜ ⬜⬜🟨🟨🟨 ⬜🟨⬜🟨🟨 ⬜🟨🟨⬜🟨 ⬜🟨🟨🟨⬜ 🟨⬜⬜🟨🟨 🟨🟨⬜⬜🟨 🟨🟨⬜🟨⬜ 🟨🟨🟨⬜⬜ ⬜🟨🟨🟨🟨 🟨⬜🟨🟨🟨 🟨🟨⬜🟨🟨 ⬜⬜⬜⬜🟩 ⬜⬜⬜🟩⬜ ⬜⬜🟩⬜⬜ ⬜🟩⬜⬜⬜ 🟩⬜⬜⬜⬜ ⬜⬜⬜🟨🟩 ⬜⬜⬜🟩🟨 ⬜⬜🟨⬜🟩 ⬜⬜🟨🟩⬜ ⬜⬜🟩⬜🟨 ⬜⬜🟩🟨⬜ ⬜🟨⬜⬜🟩 ⬜🟨⬜🟩⬜ ⬜🟨🟩⬜⬜ ⬜🟩⬜⬜🟨 ⬜🟩⬜🟨⬜ ⬜🟩🟨⬜⬜ 🟨⬜⬜⬜🟩 🟨⬜⬜🟩⬜ 🟨🟩⬜⬜⬜ 🟩⬜⬜⬜🟨 🟩⬜⬜🟨⬜ 🟩⬜🟨⬜⬜ 🟩🟨⬜⬜⬜ ⬜⬜🟨🟨🟩 ⬜⬜🟨🟩🟨 ⬜⬜🟩🟨🟨 ⬜🟨⬜🟨🟩 ⬜🟨⬜🟩🟨 ⬜🟩⬜🟨🟨 ⬜🟩🟨⬜🟨 ⬜🟩🟨🟨⬜ 🟨⬜⬜🟨🟩 🟨⬜⬜🟩🟨 🟨🟨⬜⬜🟩 🟨🟨⬜🟩⬜ 🟨🟨🟩⬜⬜ 🟨🟩⬜⬜🟨 🟩⬜⬜🟨🟨 🟩⬜🟨🟨⬜ 🟩🟨⬜⬜🟨 🟩🟨⬜🟨⬜ 🟩🟨🟨⬜⬜ 🟨🟨🟩🟨⬜ 🟩⬜🟨🟨🟨 🟩🟨⬜🟨🟨 ⬜⬜⬜🟩🟩 ⬜⬜🟩⬜🟩 ⬜⬜🟩🟩⬜ ⬜🟩⬜⬜🟩 ⬜🟩⬜🟩⬜ ⬜🟩🟩⬜⬜ 🟩⬜⬜⬜🟩 🟩⬜⬜🟩⬜ 🟩🟩⬜⬜⬜ ⬜⬜🟩🟨🟩 ⬜⬜🟩🟩🟨 ⬜🟨⬜🟩🟩 ⬜🟩⬜🟨🟩 ⬜🟩⬜🟩🟨 ⬜🟩🟨⬜🟩 ⬜🟩🟩⬜🟨 ⬜🟩🟩🟨⬜ 🟨🟩⬜⬜🟩 🟨🟩⬜🟩⬜ 🟩⬜⬜🟨🟩 🟩⬜⬜🟩🟨 🟩⬜🟩🟨⬜ 🟩🟨⬜⬜🟩 🟩🟨⬜🟨🟩 🟩🟩⬜🟨🟨 ⬜⬜🟩🟩🟩 ⬜🟩🟩⬜🟩 🟩⬜⬜🟩🟩 🟩🟩⬜⬜🟩 🟨🟩⬜🟩🟩 🟩🟩🟩🟩🟩 The order of preference is: fewest greens, then fewest yellows, then leftmost clue.

2022-01-14 12:55:06 by EtaoinWu:

The fact that qntm watches jan Misali's video made me happy, somehow.

2022-01-14 17:57:05 by Kate:

Thank you for this addictive game!

2022-01-15 01:22:03 by cyrus:

this'll solve any random guess start within 6 tries https://freshman.dev/wordle based on the 4 turn example, starting with AIERY: AIERY CLOTS SPAWN QUASH

2022-01-15 01:37:38 by Nick:

I play a lot of word puzzle games so I have excellent word sense. The algorithmic proofs interest me. The post regarding 4 guesses as a minimum was a bit thin on details. How many 4 guess sequences exist? Just the one? I have been playing with iteration. Pick a word, and force a solution. Use the solution as the first word of a new game. So far, I have found Absurdle will loop after 5 games if I started with TREAD. What sequence of guesses (and how few needed) will make the game loop?

2022-01-15 01:52:34 by Br. Bill:

Nick, every sequence of guesses will make the game loop.

2022-01-15 04:07:52 by Aaron:

@qntm great idea, very fun concept, thank you for putting it up :)

2022-01-15 04:51:49 by Allen K:

I was pleased by a four-turn game today! EARLY POINT CUBIC FICUS

2022-01-15 09:41:10 by Dan Q:

I implemented a game of hangman that "cheats" using this same general strategy, a few years ago, if you're interested: https://danq.me/2019/09/26/cheatman/

2022-01-15 12:19:37 by SadisticMystic:

Perhaps an interesting subset of games worthy of isolated study are the All-Gray games, where you're restricted to giving words that produce a ⬜⬜⬜⬜⬜ response until you have enough information to force out the answer in one fell swoop. If a word ever returns a 🟨, or between one and four 🟩, that's no good and you have to start over. Clearly, no game that follows this rule can ever target a word that has a valid anagram on the list (e.g. GAMMA/MAGMA), nor can it have any "replacement anagrams" in which one letter is replaced by an additional copy of another letter from the same word (e.g. any set of All-Gray clues that's still alive for INBOX will also necessarily still be alive for ONION, in which the B and X are replaced with second copies of N and O, so INBOX can never be the final word). Under this rule, 5-turn games are still possible, even if you have to comply with a hypothetical Hard Mode implementation, such as ZARFS-THYME-CLUNG-OXBOW-VIVID. It seems unlikely that this variant could admit a 4-turn solution, since not only would there have to be a set of 11 letters that only has a single 5-letter word between them (including repeated letters), the third word also has to be sufficiently disambiguating between every remaining possibility that the game wouldn't rather give you another bucket instead. Any takers?

2022-01-15 20:34:43 by hmmatea:

you can force any word to be the answer. here is a list of ways to do that for any word you want: https://github.com/mhavos/mhavos/blob/15b5a90e425ece06ab5585db1c05fa5392d96b13/solved.txt (not optimized)

2022-01-15 22:28:08 by Sp:

I don't get it.. Isn't there a secret word it starts off with, that has fixed letters? How can this always play out the same? EARLY POINT CUBIC FICUS

2022-01-15 22:38:41 by jet_silver:

It is a fun and annoying game, thank you for creating it.

2022-01-16 13:20:49 by Jymbob:

The fake words in the wordle list are somewhat annoying. Has anyone managed a 4 word sequence without using any fake words? Loose definition of fake word: doesn't appear is a search result for [word] definition

2022-01-16 13:22:50 by Jymbob:

Just saw Sp managed it a couple of comments back. Good work.

2022-01-17 06:11:58 by Vaidhy:

You can force the same result every time using this sequence: ARISE POUTY FOGGY MOLDY BOOBY WOOZY

2022-01-17 22:13:46 by House:

Nice game

2022-01-18 11:58:25 by Samantha:

I like this better than the original Wordle! I find it fascinating to look back on the computer’s β€œplayβ€œ when I finish. Is it possible to add a final summary page which shows the number of different words the computer had at its disposal, after each guess that you made?

2022-01-18 12:03:27 by qntm:

If you're playing on desktop, hit F12 to see that information.

2022-01-18 14:51:50 by wlm1954:

A really nice one I found today: TRIAL ERROR GUESS BROOD THINK ..... (here you go) Actually, now the solution can be known, there are no guesses left. Can't say that I devised this intentionally; I just found these five words funny (and so I did not follow the first lead that was provided -- with 'lead' being a dubious concept in the context of Absurdle, of course) and was quite surprised that the solution fits so well. A different order of the input of course results in quite different solutions.

2022-01-18 20:53:26 by Atticus:

PROXY forced in 5 turns: AISLE BUTCH WRONG PROOF PROXY

2022-01-21 22:34:32 by noodle:

I love that the word buckets are logged. It's really satisfying to see the game run in that way.

2022-01-22 15:47:16 by Joel Shore:

Fun game! What does Absurdle do if there are two "buckets" of the same (maximum) size? I would assume it would choose the "bucket" that has a lower "correctness" score, but that means it would have to choose some way to score the correctness (e.g., point values for green vs yellow). Also, there would need to be a way to resolve ties if two same-size "buckets" also have the same "correctness" score.

2022-01-22 15:58:27 by qntm:

Well guessed. There is some tie-breaking logic which assigns a "correctness" score to each possible response, and chooses the least correct response. It starts by counting greens and then by counting yellows... after that it (somewhat arbitrarily) just works from left to right. Every possible response has a different score, so it is impossible for this to also be a tie. There is a comment by me further above which gives examples.

2022-01-24 03:12:36 by mule:

Pretty happy with this result: Absurdle 4/∞ ⬜⬜⬜⬜⬜ ⬜⬜⬜⬜⬜ ⬜⬜⬜⬜⬜ 🟩🟩🟩🟩🟩

2022-01-24 04:31:19 by mule:

A small think, but it would be nice to adopt the Wordle convention of a * next to the score when copying the game result if the game was played on HARD mode: Absurdle 4/∞ * 🟨⬜⬜⬜⬜ ⬜🟨⬜⬜⬜ ⬜⬜🟨⬜🟨 🟩🟩🟩🟩🟩

2022-01-24 05:45:16 by TeamDman:

I made a tool to help with word games like wordle using regex, may be interesting. https://teamdman.ca/wordle.html

2022-01-24 14:55:57 by Maxwell Pelic:

This game is amazing, and inspired me to make a bot to solve it! I agree with what Zach thinks, that there can't be a combination with less than 4 guesses. That would require the first guess to have the highest bucket of less than 243, and the second word to have only buckets of 0 or 1, and no word exists like that (unless I messed up my code somewhere, lol)

2022-01-24 16:41:18 by Maxwell Pelic:

I also made a blog post about my bot - https://maxpelic.com/blog/post/wordle-bot/?ref=absurdle

2022-01-26 20:27:47 by Hunter E:

YEARN COITS BUDGE WHOOP is just about the only way I can find a solution in 4.

2022-01-27 05:52:24 by CAP:

How many 4-turn solutions have been discovered so far?

2022-01-30 20:22:23 by aphysicist:

Have you thought about picking the buckets based on total entropy of the words they contain instead of size only? Since entropy is extensive, size would factor in anyways, but it would pick buckets with more diverse words.

2022-01-30 20:25:25 by qntm:

How are you defining "entropy"? If by that you mean "minimum number of guesses required to isolate one secret word", yes, I've tried that. It's impractical because there are so many possible combinations of guesses: over a trillion after only three guesses.

2022-01-30 23:56:46 by aphysicist:

Many ways to do it. You have to assign probabilities somehow, and then just sum p*log(p) contributions. So either you get frequency statistics for words, and more common words will have lower entropy. Or you can count frequency of letters. You can count frequency of letters in the language, for example. Or, my favourite way (because it does not rely on any external data): count letter frequency separately in each bucket. So if you have, eg, a bucket with 4 words that are similar to each other (fig, fag, fog, fug) and another with 3 more heterogeneous words, eg (pot, fig, ton), you clearly pick in favour of the the latter which has more entropy.

2022-01-31 06:34:58 by Teddy A.:

AGLEY SNORT CUBIC WHIFF

2022-01-31 22:47:46 by Graham Holt:

I've found that a max-entropy strategy does pretty well against Absurdle. For example: Guess ARISE (entropy 5.82) Guess MULCH (entropy 5.21) Guess GOODY (entropy 3.25) Guess BLITZ (entropy 2.00) Choose "WOOZY" or Guess BLITZ (entropy 3.98) Guess CARSE (entropy 6.21) Guess DOWNY (entropy 4.00) Guess HAKAM (entropy 2.24) Choose randomly from "ROVER" or "ROGER" Obviously I have to vary the first guess or we just follow the same decision tree. It seems though I take a different approach from Maxwell (superficially, at least) , our solvers perform similarly. I wonder if there's a limit to how long the maximum-entropy strategy takes for each individual wordlist. Could you construct the wordlist to break the strategy? Not sure. Link to solver: https://github.com/grahamtholt/wordle_solver

2022-02-02 10:24:50 by e_talpa:

@aphysicist @Graham Holt can you please explain better how was the entropy calculation implemented / suggested? seems very promising (both for solving and implementing an even more evil adversary)

2022-02-04 00:05:17 by aphysicist:

> can you please explain better how was the entropy calculation implemented / suggested It's simply Shannon entropy. https://en.m.wikipedia.org/wiki/Entropy_(information_theory) Suppose you want to assign probabilities based on frequency of letters in a bucket. Take the bucket made of (fig, fag, fog, fug). There's 12 characters in total. F appears 4 times so its frequency will be p=4/12. Same for G. Then you have I, A, O which appear once each, so p=1/12. For each of the letters in the bucket, add (- p * log(p)) to the entropy of the bucket (base of the log doesn't matter for comparisons, let's use natural log just because I'm aphyisicist). You get entropy -( 2*(3/12)*log(3/12)+ 3*(1/12)*log(1/12)) =~ 0.571 Compare with bucket (pac, tus, eno), where you have 9 characters in total, and each appears exactly once, so p=1/9 for all of them. You have -(9*log(1/9)) =~8.5 Which is a lot more entropy. In a way, it quantifies how much more varied the latter bucket is wrt the former. The bucket (aaa) is left as an exercise for the reader :) Want to do it with word frequencies? Get (or compute from a large corpus) word frequencies in english, e.g. from these word counts: https://www.kaggle.com/rtatman/english-word-frequency And for each word the frequency is your p. And so on.

2022-02-04 00:11:40 by aphysicist:

Sorry there's an error in the first bucket's entropy. It's supposed to be -( 2*(4/12)*log(4/12)+ 3*(1/12)*log(1/12)) =~. 59 Sorry it's been a long day.

2022-02-05 17:15:01 by Graham Holt:

@e_talpa @aphysicist > can you please explain better how was the entropy calculation implemented / suggested Sure! @aphysicist has a good explanation of shannon entropy related to word frequencies. I implemented it slightly differently, because we have access to the actual wordlists that Wordle / Absurdle uses. Here's how I did it: As @aphysicist mentions, entropy of a distribution over states X is just the sum over all x in X of -p(x)log_2(p(x)). Pick whatever base you like, really. The question is: What are your states and probability distribution? For Wordle / Absurdle, you have a list of hidden words and a list of guess words. When you pick a guess word, you get a "coloring" returned depending on what the hidden word is. This means that every choice of guess word induces a probability distribution over colorings. For example, say you choose the word "Soare." Then let's say 5 of the possible hidden words would give you coloring #1, 6 would give you coloring #2, and so on. If you normalize the counts by the total number of hidden words, you get a probability distribution. The maximum entropy word is the word that give the most "even" distribution. In this case, this means that, no matter which coloring you get back, the number of remaining possible hidden words will be about the same (or as close as is possible). This is the same strategy you would use to play 20 questions, it's just the the answers aren't yes/no, they are 0...242.

2022-02-05 23:23:10 by Mark:

Just wanted to say thank you very much for the game. I loved the mix of maths and wordplay in getting to a 4 word solution

2022-02-07 00:49:49 by slabdrill:

@Bill After each guess, it checks to see if the target word is still in the bucket of remaining words. For instance, if you get a yellow (or green) letter that isn't one of the letters in the target word, then the target word is no longer in the list, and as such you lose. @Graham Holt This sounds really similar to 3b1b's new video; is it just what they talked about there (but using the real word list instead of their logistic curve)?

2022-02-09 13:33:26 by aphysicist:

just came to this thread to tell everybody 3b1b made an amazing video on wordle and entropy, but I see I have been beaten to it :)

2022-02-10 20:55:27 by Griffeath:

I'm interested in 4-word Absurdle solutions, especially those containing only "common" words such as valid Wordle solutions or other familiar words (e.g., SQUID). I have collected 52 of these to date. Most were gathered from this thread, twitter, or other online sources, but I also know a few that I haven't encountered elsewhere. To avoid spoilers here, I have posted my collection at: https://docs.google.com/document/d/1-XLmMQaxU2T1WwJc15a7mS29kP4YcXTE_QfkaHKFIiI/edit?usp=sharing I would welcome additions to the collection; kindly email your entries (or corrections to the list) to: griffeat@gmail.com

2022-02-11 04:27:59 by Teddy A.:

This is great Griffeath. Wondering if you could indicate which 4 guess solutions work in 'Hard' mode. I found some don't. e.g. AYRIE CANST MOULT PLAZA. Much appreciate the effort you have put into preparing this list. Teddy A.

2022-02-11 19:42:17 by Griffeath:

I have updated my list of 4-word Absurdle solutions https://docs.google.com/document/d/1-XLmMQaxU2T1WwJc15a7mS29kP4YcXTE_QfkaHKFIiI/edit?usp=sharing to identify those which remain valid in hard mode. There are currently 64 solutions in all, with 38 for hard mode. Most of the increase from yesterday stems from from a simple observation: if initial words of a solution all contribute no letters to the target, then anagrams of those words also provide solutions. In remarks on Twitter from early January, Zach Wegner seems to indicate there are thousands of 4-word solutions; I would love to see the evidence. Again, please email additional solutions or corrections to griffeat@gmail.com and I will add them to the list.

2022-02-11 22:43:32 by Bill:

Re: Challenge Mode... If the target word has no valid anagrams, and I have eliminated all letters except the 5 that are in the target word, then the only remaining word must be the target word. I fail to understand how to complete the game.

2022-02-12 02:54:10 by CAP:

Griffeath, I used a computer program to find the following 4-word solutions using only the Wordle list of 2314 "secret" words as vocabulary: 63 using the HARD mode and 147 using the REGULAR mode Then I used a larger list of 5558 "common" words and found the following 4-word solutions 130 using the HARD mode and 842 using the REGULAR mode I suspect that the list that you use is much larger than 5558 because mine does not include many of the words in your list of solutions. If someone can pass to me the list of 10,657 words that WORDLE uses then I am sure I can find 1000+ solutions.

2022-02-12 16:22:48 by Teddy A.:

Hi Griffeath. Thanks for marking the 'Hard' solutions on your expanded list. I think 'AYRIE, CANST, DOLMA, PUPAL' also qualifies as a 'Hard' solution.

2022-02-12 17:32:08 by Griffeath:

Hi @CAP. Since yesterday I have been corresponding with another coder to find all the "common" 4-word Absurdle solutions by exhaustive search. Our Wordle file has 2315 words and our list has 156 solutions. We should sort out the discrepancy. I will post a preliminary findings, in an attractive format, later today. I believe there are 36 possible initial words in our solution set, and since the words are all familiar, I find the results funny and occasionally charming to read. Also, thank you @ Teddy A for the correction to the current list of Hard mode solutions. Once the complete list of common solutions is posted and reliable, I can notate the Hard ones.

2022-02-12 19:48:48 by Griffeath:

ok, I have posted a first draft of a user-friendly listing of all 4-word Absurdle solutions consisting entirely of entries from the Wordle lexicon: https://drive.google.com/file/d/1BLBpXFhQ8XHu7Ktm1nThjgZkbu0ZnPGN/view This was compiled overnight thanks to the generosity of a friendly coder who goes by the name of m1el. Tentatively, there are 35 distinct first words, 50 final words, and 156 solutions. It remains to reconcile this tally with the slightly different one reported just above by @Teddy A, and to correct any typos and other glitches, of which there are undoubtedly some ... Enjoy!

2022-02-12 21:23:29 by Griffeath:

FYI @Cap, I checked and the file of Wordle solutions in the order it seems they will continue to appear at NYT until 10/20/27 has 2315 entries. It seems most likely your run was missing a single word, Kindly see if you can sort this out? Thanks!

2022-02-13 11:29:40 by CAP:

@Griffeath. Your list is more complete than mine. (You beat me). My program missed some valid solutions. The word list that I used came from ABSURDLE and it contained 2314 items at that time I extracted it. Currently, the list used by ABSURDLE is down to 2312 words. I checked and found that the list used by WORDLE is down to 2309 words. As the list used by ABSURDLE changes (or if the bucket-selection algorithm is changed), the list of 4-word solutions may also change. In your list, you forgot to type the word POINT before SHUCK.

2022-02-14 23:05:44 by Griffeath:

I have now posted a final draft of a chart displaying all 156 4-word Absurdle solutions using only common words from the original Wordle lexicon of size 2315: https://drive.google.com/file/d/1GrraT5Xh4L2UeNBKI9NS95y9v_rElAmG/view There are 36 distinct starting words, 49 distinct final words, and 72 solution equivalence classes that help display the data in compact form. I have retired previous online drafts cited above, and will make any further corrections and minor revisions to this one.) As Cap and NateOcean have pointed out, the common word list, the full list, and Absurdle's modification of these as well as fine points of its algorithm, are all a moving target. So this compilation by exhaustive search is best viewed as a snapshot in time. Source code and commentary will follow, along with comments here on the much larger solution space when 10,657 additional words are included in the lexicon. Cheers, Griffeath and m1el

2022-02-15 02:58:03 by Catherine:

I found a nice 4 today by hand (admittedly with the help of a solver to check my work afterwards), and the only thing that would have been nicer was if β€˜YEARS’ were in the Wordle puzzle list of 2,309 (or 2,312, or 2,315) words. Absurdle 4/∞ (hard mode) ⬜⬜⬜⬜⬜ YEARS ⬜🟨⬜⬜⬜ COUNT ⬜⬜🟨⬜⬜ BLOOM 🟩🟩🟩🟩🟩 HIPPO

2022-02-15 04:11:33 by Griffeath:

@Catherine, fyi it's pretty much the case that the Wordle answers list has no plurals ending in s or verb forms ending in s, which means that the frequency of the letter s in Wordle is significantly less than in English as a whole, and it's just as good to have R or T or N or C in your first word. Also, if you've narrowed down the possibilities to just a few, make sure to rule out those types of word ending in s.

2022-02-15 08:01:35 by Catherine:

@Griffeath, thanks for the tip. I wasn’t setting out to find a 157th or 158th entry for your excellent list, but finding a solution in 4 without needing to write my own brute force code was nice. (YEARS > COUNT > LIMBO > WHOOP also forces a solution in 4.) Incidentally, the New York Times removed β€˜PUPAL’ from the game, so FIERY>COAST>MANGA>PUPAL is only going to work in Absurdle provided the wordlist here doesn’t match the Gray Lady’s.

2022-02-16 06:26:12 by Carl:

@Griffeath, I wrote my own Python brute-force script and I found a couple more that are not on your list: ALONE, DEMUR, SHEET, ETHIC ONSET, CURLY, BRAID, RAJAH using only words from the "answers" list. My algorithm only considers words in the largest bucket as potentials for the next one, so there's a lot I haven't found. Would love to know of some optimizations to the search so I can search a bigger space (including the "valid guesses" list) in a reasonable amount of time. https://github.com/CarlosNZ/absurdle-solver

2022-02-16 10:10:55 by CAP:

@Carl, I think that your 2 solutions were found because use were using ABSURDLE's current 2312 word list. Your 2 solutions would not be found if you used the original 2315 word list. If you used the original list, then the largest bucket after ALONE would not contain the word DEMUR.

2022-02-16 20:03:50 by Carl:

@CAP, I see. Yes, I pulled the word list out of the Absurdle source code yesterday. Originally I was using a Wordle wordlist I found online but I was noticing discrepeancies with Absurdle's buckets (such as GYPSY missing). Interesting that such small changes can have a significant effect on the resulting 4-word solutions. I've started putting the date on my wordlist files so I can keep track of what changes from now on.

2022-02-20 14:30:33 by The Sourcerer:

What license is the code under(GPL, Apache, MIT, ARR, etc)? Also, when you say that you aren't going to upload to GitHub, is that because you don't want to use GitHub specifically, or because you don't want to upload it to any such sites, like GitLab or (gasp!) Softonic? Absurdle is a lot of fun, and I'd love to build on it(primarily modifying the algorithm to see what it's like), but I don't want to violate your intelectuak property rights or your wishes.

2022-02-20 15:14:11 by qntm:

Absurdle is a closed-source game. The code is not released under any licence. I mentioned GitHub specifically because that is where I release code when I want to release code. It's not too difficult to build something like this for yourself though. 95% of the effort goes into the aesthetics.

2022-02-21 01:13:41 by The Sourceror:

It's your choice, and you don't owe anyone anything, including an explanation, but: would you mind explaining why you've kept it closed source? I guess I'll reimplement the algo myself.

2022-02-22 09:49:35 by CAP:

It has been clearly established that the shortest solutions to ABSURDLE is 4 words. Can we determine what is the longest solution to ABSURDLE HARD version? The longest I have found so far is a couple of 12-word solutions. Here is one of them. Absurdle 12/∞ (hard mode) ⬜⬜⬜⬜⬜ ⬜⬜⬜⬜⬜ ⬜⬜⬜⬜⬜ ⬜🟩🟨⬜⬜ ⬜🟩⬜⬜🟩 ⬜🟩⬜⬜🟩 ⬜🟩⬜⬜🟩 ⬜🟩⬜⬜🟩 🟩🟩⬜⬜🟩 🟩🟩⬜⬜🟩 🟩🟩🟩⬜🟩 🟩🟩🟩🟩🟩 Are there longer solutions?

2022-02-24 16:53:03 by Griffeath:

Ten days ago I posted a chart displaying all 156 4-word Absurdle solutions using only common words from the original Wordle lexicon of size 2315: https://drive.google.com/file/d/1GrraT5Xh4L2UeNBKI9NS95y9v_rElAmG/view That list has now been amended to notate the subcollection of 63 Hard mode solutions. Most recently, I have been collaborating with m1el to devise an attack on the much larger solution set with the extended collection of 10,657 less common words also permitted as guesses. A brute force exhaustive search for this problem would require at least 2 or 3 months of computation. But we now have an approach that provides quite compelling evidence there are exactly 9,387 solutions, including 4,017 in Hard Mode. We hope to post documentation and code for our proposed complete solution within the next week to 10 days.

2022-02-24 23:15:35 by Mike:

Just a thank you from Sheffield England. 6 goes is my best. Keep up the good work

2022-02-25 06:40:11 by Griffin:

Very cool concept, also love hatetris

2022-02-28 16:21:52 by clrd4t0:

Great job! Honestly that was real fun, tho kinda frustrating, but that's the point lmao, very cool indeed!

2022-03-02 22:56:05 by Griffeath:

By now, I had hoped to post documentation for my collaboration with m1el on what we strongly suspect to be the complete list of 4-word Absurdle solutions (using the original lexicons). For starters, here is the list of size 9,387 as a 25-page pdf: https://drive.google.com/file/d/1cVX3-cQOVfQOQHKk0xp5Rkly4_tHQWjn/view?usp=sharing I hope to provide commentary within a couple weeks, but wrapping up my project with this extraordinary coder has been delayed. To my surprise and great dismay, he wrote yesterday morning to say, "I may be busy with other things because my country is currently being invaded."

2022-03-06 18:38:12 by _Zaphod77_:

So has anyone figured out how to make the more evil version of absurdle yet? 1) instead of just picking the biggest bucket, it tries to make sure you will go over six. Often times it's possible to partition the biggest bucket enough that you can get it in four still. SO the biggest bucket is not always the worst choice. 2) hard mode is not optional. Without hard mode, you can just make up a word using multiple letters of the ones in the corridor to narrow it down faster. in hard mode you can't do this. Once you have one letter left, and there are fixe choices for it, you are stuck going through all five, which will almost certainly push you over seven. The game will try to force you into a corridor that will take you over six guesses. Currently it's possible to force a number of words in four. We want to try to make one where you CANNOT get ANY solutions in less than seven. Is it possible?

2022-03-16 22:52:27 by yatima2975:

Hey @qntm, did you see https://arxiv.org/abs/2203.06804 and/or https://www.reddit.com/r/math/comments/tfhllr/infinite_wordle/ ? It's got transfinite versions of Absurdle!

This discussion is closed.