Site icon Uno Scacchista

Una rete neurale come Capablanca: “Calcolo una sola mossa…”

(Uberto Delprato)
“Quante mosse sai calcolare?” Una domanda che prima o poi tutti ci siamo sentiti fare da chi non gioca a scacchi o è un principiante. La risposta può variare da quella per fare colpo (“Anche più di 10”), a quella più oggettiva (“Dipende”, che però di solito funziona male perché bisogna addentrarsi in spiegazioni), ma nessuna batte quella che diede Capablanca: “Calcolo una sola mossa, ma è sempre quella corretta”.

È evidente che un’affermazione del genere era una battuta, una provocazione. Anzi, una delle critiche che vengono mosse ai giocatori deboli è proprio quella di giocare una mossa alla volta, senza che sviluppino un piano strategico o calcolino una sequenza tattica.

Eppure, è stato proprio questo l’oggetto della ricerca di un gruppo di ricercatori di Google DeepMind, l’organizzazione che come sapete ha sviluppato AlphaZero e AlphaGo, dimostrando come istruire una rete neurale con algoritmi di Reinforcement Learning.

Anni di pratica con sistemi AI come AlphaZero e Leela Chess Zero hanno dimostrato come un approccio euristico basato sull’autoapprendimento (e quindi non condizionato dall’esperienza della mente umana nello sviluppo e nella comprensione del gioco) permetta di raggiungere non solo livelli di gioco eccelsi e superiori di gran lunga agli umani e ad altri approcci algoritmici, ma anche di scoprire diverse strategie di gioco, meno spontanee per un giocatore umano ma altrettanto se non più efficaci sulla scacchiera.

Pur non essendo basati su algoritmi di ricerca ed euristiche complesse, i recenti sistemi di Intelligenza Artificiale (come l’ormai familiare serie GPT) hanno dimostrato una certa capacità di giocare a scacchi, anche se lontana dall’eccellenza. Ciò suggerisce la possibilità che con una ben progettata strategia di apprendimento possa essere possibile sviluppare un modello in grado di giocare bene senza basarsi sulla conoscenza pregressa della partita o prevederne gli sviluppi: un giocatore che a partire da qualunque posizione possa suggerire una mossa sulla base unicamente del set di posizioni sulle quali è stato istruito.

Insomma, un giocatore che valuti e scelga una mossa senza memoria del passato e senza visione del futuro, basato unicamente sul presente!

I dettagli su come la ricerca è stata sviluppata sono disponibili nell’articolo scientifico “Grandmaster-Level Chess Without Search” di Anian Ruoss et al. (2024), pubblicato il 7 febbraio scorso e che potete leggere cliccando qui, ma posso anticiparvi che il risultato è un sistema in grado di giocare con un Elo Blitz (su lichess e contro giocatori umani) pari a 2895. Wow!



Il set di partenza per istruire il modello è stato basato su 10 milioni di partite tra giocatori umani di diversa forza, recuperate da lichess. Ogni partita è stata suddivisa in N posizioni FEN etichettate con la valutazione di Stockfish 16, fino ad ottenere circa 15 miliardi di posizioni con valutazione associata, che il modello ha “studiato” per sviluppare una propria capacità di valutare posizioni diverse dal set di partenza.

Da “”Grandmaster-Level Chess Without Search” di Anian Ruoss et al., 2024

Un esempio dello stile e della capacità di gioco? Ecco una partita, di non particolare livello di qualità, giocata con il Nero a cadenza Blitz contro un avversario umano e riportata in appendice al paper citato.

È necessario attivare JavaScript per migliorare la visualizzazione della partita a scacchi.

Se questo modello basato su un transformer senza algoritmi di ricerca (valutato Elo 2299 su lichess contro bots) è molto più debole rispetto ai 2713 di Stockfish 16 (limitato a 50 millisecondi di riflessione e sempre su lichess contro bots), è anche vero  che l’approccio di apprendimento utilizzato ha prestazioni nettamente migliori dei 1755 di GPT-3.5-turbo-instruct, sempre su lichess e contro bots.

Anche in termini di capacità di risolvere puzzles risultati sono simili: 99.1% per Stockfish16 (50 millisecondi), 93.5% per il transformer e 66.5% per GPT-3.5-turbo-instruct.

Da “”Grandmaster-Level Chess Without Search” di Anian Ruoss et al., 2024

Ci sono ancora limiti intrinseci in questo approccio, il più evidente dei quali è l’incapacità di riconoscere la patta per ripetizione della posizione e quindi lo scacco perpetuo: non avere memoria ha le sue controindicazioni. Inoltre, talvolta il transformer risulta poco efficace nel “vincere le partite vinte”, quasi certamente a causa dell’incapacità di distinguere tra diverse mosse che portano a una valutazione del 99% di probabilità di vittoria ma che possono essere in realtà “perdite di tempo” in alcune situazioni.

È poi evidente la differenza di forza calcolata in termini di Elo giocando contro umani o contro bots. Le cause possono essere diverse (ad esempio il fatto che gli umani abbandonano le posizioni perse mentre i bots non lo fanno, con le conseguenze riportate sopra), ma questo è un aspetto secondario rispetto al risultato della ricerca.

Resta ancora netta la differenza di forza con Stockfish 16 e non è ancora dimostrato che aumentando la dimensione del set di posizioni di training la forza di gioco del “transformer senza memoria” aumenti fino a raggiungere il motore, ma è di grande interesse la dimostrazione che sia possibile creare e istruire un modello a scegliere un’azione corretta tra le molte possibili senza conoscere la storia pregressa e senza calcolare le evoluzioni future (o, meglio, calcolarle solo per uno step in avanti).

La ricerca è chiaramente stata possibile grazie alla capacità di Stockfish di valutare ogni posizione con una grande accuratezza permettendo così la costruzione di un numero enorme di punti che costituiscono “la verità” sulla quale istruire il modello, ma le potenzialità in altri campi, dove il set di training è disponibile e la rapidità di risposta premiante, sono evidenti.

Per fortuna, per noi non cambia nulla visto che è impossibile migliorare le nostre capacità alla scacchiera sostituendo l’allenamento sulle strutture pedonali e le combinazioni con l’imparare a memoria la valutazione di qualche milione di posizioni, ma almeno adesso potremo dire con orgoglio di saper calcolare più mosse di un 2895!

Exit mobile version