EDIT: AlphaGo vince anche contro Lee Se-dol!

Pochi giorni fa Google ha ottenuto uno straordinario risultato con la sua nuova IA:
AlphaGo ha battuto l’uomo a Go, uno dei più antichi giochi da tavolo che è infatti da 2.500 anni uno dei mezzi con cui misurare l’intelligenza umana.
Umanamente simile agli scacchi, anzi con meno regole e più semplici, crea un problema informatico non trascurabile:
Con una scacchiera (Goban) formata da 19 linee verticali per 19 orizzontali il gioco offre oltre 4,63×10 alla 170sima posizioni diverse.
Risulta quindi impossibile  dare un valore (positivo, negativo, neutrale) alle prossimo mosse possibili, come si può fare per gli scacchi ad esempio.
Proprio per questo, è diventata una sfida (tra Google e Facebook) a chi avrebbe sviluppato prima un’IA talmente potente da poter giocare (e vincere, ovviamente) a Go.
Ed eccoci qui.

Le semplici regole del Go che lo rendono un gioco difficilissimo.

Come già detto, ha poche e semplici regole, ma che lasciano spazio a un’infinità di possibili strategie e mosse, quasi imprevedibili.
Infatti, ogni mossa può implicare altrettante possibili mosse senza che nessuna porti a un vero risultato positivo o negativo, ma che poi nel complesso, porteranno alla vincita di uno dei due giocatori.
Mentre a scacchi, da uno stato attuale e una mossa dell’avversario, spesso, derivano davvero poche strategie possibili, rimanendo quindi nel computabile.

Le regole:

  • Le pedine si distinguono solo tra bianche (giocatore 1) e nere (giocatore 2)
  • A turno, ogni giocatore posiziona una pedina sulle intersezioni delle 19 linee verticali con quelle orizzontali
  • L’obiettivo è quello di circondare con le proprie pedine quelle dell’avversario, e occupare più territorio della scacchiera dell’avversario.
  • Quando un gruppo di pedine è completamente circondato, viene mangiato (aumentando il punteggio dell’avversario
  • Non si possono posizionare pedine nei punti in cui si verrebbe automaticamente mangiati

Poche regole ma… Provate a giocare e probabilmente perderete. Non esiste la fortuna del principiante, ma solo strategie accurate e forse, creatività.

AlphaGo Gif

Non è solo un gioco

Il Go insomma è perfetto per misurare l’intelligenza dell’uomo, ed ora, anche del software. Google ha pensato di usarlo per dimostrare le potenzialità di AlphaGo,  sviluppata dalla startup Deep Mind comprata nel 2014.
AlphaGo ha infatti battuto per 5 volte su 5 il campione europeo di Go Fan Hui, e questo mese, è prevista la sfida con uno dei più bravi giocatori al mondo.
Ma non è solo un gioco, e non dovete fare il tifo per nessuno.
Questa vittoria rappresenta infatti un grande traguardo per l’IA:
Per anni gli esperti hanno dichiarato che il go fosse troppo difficile per un’IA. Il numero di mosse potenziali è infinitamente maggiore degli scacchi, ed è quasi impossibile calcolare il vantaggio di una mossa rispetto ad un’altra, o meglio: una mossa non può essere mai valutata singolarmente (a meno che non sia l’ultima di una sequenza di mosse) ma va valutata nel suo complesso. Ma ogni strategia può implicare anche 10, 20, 100 mosse, rendendo così il numero di possibili stati di gioco altissimo (19*19)^100, e quindi incalcolabile.
In termini di IA significa che l’intelligenza non deve solo calcolare le possibili mosse e valutarle, ma anche acquisire i cosiddetti schemi comportamentali tipici dell’uomo.
Quando l’uomo gioca a go non calcola tutte le possibili mosse. Sfrutta l’esperienza per capire il comportamento migliore da attuare, e così deve fare l’IA.

Per chi è pratico di questi argomenti, è tutto chiaro. Deep Learning.

Neural Networks e Deep Learning

In termini informatici, infatti, AlphaGo si basa sul Deep Learning (apprendimento approfondito).
Non si limita a valutare possibilità e ad agire, ma impara giocando: proprio come fa l’uomo.
Per farlo usa delle reti neurali artificiali che simulano appunto i nostri neuroni.
Nel nostro caso, le reti sono due:
Una per prevedere la prossima mossa, e l’altra per prevedere il posizionamento delle pedine sul Goban.
Insieme a un algoritmo che giustifichi e analizzi queste informazioni, il sistema  è in grado di pensare come penseremmo noi, senza dover valutare le infinità di mosse possibili.
AlphaGo ha insegnato a se stessa come vincere.
Gli è stato insegnato solo come imparare a vincere: giocando.
Esattamente quello che fa qualsiasi giocatore di Go.

4 COMMENTI

    • Ciao Gianluigi 😉
      Prima di tutto, grazie del commento =)

      Nell’articolo non ho OVVIAMENTE approfondito il discorso scacchi, che è stato usato solo per far capire qual è il problema dietro a un’IA che gioca a Go. Rispondo qui e poi edito l’articolo in modo da renderlo più chiaro 😉

      Negli scacchi ovviamente non si tratta di calcolare TUTTE le possibili mosse e quindi l’albero con tutti i possibili stati di gioco, ma di calcolare le possibili mosse e l’albero degli stati FINO A POTER VALUTARE LA MOSSA.
      E’ quello che conta: valutare una mossa: positiva, negativa, neutra (o più accuratamente con un punteggio).
      Questo è ovviamente possibile, perchè negli scacchi avviene dopo 2/3 livelli di gioco. Ovviamente, più si va a fondo, e più l’algoritmo è efficiente.
      Inoltre, non è detto che non si applichino anche strategie diverse da quelle della valutazione delle possibili mosse. Per un’IA efficace ci voglio anche altri algoritmi che vadano a sviluppare strategie di gioco.

      D’altra parte, e qui viene l’importante, per il Go questo non è assolutamente possibile. In quanto prima di poter valutare “oggettivamente” una mossa, passano anche una ventina di livelli. E quel 20, sta all’esponente di un (19*19) (circa).
      Questo è il problema: l’approccio non è quello di “testare” le mosse e valutarle.

      Spero sia chiaro ora, editerò quella parte in modo che si possa intuire meglio cosa si intende, ma ovviamente senza poter approfondire: è un articolo su Alphago e tale deve rimanere 😉

LASCIA UN COMMENTO