Intelligenza artificiale e scacchi: storia di un’amicizia tra le macchine e l’uomo

Chess

Nel gioco degli scacchi, il numero di posizioni attuabili sulla scacchiera è nell’ordine di 10^40, mentre il numero di partite diverse possibili è stato calcolato, approssimativamente, nell’ordine di 10^123.

Per questo motivo gli scacchi sono stati definiti come il gioco che abbraccia l’infinito. Per dare un’idea della complessità di questo millenario passatempo, basti pensare che le combinazioni possibili dell’albero probabilistico dopo sole otto mosse sono circa 85 miliardi, un numero che si avvicina in modo strabiliante ai circa 100 miliardi di stelle presenti nella nostra galassia[1].

Questo universo nascosto tra le 64 case bianche e nere della scacchiera, teatro di battaglie memorabili ed enigmi chimerici, ha affascinato perdutamente matematici, filosofi, strateghi, e pensatori di ogni tempo. L’idea di inventare una macchina che sapesse giocare a scacchi in modo automatico risale già al XVIII secolo. La prima macchina in grado di muovere in modo automatico i pezzi sulla scacchiera, battezzata “The Turk”, fu realizzata da Wolfgang von Kemplen nel 1769 per impressionare la regina Maria Teresa d’Austria. Nonostante nei suoi 84 anni di vita The Turk abbia sconfitto avversari celebri come Napoleone Bonaparte e Benjamin Franklin, la macchina si rivelò in realtà un imbroglio, poiché azionata da un uomo nascosto al suo interno.

 

The Turkk

Una ricostruzione moderna della macchina di von Kemplen

Il primo programma in grado di giocare un’intera partita di scacchi si deve a al matematico inglese Alan Turing, famoso per essere stato il padre della Macchina di Turing, archetipo dei computer moderni. L’algoritmo, chiamato Turochamp, fu scritto su carta nel 1948 ed era in grado di giocare una partita completa, scegliendo come muovere i pezzi dopo aver calcolato le potenziali mosse eseguibili in risposta alle mosse dell’avversario, secondo un criterio stabilito in base ad un punteggio assegnato a ciascuna alternativa. Sebbene il programma fosse piuttosto complesso per l’epoca, e valutasse le mosse oltre che in base al valore dei pezzi anche secondo la loro posizione, la minaccia di scacco matto ed altri fattori, la sua forza di gioco si rivelò di scarso livello. Turing non riuscì comunque a rendere eseguibile il programma su un vero e proprio calcolatore prima della sua morte, avvenuta nel 1954. Tuttavia, Turochamp fu molto importante per lo sviluppo dei successivi software scacchistici.

La prima vittoria di una macchina contro un essere umano è datata 1956. A giocarsi la sfida furono il programma Los Alamos Chess e un tecnico del laboratorio di Los Alamos (New Mexico), dove era stato sviluppato il programma, che aveva imparato le regole degli scacchi una settimana prima. In verità, data l’esigua potenza di calcolo dei computer dell’epoca, il programma era in grado di giocare solo una versione semplificata degli scacchi, su una tavola 6×6, detta anche “anti-clericale”, poiché mancante degli alfieri (bishops, ossia vescovi in inglese).

 

Los Alamos

La scacchiera “Anti-clerical” di Los Alamos Chess

È proprio in quell’anno, il 1956, che viene ufficialmente coniato il termine “Intelligenza Artificiale” (AI), usato per la prima volta da John McCarthy alla conferenza di Darthmouth. Alcuni anni dopo, fu proprio Herbert Simon (premio Nobel per l’economia nel 1978), uno dei principali protagonisti della celebre conferenza, a suggerire gli scacchi come l’ambiente sperimentale ideale per lo sviluppo di algoritmi di Machine Learning[2]. Da quel momento scacchi e Intelligenza Artificiale resteranno indissolubilmente legati, essendo la scacchiera il banco di prova perfetto per esperimenti di questo tipo (in molti hanno paragonato il rapporto tra scacchi e AI a quello tra drosofila e genetica).

Nel corso degli anni ’70 ed ’80, il prodigioso sviluppo dei nuovi software e computer scacchistici, forti di una maggiore potenza di calcolo e dei progressi scientifici nella teoria dei giochi e nel calcolo combinatorio, iniziò a minacciare la supremazia del genere umano nel mondo degli scacchi. I nuovi programmi ottennero numerosi successi contro giocatori di alto livello, anche se la svolta simbolica avvenne il 10 febbraio 1996, data che è stata interpretata da molti come un primo sorpasso delle capacità dei computer su quelle umane. In quel giorno, il campione del mondo Garry Kasparov, considerato come uno degli scacchisti più forti di tutti i tempi, venne sconfitto dal computer Deep Blue, sviluppato da IBM appositamente per giocare a scacchi.

 

 

Kaspy

Una folla di appassionati di scacchi osserva il match tra Garry Kasparov e Deep Blue

 

In realtà Kasparov vincerà il match per 4-2, ma sarà irrimediabilmente battuto un anno più tardi, nel 1997, dalla versione aggiornata del calcolatore IBM, soprannominata “Deeper Blue”.

