Posts tagged ‘Go’

settembre 30, 2018

Il Go in TV

Una trasmissione televisiva su RSI di Dario Lo Scalzo realizzata al Congresso di Go a Pisa dove ho anche un piccola parte

 

https://www.rsi.ch/news/oltre-la-news/Il-pi%C3%B9-antico-gioco-del-mondo-10919072.html

 

Annunci
Tag: ,
marzo 15, 2016

L’Essere Umano ha battuto gli Dei?

Pubblicato su Pressenza il 09.03.2016

L’Essere Umano ha battuto gli Dei?
(Foto di https://gogameguru.com)

Un Allievo chiede a un Maestro: “Maestro, qual è il gioco più sublime che abbiano inventato gli esseri umani?”. Il Maestro risponde: “Gli scacchi, certamente!”. L’Allievo timidamente chiede: “Ma il Go, Maestro?”. “Quello non l’hanno inventato gli esseri umani.”

 

Questa piccola storia gira da anni tra i giocatori di Go e illustra bene una certa attitudine che i giocatori di questo gioco hanno nei confronti di questo antico e nobile gioco.

 

Il Go è sotto i riflettori in questo momento a causa della sfida lanciata da Google a uno dei giocatori più forti del mondo, il coreano Lee Sedol. Il programma di DeepMind, la farm di intelligenza artificiale recentemente comprata dal colosso dei motori di ricerca, si chiama AlphaGo e, oggi, nel corso della prima di cinque partite, ha battuto il campione coreano. Ne abbiamo parlato ieri con Maurizio Parton Presidente della Federazione Italiana e matematico e alla sua intervista vi rimando per i dettagli tecnici.

 

Qui vorrei parlare d’altro e cioè della suggestione che questo tipo di sfide suscitano e della loro interpretazione, a partire dalla storica vittoria a scacchi di Deep Blue su Kasparov.

 

Fin dalla fantascienza degli anni ’50 la tematica dell’intelligenza artificiale è stata sviluppata in una miriade di produzioni letterarie (la saga dei robot di Asimov, per esempio). In genere si è sempre esaltata una certa paura sul fatto che le macchine potessero diventare più intelligenti dell’uomo e dominarlo. Ovviamente il livello della problematica scientifica e filosofica della questione è oscillato tra la banalità e la raffinatezza.

 

Allo stesso modo, con lo sviluppo dell’informatica e della robotica, gli studi scientifici tesi alla comprensione dei meccanismi complessi che permettono ad animali e umani di fare determinate cose, di avere alcune abilità ecc. sono andati avanti ed hanno prodotto risultati scientifici e tecnologici di alto livello.

 

Paradossalmente, ma non tanto, la leggenda sulla nascita del Wei qi (il nome originario cinese del Go) parla proprio di questo: l’Imperatore Yao covoca un suo ciambellano e gli chiede di inventare un gioco che possa rendere più intelligente suo figlio. Yao chiede una macchina che accresca l’intelligenza di suo figlio, la macchina si manifesta nella forma di un manufatto umano, di un gioco. Nella forma di una costruzione della mente.

 

Nel corso della sua lunga storia al Go vengono attribuite molte qualità: oltre a rendere intelligente il figlio dell’imperatore si dice che elevi il chi (l’energia vitale) di coloro che lo praticano, che sia uno strumento di meditazione sulle regole morali della vita, che sia uno strumento di allenamento della memoria, della pazienza, dell’attenzione…

 

La storia della cosiddetta intelligenza artificiale non è molto più corta: curiosamente ne possiamo rintracciare gli inizi nell’abaco cinese, prima macchina calcolatrice della storia.

 

Quel che vorrei chiarire subito è chesi tratta una storia eminentemente umana. Il ciambellano di Yao risponde alla sfida con un gioco-macchina; l’anonimo inventore dell’abaco reagisce con una macchina al problema della necessità di eseguire calcoli veloci.

 

Chi vince allora la sfida tra AlphaGo e Lee Sedol?

 

Se è vero l’aneddoto dell’inizio non sono gli umani ma gli Dei ad aver inventato il Go; allora oggi gli Esseri Umani hanno battuto gli Dei. Gli esseri umani che hanno costruito, in un lungo percorso evolutivo, la macchina AlphaGo. Ma forse, più semplicemente, gli esseri umani stanno giocando tra di loro per arrivare ad una costruzione umana più elevata, a superare limiti apparentemente invalicabili. Perché, alla fine, il processo che porta dall’abaco cinese alla macchina di Pascal, fino al computer portatile ed AlphaGo non è altro che il gioco eminentemente umano di auto sfidarsi verso traguardi sempre più elevati, nell’obbiettivo di fondo di migliorarsi.

 

L’unica differenza che vedo tra un programma inventato da umani e l’essere umano che ci gioca contro sono le emozioni di cui la macchina non è disponibile (nonostante la fantascienza): quel che mi ha colpito di più delle dichiarazioni di Lee Sedol prima della partita è stato un semplice “sono un po’ preoccupato”. E questa dichiarazione di debolezza umana mi ha profondamente rincuorato perché ha fatto emergere l’infinita bellezza di quell’essere umano: la sua fragilità.

 

marzo 9, 2016

Google sfida il campione del gioco più antico del mondo

Pubblicato su Pressenza il 08.03.2016

Google sfida il campione del gioco più antico del mondo
Un momento della sfida europea (Foto di Google)

Da decenni l’intelligenza artificiale cerca di giocare alla pari con l’essere umano nel gioco del Go, uno dei giochi astratti più antichi del mondo. Il 28 gennaio 2016 Google annuncia la vittoria di AlphaGo contro Fan Hui, giocatore di Go professionista di origine cinese, che vive in Francia da molti anni e che negli ultimi 3 anni è stato campione europeo.

AlphaGo è un software sviluppato da DeepMind, società di ricerca nell’intelligenza artificiale, che è stata acquisita da Google nel 2014 per una cifra superiore ai 400 milioni di dollari. La portata di questo investimento dà l’idea dell’importanza di questo risultato, non solo per quanto riguarda il risultato in sé, quanto per il mondo dell’intelligenza artificiale.
Adesso rimane da superare l’ultimo traguardo: nei giorni 9-10-12-14-15 marzo AlphaGo giocherà contro uno dei giocatori più forti del mondo, il coreano Lee Sedol. In attesa di questa storica sfida, ne parliamo con Maurizio Parton, presidente della Federazione Italiana Gioco Go e matematico di professione.

Maurizio, potresti fare un breve riassunto dell’evoluzione di giocatori artificiali nel mondo del Go?


La ricerca dell’intelligenza artificiale nel Go è partita circa 10 anni dopo quella degli scacchi: mentre negli scacchi la ricerca risale agli anni ’50, e il primo programma agli anni ’60, nel Go i programmi cosiddetti “di prima generazione” cominciano nel 1968, per poi svilupparsi fino al 1993. Con prima generazione si intendono quei programmi che usano un’euristica deterministica, e che discendono nell’albero delle posizioni molto superficialmente. In parole povere, i programmi di prima generazione sceglievano le mosse da fare in maniera molto superficiale, e riuscivano a leggere soltanto poche mosse avanti. Tra questi, il programma più noto è GnuGo, che gioca a livello dilettantistico e non legge nessuna mossa avanti (anche se una sua versione recente sta implementando metodi probabilistici, tipici dei programmi di seconda generazione).
Nel 1993 esce il primo programma che usa metodi probabilistici: si chiama Gobble, e usa una tecnica chiamata “metodo Montecarlo” per scegliere la mossa da fare. Dal punto di vista odierno non ottiene grandi risultati, ma gli va dato il merito di aver aperto la strada all’uso della probabilità nel Go: comincia la “seconda generazione”. Tra i programmi più famosi di seconda generazione troviamo MoGo, Zen, CrazyStone e The Many Faces of Go, che hanno raggiunto il livello di forti amatori. La seconda generazione è caratterizzata da una ricerca dell’albero molto profonda, possibile grazie ai metodi probabilistici.
Oggi assistiamo alla nascita della “terza generazione”: AlphaGo è il primo di questi programmi. Oltre al risultato eccezionale conseguito, AlphaGo ha il merito di aver inaugurato l’utilizzo delle reti neurali per la scelta della mossa “migliore” da fare.

Potresti spiegare quali sono le strategie su cui si basano i programmatori per sviluppare programmi che giochino contro gli umani?


La strategia è molto semplice, una volta capito che questo tipo di gioco è un gioco “di cui si sa tutto”. Se si potessero analizzare tutte le possibilità, mossa per mossa, si potrebbe sempre rispondere perfettamente, e vincere sicuramente! Si potrebbe giocare – per citare Hikaru No Go – la “kami no itte”, ovvero la partita perfetta.
Questa frase “analizzare tutte le possibilità, mossa per mossa” significa mettere un colore in ogni configurazione possibile del gioco: nero se vince nero, bianco se vince bianco.
Purtroppo l’analisi di tutte le mosse non è possibile: si parla di 10^345 possibili partite diverse, un numero che non è e non sarà mai analizzabile da nessun computer. Come fa allora un programmatore a scrivere un programma che gioca a Go? Semplice: si accontenta. Mette i colori nelle caselle in maniera approssimata, come facciamo noi quando giochiamo. Noi non diciamo “gioco qui perché vinco”, ma “gioco qui perché penso di vincere”. Allo stesso modo il programmatore sceglie un algoritmo che “pensa” che in quella tal posizione vincerà bianco piuttosto che nero. È la scelta di questo algoritmo che determina il buon funzionamento del programma.
L’algoritmo dei programmi di seconda generazione si chiama “ricerca dell’albero tramite Montecarlo”, e funziona, in maniera molto semplificata, nel modo che spiego adesso. Supponiamo che io mi trovi in una posizione A, e voglio decidere che mossa fare. Per semplicità, diciamo che ci sono soltanto 2 possibilità: B e C.
Partendo da B, faccio fare al computer 1000 partite, e alla fine vedo chi vince. Se alla fine ha vinto 840 volte nero, mi segno sulla posizione di partenza B la frequenza di vittorie: 800/1000.
Poi faccio la stessa cosa partendo da C: se alla fine nero ha vinto 882 volte, mi segno sulla casella C il numero 882/1000.
È chiaro allora quale mossa scegliere tra le due: sceglierò C, perché è quella che “promette meglio”. Sembra semplice, ma… come gioca il computer? Come fa a fare le 1000 partite a partire da B, e le altre 1000 a partire da C? La risposta è sorprendente: le gioca a caso! Sceglie le mosse a caso, fino a finire la partita.
Questo metodo Montecarlo si chiama “puro”, ed è ovviamente molto primitivo. Però l’essenza dell’idea dei metodi probabilistici applicati al Go è questa, nient’altro. Per curiosità, il metodo che viene usato oggi nei programmi è un suo perfezionamento, che si basa su una tecnica detta “bandito a molte braccia”.
AlphaGo usa tutte queste tecniche, e molto di più: usa infatti tre reti neurali (strumenti molto avanzati di intelligenza artificiale), per predire il valore di una posizione (quello che prima veniva calcolato giocando “a caso”). Inoltre, usa il metodo Montecarlo nella sua versione più avanzata, e tante altre tecniche di contorno. Tutto questo, unito a una potenza di calcolo enorme: 1202 processori, e 176 schede grafiche.

A te, come giocatore di Go, la notizia di questi successi tecnologici che effetto fa? E che effetto ha fatto su altri giocatori?


La notizia è stata sconvolgente, e vissuta a pieno titolo come un evento storico. Storico nel mondo del Go, sicuramente, ma anche nel campo dell’intelligenza artificiale. Le tecniche usate da DeepMind sono applicabili in numerosi altri settori! Per quel che mi riguarda, io come matematico mi sento molto fortunato per il periodo in cui sto vivendo: ho infatti visto le dimostrazioni delle congetture di Fermat e di Poincaré, Deep Blue, adesso AlphaGo, e subito dopo le onde gravitazionali!
Per quel che riguarda gli altri giocatori, la notizia si è sparsa a macchia d’olio: in poche ore dall’annuncio ufficiale, lo sapevamo praticamente tutti. Adesso la grande domanda è: chi vincerà tra AlphaGo e Lee Sedol? Io credo di essere in minoranza, perché penso che vincerà AlphaGo.
Di sicuro, molti di noi mercoledì 9 marzo alle 5:00 di mattina saranno davanti al computer, a vedere l’inizio di questo storico confronto!

Link di approfondimento:

https://gogameguru.com/can-alphago-defeat-lee-sedol/
https://deepmind.com/alpha-go.html

https://en.wikipedia.org/wiki/Computer_Go