Uomo vs Macchina: Kasparov contro DeepBlue

Ovvero, “le macchine che ci hanno battuto”, capitolo 1…

Nome: DeepBlue
Data di nascita: 1985
Creatori: Feng-hsiung Hsu e Murray Campbell
Produttore: IBM
Processori: IBM Power Two Super Chip (P2SC)
Vittoria: Febbraio 1997 (2-1, 3 patta)
Sfidante: Kasparov

Lo ammetto, non sono un gran giocatore di scacchi. Quando provo a sfidare il mio computer perdo spesso in breve tempo. Quello che mi consola è che anche molti grandi campioni sono stati battuti da una macchina. Lo sviluppo dell’intelligenza artificiale negli ultimi decenni, infatti, ha permesso a software creati ad hoc di sconfiggere molti campioni di vari giochi di strategia e non solo.

La data di inizio di queste clamorose sconfitte dell’uomo contro le macchine si può far risalire al 1997 quando il campione di scacchi Garry Kasparov viene battuto alla sesta partita dal computer IBM conosciuto come DeepBlue.

DeepBlue nasce nel 1985 come progetto di tesi di Feng-hsiung Hsu e Murray Campbell, i quali dopo la laurea vengono assunti dalla IBM dove mandano avanti il progetto. Nel Febbraio 1996 il computer sfida per la prima volta Kasparov, ma viene battuto. L’anno seguente, dopo alcune modifiche, batte il campione russo vincendo due partite e perdendone una sola (le altre tre partite risulteranno “patta”).

Già negli anni ‘50 Claude Shannon, uno dei padri delle teorie dell’informazione, pubblicò uno studio intitolato “Programming a Computer For Playing Chess” (“Programmare un computer per giocare a scacchi”), e in molti misero a punto i propri algoritmi per giocare, ma il metodo trovato dagli ingegneri dell’IBM lo rese il migliore sia dal punto di vista delle mosse che nel tempo di calcolo.

DeepBlue riceve la situazione dei pezzi sulla scacchiera e prendendo in esame fattori come l’importanza del pezzo (un pedone vale meno di una torre), quante caselle libere ha a disposizione il pezzo e quanto il re è al sicuro e quanto controllo della scacchiera ha il contendente, riesce a stabilire quanto è buona la posizione di un pezzo sulla scacchiera. Sommando la “bontà” della posizione per ogni pezzo determina chi degli sfidanti è in vantaggio.

Ad analisi finita DeepBlue sceglie la mossa da fare. Nei normali sistemi “ad albero” il computer dovrebbe generare tutte le mosse possibili, dalle quali poi discendono i vari scenari che porteranno o meno alla vittoria. Questo in teoria è il processo più accurato per giocare, ma è anche molto dispendioso dato che richiederebbe un’infinità di conti: basti pensare che il bianco, che muove per primo, come apertura ha venti possibili mosse, alla seconda mossa ci sono 400 possibili scenari e dopo tre, quando tocca di nuovo al bianco 8902, e il numero cresce esponenzialmente.

Il metodo adottato per DeepBlue non prende in considerazione tutte le possibili mosse, ma è stato programmato per scegliere quelle che conducono a percorsi più rilevanti, cioè dove il computer ha il miglior vantaggio secondo l’analisi che abbiamo visto prima, così facendo analizza meno percorsi risultando più veloce ed efficiente.

Neanche un supercomputer come DeepBlue, però, nasce con tutte le informazioni di cui ha bisogno, per questo, prima di affrontare Kasparov, si è dovuto allenare. Il suo allenamento è cominciato da autodidatta, infatti gli sono state date da analizzare migliaia di partite giocate in precedenza, in modo da ricavare una stima ottimale dei parametri sull’importanza di una posizione o di una mossa. In seguito è “andato a scuola” da diversi campioni statunitensi che gli hanno fornito un database delle aperture, cioè la prima mossa nella partita, da cui DeepBlue avrebbe poi potuto scegliere (a caso), e uno su alcune situazioni intermedie e sulla fase finale della partita. Tali database sono stati usati solo come input iniziali da cui partire per fare valutazioni e trarre decisioni nel modo visto precedentemente.

Il successo di DeepBlue risiede nel suo algoritmo di valutazione e nella sua potenza di calcolo, è infatti formato da 256 processori che lavorando in parallelo sono in grado di calcolare, nella versione che ha battuto Kasparov, più di 100 miliardi di mosse in tre minuti. Nonostante la vittoria riportata, e la grande fama ottenuta dal supercomputer, DeepBlue non è da considerarsi intelligente, almeno non nel senso che se ne dà oggi. l suo algoritmo, infatti, è semplicemente un’ottimizzazione del metodo “a forza bruta”, cioè quello che analizza ogni possibile mossa. Tuttavia, rappresenta una pietra miliare sia da un punto di vista culturale sia per quanto riguarda la ricerca nella Computer Science. Negli anni successivi, altri campioni, in altri giochi, sono stati sfidati e battuti da un computer, portando la ricerca sull’intelligenza artificiale sempre più avanti, ma questo parleremo nei prossimi articoli della serie “Uomo VS Macchina”.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Author: Giorgio Garlaschelli

Share This Post On