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
On Mon, Jan 24, 2022 at 12:04 PM greg heil <[email protected]> wrote:
>
> 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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm