Vincere Wordle con Linux

Wordle
In questi ultimi giorni, se vi è capitato di fare un giro su twitter, avete sicuramente visto dei criptici messaggi contenenti dei quadratini colorati. A dispetto di qualche strano messaggio in codice, non è altro che la moda del momento, ovvero Wordle.

Questo gioco online è estremamente semplice e sfidante: ogni giorno bisogna indovinare una parola di 5 lettere, avendo a disposizione solo 6 tentativi. La parola cambia ogni giorno ed è possibile giocare solo una volta al giorno.

searching in linux regular expressions for beginners

Seppur l’idea sia semplice sta davvero riscuotendo un grande successo, ed è interessante tentare di capire le possibili soluzioni usando uno schema colore che ci suggerisce se abbiamo indovinato una lettera e/o se questa è al posto giusto (una reminiscenza di un gioco che ricordo molto popolare anni fa, il Mastermind).

Jim Hall, che scrive sulle pagine di OpenSource.com, ha portato questa sfida sui nostri amati terminali: possiamo usare i potenti mezzi che il pinguino ci mette a disposizione per riuscire ad indovinare la parola?

Certo che si, utilizzando un dizionario di parole (generalmente incluso nelle distribuzioni Linux) ed una combinazione di grep, fgrep, e condendo il tutto con un po’ di regular expression.

Si parte da una semplice estrazione di tutte le parole di 5 lettere dal nostro dizionario, per avere una lista di possibili soluzioni:

$ grep '^[a-z][a-z][a-z][a-z][a-z]$' /usr/share/dict/words > myguess
$ wc -l myguess
15034 myguess

15034 possibili soluzioni, ovviamente il tutto andrà ridotto per riuscire in massimo 6 iterazioni a trovare la parola nascosta, partendo da una parola casuale scelta tra quelle disponibili.

Wordle però ad ogni iterazione, fornisce alcune indicazioni codificate a colore: una lettera diventa gialla se è presente nella parola, ma nella posizione errata, e verde quando è la lettera esatta nella posizione giusta.

balmy

I primi 2 tentativi di Jim Hall

Da qui possiamo utilizzare le regular expression per andare ad assottigliare sempre di più le possibili soluzioni. Ad esempio, dopo il primo tentativo possiamo escludere che la prima lettera sia una “a”, e quindi iniziare a filtrare per

^[b-z]

Indicando che appunto dopo l’inizio riga (carattere ^) sarà presente una qualsiasi lettera compresa tra b e z. La seconda iterazione ci permette di fissare i primi 2 caratteri in “b” ed “a” ed ad escludere la lettera “l” dal terzo posto.

Ma questa immagine ci dice anche molto di più. Ad esempio possiamo anche escludere tutte le lettere in grigio dalle parole di oggi. Tutto questo ha permesso al buon Jim di risolvere l’indovinello del 6 Gennaio e di ridurre, in soli 2 tentativi, la lista di possibili parole da più di 15000 a 7 singole parole. Da questa ultima lista:

babul
bailo
bakal
bakli
banal
bauld
baulk

Ha quindi semplicemente preso la più comune: “banal”.

Sicuramente l’articolo originale è interessante, perché seppur i comandi e le regular expression utilizzate siano molto semplici (ed ottimizzabili ulteriormente), ci mostra il processo logico utilizzato e la potenza dei tool anche più banali che abbiamo a disposizione tutti i giorni “sotto il cofano” delle sempre più moderne interfacce grafiche.

Ridurre una lista di 15000 parole a solo 7 usando una manciata di comandi non è male! Ma adesso parte la sfida. Riuscite a fare di meglio? Fateci sapere nei commenti!

Utente Linux/Unix da più di 20 anni, cerco sempre di condividere il mio know-how; occasionalmente, litigo con lo sviluppatore di Postfix e risolvo piccoli bug in GNOME. Adoro tutto ciò che può essere automatizzato e reso dinamico, l’HA e l’universo container. Autore dal 2011, provo a condividere quei piccoli tips&tricks che migliorano il lavoro e la giornata.

Fonte: https://www.miamammausalinux.org/2022/01/vincere-wordle-con-linux/

Visited 5 times, 1 visit(s) today
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.