badkins
2022-1-29 23:20:38

Did you guys code your Wordle solvers in “hard mode”? I didn’t do it intentionally, but realized I’d accidentally done that. I’m debating whether to change that. It seems interesting to use the known slots for a different purpose. For example, you know a belongs in the 3rd slot, but the next guess uses a different letter in that slot to gain more info. With only 6 guesses, I’m not sure when to switch from “get as much info as possible” to “try and guess the right word” mode :)


badkins
2022-1-29 23:21:23

Much more fun to code the solver than to solve the puzzle manually :)


badkins
2022-1-29 23:22:21

Also, you’ve probably realized this, but the actual word list is in a javascript file on the site, so I just used that vs. some random dictionary.


jcoo092
2022-1-30 00:31:59

Apparently someone wrote a Twitter bot that would just look for mentions of Wordle and then tweet the next day’s answer at the commenter. It was subsequently banned pretty quickly. I can’t remember where I saw that, though.


massung
2022-1-30 01:18:52

I’m not sure what you mean by hard mode?


sorawee
2022-1-30 01:21:27

Hard mode means if you guess

ARISE

and got

yellow green blank green green

then you can’t type:

HELLO

next, because it will mandate that you use green and yellow letters


sorawee
2022-1-30 01:21:50

I’ve been playing the hard mode since the beginning


sorawee
2022-1-30 01:30:36

You can set the hard mode in the setting


sorawee
2022-1-30 01:30:50

(forgot to mention this :sweat_smile:)


badkins
2022-1-30 01:36:15

My <https://github.com/lojic/LearningRacket/blob/master/miscellaneous/wordle.rkt|Wordle solver> needs some refinement, but it gets the job done with only a few failures. Got stuck with “only differs by 1 letter” problem e.g. eight, fight, might, light, etc.


sorawee
2022-1-30 01:37:18

yeah, those words are annoying


jcoo092
2022-1-30 01:41:58

That seems like something a human could fall victim to just as easily ¯_(ツ)_/¯


badkins
2022-1-30 01:42:22

Sure, but it’s possible to avoid the issue programmatically.


jcoo092
2022-1-30 01:44:13

Not if you’re playing on hard mode, I don’t think. E.g. if you have somehow come up with _IGHT, then there’s nothing for it but to cycle through the possibilities. I think.


badkins
2022-1-30 01:44:27

It is possible. Some dude proved it :)


badkins
2022-1-30 01:44:57

The trick is to exclude the possibility of getting into that _IGHT position in the first place.


jcoo092
2022-1-30 01:45:30

Ah right


badkins
2022-1-30 01:45:36

We have a finite list of words, so we can pre-process it if we’re motivated enough :)


badkins
2022-1-30 01:46:25

It was fun to get 80% of the results with 20% of the effort, but now refining it seems pointless :)


jcoo092
2022-1-30 01:49:13

> And so another mostly-completed-then-forgotten hobby project was left to bit-rot :stuck_out_tongue:


badkins
2022-1-30 01:49:52

Well, the money for competitive Wordle has mostly dried up, so you know…


massung
2022-1-30 01:53:24

My solution is hard mode then I guess. But it’s straight forward. It’s gotten all problems so far in 3 guesses except one, which took 4.


massung
2022-1-30 01:57:53

I basically just created a vector of hashes. Each index is a letter position. Each hash key is a letter. The value is a set of all words where that letter is at that position.

Each guess is just a matter of updating the set of possible words left the solution could possibly be. Nothing special.

The trick is in the picking of the best word from the remaining set. You want to maximize the number of untried letters that will also maximize the number of unknown positions.