Per riuscire ad espugnare il più abile giocatore al mondo, i calcolatori IBM impiegavano un sistema di ricerca alfa-beta (alpha-beta pruning), piuttosto diverso dalle moderne tecniche di Deep Learning utilizzate oggi per lo sviluppo degli algoritmi di AI.  L’idea era quella di focalizzarsi su due valori, alpha e beta, in modo da valutare le mosse e le diverse combinazioni per massimizzare il punteggio della macchina (alpha) e minimizzare quello dell’avversario (beta), “risolvendo” la partita con un approccio di tipo brute-force[3].

La comunità scientifica dell’AI, seppur compiaciuta del successo e dell’attenzione ricevuta a livello globale, rimase comunque delusa di fronte al fatto che Deep Blue non era esattamente il tipo di macchina che i padri fondatori dell’Intelligenza Artificiale avevano immaginato nei decenni precedenti. Invece di avere un computer che sapesse giocare a scacchi come un umano, utilizzando creatività ed intuizione, Deep Blue valutava sistematicamente 200 milioni di possibili mosse al secondo, riuscendo a vincere unicamente grazie alla sua potenza di calcolo. A tal proposito, lo stesso Kasparov dichiarò in seguito: “Deep Blue era intelligente allo stesso modo in cui la tua radio-sveglia è intelligente. Non che aver perso da una radio-sveglia da 10 milioni di dollari mi faccia sentire meglio.” [4]

Gli anni 2000 segnano l’avvento del definitivo dominio dei motori artificiali nel gioco degli scacchi. Sebbene alcuni Grandi Maestri riuscissero comunque a strappare alcune vittorie attraverso tattiche “anti-computer”, giocando in modo difensivo e ricercando un vantaggio di lungo termine (difficile da individuare per una macchina) lo sviluppo dei motori scacchistici era ormai inarrestabile e dal 2009 i softwares hanno iniziato a battere sistematicamente tutti i migliori giocatori del mondo, sbarcando anche sui neonati smartphones.

L’ultimo decennio ha visto infine la comparsa di motori basati sulle reti neurali, che attualmente dominano i campionati tra software scacchistici. Questi nuovi programmi funzionano in modo diverso rispetto al passato e sono in grado di apprendere senza bisogno di accedere a database di partite o di utilizzare il metodo della forza bruta. AlphaZero, sviluppato da DeepMind (società acquisita da Google nel 2014) ha imparato a giocare a scacchi allenandosi contro sé stesso, apprendendo uno stile di gioco molto creativo e più simile a quello dell’uomo, che nel 2017 gli ha consentito di sbaragliare Stockfish, il più forte motore scacchistico di tipo brute-force. Lo stesso team di Stockfish, che nel 2020 è tornato in cima alle classifiche dei tornei, ha annunciato che in futuro introdurrà nel programma algoritmi di Machine Learning basati sulle reti neurali.

Saranno quindi le reti neurali a renderci in grado di “risolvere” in modo definitivo l’antico enigma degli scacchi, trovando il modo di giocare la partita perfetta fin dalla prima mossa?

Difficile dirlo: gli appassionati di scacchi possono, per ora,  dormire sonni tranquilli. Anche se il gioco è stato risolto per tutti i finali fino a sette pezzi (compresi i due re) e in forma debole[5] per varianti con scacchiera semplificata (5×5), l’estrema complessità dell’albero di mosse fa sì che la soluzione sia ancora piuttosto lontana con le attuali tecnologie.

Per il resto, solo il tempo potrà darci una risposta.

 

[1] Rasskin-Gutman, D. (2009). Chess metaphors: artificial intelligence and the human mind. MIT Press.

[2] Ensmenger, N. (2012). Is chess the drosophila of artificial intelligence? A social history of an algorithm. Social Studies of Science, 42(1), 5-30.

[3] In informatica, il metodo brute-force (o della forza bruta) rappresenta un algoritmo di risoluzione di un problema che consiste nel verificare tutte le soluzioni teoricamente possibili fino a trovare quella effettivamente corretta.

[4] Kasparov, G. (2010). The Chess Master and the Computer. The New York Review of Books, Vol. 57, No. 2

[5] Ossia determinando il risultato finale se i giocatori seguono una strategia ottimale, nel caso della variante 5×5 è stato provato che, giocando in modo perfetto, la partita è sempre patta.

Per approfondire:

Andrea Bergonzi

Andrea Bergonzi

Sono laureato in Economia, Finanza e Mercati Internazionali. Prima di entrare nel mondo della Data Science ho ricoperto il ruolo di analista dei mercati finanziari e research editor. Dal 2020 sono membro di Dataskills, dove mi occupo di Predictive Analytics e Business Intelligence.

Comments are closed.

Iscrivi alla newsletter














    Dichiaro di aver letto ed accetto l’informativa sulla privacy

    Andrea Bergonzi

    Andrea Bergonzi

    Sono laureato in Economia, Finanza e Mercati Internazionali. Prima di entrare nel mondo della Data Science ho ricoperto il ruolo di analista dei mercati finanziari e research editor. Dal 2020 sono membro di Dataskills, dove mi occupo di Predictive Analytics e Business Intelligence.