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

Reply via email to