Perché la vittoria a Go dell’intelligenza artificiale è importante

vittoria a Go dell'intelligenza artificiale

Il poker è calato: intelligenza artificiale batte essere umano quattro a uno. Almeno nell’antico gioco del Go. Parliamo, naturalmente, della vittoria a Go dell’intelligenza artificiale. Vale a dire, dell’algoritmo AlphaGo sviluppato dai ricercatori di Google, che si è imposto sul maestro internazionale Lee Se-Dol, aggiudicandosi per l’appunto il match con il punteggio di 4 a 1.  Rispondendo alle domande dei giornalisti nel corso della conferenza stampa successiva alla sua sconfitta, Se-Dol ha sostenuto che non crede che la vittoria a Go dell’intelligenza artificiale sia una evidenza della superiorità sugli umani dell’algoritmo di Google, pur dovendo ammettere che l’abilità del programma lo ha costretto a rivedere alcuni cardini della sua strategia di gioco.

Perché la vittoria a Go dell’intelligenza artificiale è importante

Perché questa vittoria assume una così grande rilevanza mediatica? Si tratta solo della ennesima trovata pubblicitaria della poderosa organizzazione di Mountain View, o c’è qualcosa di davvero rivoluzionario?  In fondo, già nel 1997 il computer Deep Blue è stato in grado di sconfiggere il campione del mondo Garry Kasparov agli scacchi, considerati da molti il gioco di strategia per antonomasia.

Che cos’ha dunque di diverso, e così speciale, il gioco del Go? Si tratta di uno dei giochi da tavolo più antichi, dal momento che la sua origine si fa risalire ad almeno 2500 anni fa, in Cina. Si gioca su una scacchiera dotata di una griglia 19×19 (il “goban“), dove i due giocatori avversari collocano alternativamente pedine nere e bianche (dette pietre). Lo scopo finale è il controllo di una zona del goban maggiore di quella controllata dall’avversario: i giocatori devono ideare una disposizione delle proprie pedine in modo da conquistare i territori occupati da quelle avversarie, accerchiandole. Allo stesso tempo, devono provare a “invadere” dei territori sul goban disponendo le pedine in territori che l’avversario non possa attaccare senza essere catturato.

Le regole del Go non sono complesse, ma la sua difficoltà strategica nasce principalmente dalle due esigenze contrapposte di difendersi e attaccare l’avversario. E questa peculiarità ha reso assai arduo lo sviluppo di un algoritmo in grado di battere giocatori umani. Almeno, fino all’avvento della creatura di Google.  In effetti i migliori predecessori di AlphaGo venivano puntualmente battuti anche da giocatori principianti e poco esperti. E quindi, fino a qualche tempo fa, si presentava la situazione apparentemente paradossale in cui macchine in grado di vincere a scacchi col campione del mondo perdevano miseramente a Go con uno studente di scuola media qualunque. Perché?

La risposta è davvero suggestiva: il Go è più difficile da giocare per una macchina perché lascia più spazio all’istinto e alla creatività.  Infatti, in una partita di scacchi, a partire da una data posizione le mosse lecite sono normalmente solo poche decine, a causa del pesante apparato di regole. Nel Go, al contrario, la semplicità delle regole consente un numero di mosse di gran lunga più elevato. Rendendo praticamente impossibile per un calcolatore prevedere come il gioco si svilupperà.

Per fare un esempio, supponendo che negli scacchi ogni mossa si possa fare in 25 modi diversi, per poter indovinare che cosa capiterà dopo 5 mosse, il calcolatore dovrà valutare qualcosa come 10 milioni di possibili disposizioni. Per fare la stessa cosa nel Go, un programma dovrebbe essere in grado di valutare circa 1000 miliardi di disposizioni. Pertanto, la forza bruta di calcolo della macchina in questo caso non è applicabile, ma non è detto che non possa esserlo in futuro, quando saranno state sviluppate tecnologie sufficientemente avanzate da consentire una così ingente mole di calcoli in breve tempo. Un altro problema nel Go è che l’istinto gioca un ruolo assai più rilevante che negli scacchi: spesso, infatti, neppure i campioni di Go riescono a fornire una spiegazione esaustiva del perché hanno effettuato una mossa che si rivela vincente. E questo perché, semplicemente, hanno messo in atto la loro strategia seguendo l’intuito e non basandosi sulla teoria del gioco.

L’addestramento di AlphaGo

Nonostante ciò, AlphaGo è riuscito a battere il campione umano con le risorse di calcolo e con le tecniche algoritmiche disponibili oggi. Una possibile spiegazione della la vittoria a Go dell’intelligenza artificiale è quella data da Shane Moon, ricercatore della School of Computer Science della Carnegie Mellon University. Secondo Moon, AlphaGo è in grado di ridurre drasticamente il numero di disposizioni da valutare  (tecnicamente, la dimensione del suo spazio di ricerca) perché è stato programmato per imitare le mosse di giocatori esperti, giocare contro se stesso e giocare milioni di partite ogni giorno. In particolare, AlphaGo si basa sulla combinazione di due tecniche: il machine learning e la ricerca su alberi. Un albero è una struttura costituita da nodi (o foglie) e archi (o rami) che rappresenta in questo caso l’evoluzione nel tempo delle mosse di una partita di Go. Il machine learning, o apprendimento automatico, si occupa invece della realizzazione di algoritmi che, a partire da basi di dati tipicamente di grandi dimensioni, consentono alle macchine di acquisire nuove conoscenze. Il deep learning, infine, è la parte del machine learning basata sull’insieme degli algoritmi che consentono di astrarre concetti complessi a partire da una mole di dati grezzi più elementari.

Ad esempio, considerando il problema della identificazione delle lettere di un testo scritto a mano, grazie alle tecniche di machine learning è possibile addestrare una macchina a riconoscere i caratteri tracciati da chiunque, a partire dall’analisi di una massiccia mole di dati, consistente nel caso in esame in un enorme archivio di manoscritti. Come illustrato in questo articolo, AlphaGo sfrutta le tecniche di deep learning applicate ad un enorme archivio di circa 30 milioni di mosse effettuate in partite di Go tra umani per acquisire la conoscenza di due concetti astratti: il valore e la strategia. Il valore viene appreso e applicato alla valutazione delle disposizioni delle pedine sulla scacchiera, allo scopo di valutare quanto siano promettenti o svantaggiose, mentre la strategia viene appresa e applicata alla selezione delle mosse da effettuare, con la finalità di massimizzare la probabilità di raggiungere un vantaggio o un esito finale favorevole.

Infine, l’apprendimento viene irrobustito facendo giocare AlphaGo migliaia di volte contro se stesso: in questo modo, l’algoritmo di Google acquisisce la capacità di percorrere gli alberi delle mosse scegliendo solo i più promettenti tra un numero estremamente elevato di possibili cammini, scartando invece tutti quelli che non conducono a situazioni di vantaggio.

Umano vs macchina, il gap si stringe

Per vincere, insomma, AlphaGo non fa altro che mimare le migliori strategie che ha osservato nelle partite dei maestri o in quelle che giocate contro se stesso. Divenendo, virtualmente, imbattibile. Sebbene con ogni probabilità Lee Se-Dol sia nel giusto quando sostiene che non crede che la vittoria a Go dell’intelligenza artificiale di Google sia una dimostrazione della superiorità della macchina sull’uomo, non si può non apprezzare la straordinaria importanza del risultato raggiunto: addestrare una macchina a imparare meglio e più velocemente di quanto possa fare un essere umano.

Qualcuno potrà obiettare che le vere qualità dell’intelligenza umana vanno ben oltre la capacità di essere creativi in un gioco di strategia. Una cosa è certa: chi sosteneva che la vittoria a Go dell’intelligenza artificiale avrebbe segnato l’avvento di macchine intelligenti, o senzienti, sarà costretto a spostare un po’ più in alto l’asticella della difficoltà. E il motivo è che, mentre è possibile programmare AlphaGo e spiegare come funzioni, ad oggi è ancora impossibile spiegare come funzioni la coscienza umana. Che resta, probabilmente, il più grande mistero ancora da svelare.

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here