Scacchi
Italiano

Scacchi › Conoscere gli scacchi ›

Scacchi al computer: da Deep Blue a Stockfish e all’IA

Come gioca un computer, come Deep Blue ha battuto Kasparov, e perché i motori di oggi sono così forti che nessun umano riesce più a batterli.

Detta anche:Computer chess、Chess engine、Motore scacchistico、Deep Blue、Stockfish、AlphaZero

Oggi sul telefono puoi giocare contro un computer più forte del campione del mondo, ma qualche decennio fa era ancora un sogno da scienziati. Questo articolo va dai primi programmi scritti su carta a Deep Blue, Stockfish e l’IA, e spiega anche da dove vengono gli avversari di questo sito. Se vuoi prima misurarti con il computer, puoi subito giocare a scacchi online gratis.

Tutto comincia con un programma su carta

Nel 1950 il matematico americano Claude Shannon pubblicò un articolo che per la prima volta si chiedeva sul serio «come far giocare a scacchi un computer». La sua idea: guardare ogni mossa possibile per qualche mossa in avanti, dare un punteggio a ogni posizione e scegliere la mossa con il punteggio migliore. Ancora oggi i computer giocano partendo da questa idea.

Più o meno negli stessi anni il matematico inglese Alan Turing scrisse un programma per giocare a scacchi, ma i computer dell’epoca non riuscivano a farlo girare. Così lo eseguì lui stesso, con carta e penna, mossa per mossa: per calcolare una mossa ci metteva spesso mezz’ora.

Deep Blue batte il campione del mondo

Deep Blue di IBM era un computer costruito apposta per gli scacchi. Nel 1996 sfidò per la prima volta il campione del mondo Garry Kasparov: vinse una partita, ma perse il match 2 a 4. Nel 1997, dopo un aggiornamento, ci fu la rivincita e Deep Blue vinse 3.5 a 2.5. Era la prima volta che un computer batteva il campione del mondo in carica in un match ufficiale.

Nella sesta partita, quella decisiva, Kasparov aveva il Nero e giocò la Difesa Caro-Kann, ma alla settima mossa sbagliò l’ordine delle mosse:

Il Nero gioca h6 per cacciare il cavallo, ma Deep Blue lo sacrifica subito in e6. Il re nero resta bloccato al centro e non potrà più arroccare.

Questo sacrificio era già noto nella teoria delle aperture: se il Nero sbaglia l’ordine delle mosse, il Bianco dà un cavallo e in cambio ottiene un attacco che dura a lungo. Il Nero aveva un cavallo in più, ma il suo re fu attaccato senza sosta, e alla diciannovesima mossa abbandonò:

Qui Kasparov abbandona. Donna, torre e alfieri bianchi puntano tutti sul re nero, e il cavallo nero sta per essere catturato.

Come gioca un computer

Guardare avanti: la ricerca

Il computer elenca tutto: «io gioco questa, lui risponde quella, poi io gioco…», come un albero che diventa sempre più grande. Un buon motore taglia subito i rami chiaramente cattivi e passa il tempo sulle mosse promettenti, così in un secondo riesce a guardare decine di milioni di posizioni.

Dare un voto: la valutazione

A una certa profondità deve fermarsi e dare un punteggio alla posizione: chi ha più materiale, se il re è al sicuro, com’è la struttura pedonale, quanto sono attivi i pezzi. Di solito il punteggio si misura in «pedoni»: +1 vuol dire che il Bianco ha un vantaggio di circa un pedone.

Sapere già la risposta: le tablebase

Quando sulla scacchiera restano sette pezzi o meno, il computer non deve calcolare: il risultato di tutte le posizioni è già stato calcolato e salvato in un database, che si chiama tablebase. Negli articoli sui finali di questo sito, i risultati sono confermati proprio con le tablebase.

AlphaZero e le reti neurali

Nel 2017 AlphaZero di DeepMind, conoscendo solo le regole, giocò milioni di partite contro sé stesso e in poche ore superò il motore più forte di allora. In un match di 100 partite ne vinse 28, ne pattò 72 e non ne perse nessuna.

AlphaZero gioca in modo molto umano: è disposto a sacrificare materiale per vantaggi a lungo termine e ama mettere i pezzi su case attive. Poi Leela Chess Zero, un progetto open source, ha rifatto tutto con lo stesso metodo, così che chiunque possa usarlo.

Stockfish: il motore più forte di oggi

Stockfish è un motore gratuito e open source, migliorato da volontari di tutto il mondo. Dal 2020, oltre alla ricerca classica, usa una piccola rete neurale per valutare le posizioni, ed è diventato ancora più forte. Oggi vince quasi sempre i tornei tra computer, ed è molto più forte di qualsiasi giocatore umano.

Un’IA che gioca come una persona: Maia

Il motore più forte serve a poco a un principiante: è troppo forte, e quando lo si fa giocare apposta peggio fa mosse strane che nessun umano farebbe. Un gruppo di ricerca dell’Università di Toronto ha creato Maia, allenata su tantissime partite di persone vere. Il suo obiettivo non è vincere, ma indovinare «cosa giocherebbe qui una persona con questo punteggio». Per questo fa gli stessi errori delle persone, e giocarci contro è più naturale.

Gli avversari di questo sito

I quattro livelli di questo sito usano proprio questi due tipi di IA: Principiante, Intermedio e Avanzato sono affidati a Maia, Maestro a Stockfish. Girano tutti nel tuo browser, senza collegarsi a un server. Per sapere a quale punteggio corrisponde più o meno ogni livello, leggi punteggio Elo e titoli. Per scegliere il livello, leggi avversari e livelli del computer.

Domande frequenti

C’è ancora qualcuno che riesce a battere il computer più forte?

In una partita normale è quasi impossibile. I motori migliori sono molto più forti del campione del mondo, e anche per un Grande Maestro fare patta è già un grande risultato.

Come usano il computer i giocatori professionisti?

Soprattutto per preparare le aperture e per controllare le proprie partite. Nei tornei ufficiali, usare un computer durante la partita è un imbroglio grave e porta alla squalifica.

Che fine ha fatto Deep Blue?

Dopo il match del 1997 IBM ritirò Deep Blue, che non giocò più. Uno dei suoi armadi è finito in un museo.

Prova tu

Vuoi sapere cosa si prova a essere schiacciati da un motore? Vai a giocare a scacchi online e scegli il livello Maestro. Se vuoi una partita più tranquilla, scegli Principiante o Intermedio e guarda quali errori fa un’IA che imita le persone.

Esercitati in partita