an adversarial approach might be possible too eg absurdle against an optimal player
some opine that soare is a best first word what is the "best" as the game proceeds? ~greg heil picsrp.github.io i.tgu.ca/real_cal -- from: Raul Miller <[email protected]> to: Programming forum <[email protected]> date: Jan 24, 2022, 10:39 AM subject: Re: [Jprogramming] wordle >The absurdle approach is essentially what I was doing with my 'possible' >variable in http://jsoftware.com/pipermail/programming/2022-January/059738.html >I should perhaps also note that a 'bestGuess' implementation is not viable >unless the word list is constrained to only words accepted by the wordle game >implementation: bestGuess=:{{ abc=. /:~~.,y weights=.+/(abc i.|:y) {"1 #/."1~abc,"1|:y sel=. (= >./)weights y{~ (0,+/\sel#weights) I. ?+/sel#weights }} >The problem here is that 'best' may exclude all words accepted by the game. >But this would be decent if we were working with fives=: >LF cut gethttp {{)n https://gist.githubusercontent.com/cfreshman/a03ef2cba789d8cf00c08f767e0fad7b/raw/27a096e8eecf3edc39098fea0f70f2c61abf2393/wordle-answers-alphabetical.txt }}-.LF >(For what it's worth: I looked at that slate.com strategies page, but I >couldn't think of any way to upgrade the algorithms I have implemented in this >thread based on that description.) FYI, Raul -- from: greg heil <[email protected]> to: Programming forum <[email protected]> date: Jan 24, 2022, 9:00 AM subject: Re: [Jprogramming] wordle you might appreciate https://qntm.org/wordle which takes partitioning of words to demonic heights see https://www.theguardian.com/us-news/2022/jan/13/absurdle-machiavellian-version-of-wordle this has been overdone on social media but a good entree for strategies is https://slate.com/technology/2022/01/wordle-how-to-win-strategy-crossword-experts.html ~greg heil picsrp.github.io i.tgu.ca/real_cal -- from: Raul Miller <[email protected]> to: Programming forum <[email protected]> date: Jan 24, 2022, 8:39 AM subject: Re: [Jprogramming] wordle >I should add: >(1) If you do not have a /usr/share/dict/words, you can google for that and >find plenty of examples. >(2) There's also a wordle specific words list -- you can just pull it out of >the javascript for the page, like greg heil mentioned (and since those are in >sequential order, solving one wordle would give you the next day's wordle >solution also -- but where's the fun in that?). Or, you could use something >like https://gist.github.com/cfreshman/a03ef2cba789d8cf00c08f767e0fad7b >(3) I could have done a better job of picking a next guess. But I haven't >thought through enough about the entropy associated with the possibilities. >Conceptually, each guess creates a partition on the possible answers and we >probably want to minimize the size of the largest element of that partition. >The largest partition is probably going to be the partition with the maximum >number of grey letters (or maybe with one yellow letter). But just guessing >arbitrarily seems to work. >That said, this might be a better guesser: goodGuess=: {{ abc=. /:~~.,y weights=.+/(abc i.|:y) {"1 #/."1~abc,"1|:y y{~ (0,+/\weights) I. ?+/weights }} Basically, goodGuess would replace ({~ ?@#) and it tends to favor words with commonly occurring letters. Thanks, Raul . ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
