Intelligenza artificiale

Scontro computer – uomo: come ha fatto a vincere?

mossa scacchi

Cosa avvenne?

E’ il 10 febbraio 1996, siamo a Filadelfia. Tutti sono incollati agli schermi. Sta per verificarsi un grande evento. Sta per accadere qualcosa di straordinario per la prima volta nella storia. Ma ancora nessuno osa fare pronostici.

In una stanza, alcune telecamere sono puntate verso un tavolo con una scacchiera. Le pedine in posizione, pronte a fare la storia, impassibili, ignare del luogo in cui si trovano e del match che sarà disputato di lì a pochi minuti.

Seduto al tavolo da un lato c’è Kasparov, campione mondiale di scacchi, con un volto sereno che a tratti palesa la sorpresa e nello stesso tempo la grinta per quella prima volta nella storia in cui un essere umano compie una nuova sfida.

Dall’altro un informatico, con accanto un monitor e una tastiera, collegati con quel computer che dopo qualche ora sarebbe stato ricordato da tutti: Deep Blue, dell’IBM.

Inizia la prima partita di una serie di 6 partite. Tra una serie di mosse, strategie, e intensi momenti di suspence che coinvolgevano anche i meno appassionati di scacchi, la prima partita viene vinta da Deep Blue, e quel giorno verrà ricordato come la prima volta in cui un computer vince contro un essere umano.

Lo stesso giorno vennero disputate altre 5 partite, 3 delle quali vinte da Kasparov e 2 pareggiate. Quindi, al di là della prima partita, la vittoria fu di Kasparov.

L’anno successivo una versione migliorata di Deep Blue sfidò nuovamente Kasparov aggiudicandosi stavolta la rivincita.

In molti vedono in quella prima partita del 1996 la prima vittoria della macchina contro l’uomo.

Al di là del racconto, la domanda che oggi vi faccio è: sapete quale metodo ha usato Deep Blue per vincere?

Come ha fatto a vincere?

Diamo una risposta molto semplice e facilmente comprensibile: quando era il suo turno, Deep Blue iniziava a crearsi in memoria un albero di possibili mosse:

  1. al primo livello di tale albero metteva le possibili mosse che lui avrebbe potuto compiere (per esempio “cavallo da in A1 a C3”, “pedone da D1 a D4”, etc…);
  2. al secondo livello segnava poi le mosse che l’avversario avrebbe potuto compiere a sua volta dopo una mossa del primo livello;
  3. al terzo livello segnava le mosse che a sua volta lui avrebbe potuto compiere dopo la mossa dell’avversario;
  4. e così via.

Immaginate quindi un albero con tutte le mosse possibili: al primo livello le mosse di Deep Blue, al secondo livello le possibili successive mosse di Kasparov, al terzo livello le successive possibili mosse di Deep Blue, al quarto livello le successive possibili mosse di Kasparov, e così via. In pratica Deep Blue creava l’albero con le varie evoluzioni che la partita avrebbe potuto avere, con tutti i casi possibili che si sarebbero potuti verificare.

Deep Blue arrivava solo fino ad un certo numero di livelli, altrimenti la memoria non gli sarebbe bastata.

Ora, Deep Blue osservava l’ultimo livello creato e si chiedeva: “quale tra le mosse dell’ultimo livello è la più conveniente per me?”. La sceglieva, sia essa per esempio la mossa Z.

Poi tornava a guardare il primo livello e si chiedeva: “quale mossa del primo livello mi consente di arrivare alla mossa Z?”. Sia essa la mossa A. Perfetto, quindi Deep Blue effettuava la mossa A nella partita.

Curiosità: questo algoritmo è una versione semplificata dell’algoritmo chiamato “minimax”, tuttora spiegato in corsi universitari. Ma non è l’unico algoritmo di intelligenza artificiale usato nei giochi.

E voi, sapreste battere Deep Blue? 🙂

Lascia un commento

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