Sorgenia
cerca
Accedi accedi

Stockfish e AlphaGo, i robot campioni negli scacchi

  1. Home
  2. What's next
  3. Stockfish e AlphaGo, i robot campioni negli scacchi

La storia dei calcolatori elettronici e dell’intelligenza artificiale che hanno accettato - e vinto - la scommessa della scacchiera

C’era un tempo in cui nel gioco degli scacchi gli uomini avevano la meglio sui computer. Dall’intuizione di Alan Turing, subito dopo la seconda guerra mondiale, l’evoluzione è stata costante e progressiva. E se è vero che il sistema ideato dal matematico che decifrò grazie agli elaboratori elettronici i codici cifrati dei nazisti è stato battuto in poche mosse da Garry Kasparov, è anche vero che oggi nessun umano è in grado di vincere una partita contro Stockfish e AlphaGo. Ma prima che in questo campo sbarcasse la “forza bruta” di una capacità computazionale insormontabile, e prima che si ricorresse all’uso del machine learning, delle reti neurali e dell’intelligenza artificiale, c’è stato un periodo in cui la sfida era ancora aperta. 

 

UN PO' DI STORIA 

Che il vento fosse inevitabilmente destinato a cambiare, al di là delle professioni di fede degli scienziati convinti che in un futuro non troppo lontano le macchine avrebbero avuto, come effettivamente è successo, la meglio, era stato definitivamente chiaro nel 1996, quando Kasparov si affermò con fatica contro Deep Blue, per poi perdere nella sfida dell’anno successivo.

L’abdicazione dell’uomo contro una potenza di calcolo ormai sovrastante delle macchine si registra nel 2006, con la partita che vide di fronte Vladimir Kramnik contro Deep Fritz, sistema progettato in Germania e considerato l’erede di Deep Blue, che si concluse con la vittoria del computer per 4 a 2.

Oggi tra i software di più alto livello specializzati negli scacchi e basati sulla potenza di calcolo, ci sono Komodo, Stockfish e Houdini, che vengono utilizzati anche dagli scacchisti professionisti come sparring partner per migliorare le proprie strategie.

Per batterli è entrata in gioco l’intelligenza artificiale, rappresentata da Alphazero, un algoritmo di intelligenza artificiale nato in casa Deep Blue, azienda che poi finirà per far parte della scuderia di Google, capace di imporsi per 27 volte contro Stockfish senza perdere mai.

 umano-contro-robot-scacchi.jpg

STOCKFISH

È uno dei più noti motori scacchistici in circolazione; si distingue per essere

  • open source 
  • multipiattaforma.

La sua progettazione è partita da un codice già esistente, Glaurung, ed è stato sviluppato da Tord Romstad e Marco Costalba per vedere la luce nel 2008. Proprio in virtù dei paesi d’origine degli sviluppatori è conosciuto come il motore scacchistico “prodotto in Norvegia e cucinato in Italia”. È considerato il più forte e completo tra i motori scacchistici open source, tanto da essersi affermato in diversi tornei scacchistici internazionali dedicati ai computer. Tra questi, il Top Chess Engine Championship, dove si è finora classificato tre volte primo e tre volte secondo. A partire dal 2017, e dalla versione Stockfish 7, agli autori del motore si è aggiunto Gary Linscott, sviluppatore di Fishtest, framework di test distribuito che ha consentito a Stockfish di accrescere la propria forza di gioco di circa 120 punti Elo (il metodo utilizzato per calcolare la forza relativa di un giocatore di scacchi, ndr).

 

KOMODO

Komodo è un motore scacchistico basato sul protocolloUniversal Chess Interface” (Uci). I suoi sviluppatori sono gli statunitensi Don Dailey e Mark Lefner e la sua prima versione multiprocessore ha visto la luce nell’estate 2013. A descrivere la caratteristica pincipale del sistema è proprio il suo ideatore, Don Dailey: “Nelle posizioni in cui la maggior parte dei motori probabilmente troverà impossibile fare progressi, Komodo, invece, va alla ricerca della vittoria”.

 

HOUDINI 

Il motore scacchistico Houdini vede la luce nel 2010 ed è stato sviluppato dal suo creatore, il programmatore belga Robert Houdart, per Microsoft Windows.

Si è distinto fin dalla sua nascita per avere uno stile di gioco ben definito e  per l’imprevedibilità: tra le altre configurazioni può anche essere impostato per evitare la ricerca del pareggio, anche a costo di assumersi rischi più alti. Nella sua storia ha vinto diverse volte i campionati mondiali di Chess.com.

 

ALPHAZERO E ALPHAGO

La base di questo algoritmo sta nella sua capacità di apprendimento tramite il machine learning. Il sistema viene impostato con le regole degli scacchi, e poi inizia a simulare una serie di partite contro se stesso, in cui tiene memoria delle strategie vincenti e le applica al momento giusto (se n'è parlato con l'ex campionessa di scacchi Barbara Pernici, nello scorso appuntamento delle Colazioni Digitali, dal titolo "Scacchi & AI").

AlphaZero è in grado di semplificare i calcoli, dando una corsia preferenziale alle strategie che hanno dimostrato di avere più probabilità di successo, riuscendo in questo modo ad abbattere i tempi per i calcoli e lo spazio di memoria necessario. Questo grazie all’utilizzo del cosiddetto “Montecarlo tree search”, l’algoritmo che funziona suddividendo la partita in “alberi”, arrivando a scegliere la mossa migliore nel minor tempo possibile, utilizzando tattiche spesso molto più aggressive e apparentemente meno prudenti rispetto a quelle scelte dagli umani e dai software più “tradizionali” come Stockfish.

Dimostrata la propria schiacciante superiorità nel campo degli scacchi, AlphaZero ha iniziato a provare altre strade con cimenti più difficili, giochi dalle regole più complicate come “Go”, molto diffuso in estremo oriente e più complicato degli scacchi perché contempla un numero decisamente più alto di possibilità per ogni mossa. Da qui la nascita di AlphaGo, che nel 2016 è riuscito a battere, in anticipo rispetto alle previsioni degli esperti, il campione Sudcoreano Lee Sedol, e ha ottenuto una nuova vittoria nel maggio 2017 contro il cinese Ke Jie, numero uno della classifica mondiale di Go.

 scacchi-alphago.jpg