Meio Bit » Games » IA do Google conseguiu o impensável: aprendeu a jogar Go

IA do Google conseguiu o impensável: aprendeu a jogar Go

Novo patamar atingido: algoritmo AlphaGo do Google consegue pela primeira vez desafiar e vencer (de lavada) um jogador profissional de Go

8 anos atrás

go

Programar um computador para aprender a jogar xadrez é moleza. O Deep Blue, outrora um marco por ter derrotado Garry Kasparov em 1997 (o que descobrimos depois, pode ter tido a ajudinha de um bug além do fato de que a máquina não se cansava) pode apanhar de qualquer outra outra máquina enxadrista atual, mas tanto ela quando as mais novas não precisam de muito: xadrez é um jogo de lógica, que permite “apenas” 1050 movimentos possíveis, o que resulta em 10120 partidas diferentes que podem ser disputadas.

Go é completamente diferente. O jogo chinês que consiste em cercar as peças do inimigo enfileirando as suas não é um jogo de lógica, e sim de heurística. Este é um processo de pensamento que analisa as inúmeras soluções possíveis para um determinado problema, considerando mesmo as soluções mais viáveis ainda que demonstrem resultados inferiores, mas que numa análise profundam levem ao objetivo final. É basicamente um jogo de intuição.

Em computação uma das barreiras mais altas da inteligência artificial é justamente fazer um computador entender heurística, já que abordar uma solução lógica é moleza. O difícil é fazer ele considerar TODAS as soluções possíveis, pesá-las, catalogá-las e escolher uma entre muitas que mesmo não sendo a que gere melhores resultados, é a mais adequada a se tomar em um determinado momento por ser de mais simples execução ou por outros fatores. Por suas características se convencionou então que ensinar uma máquina a jogar Go seria a conquista de um novo patamar, forçar um software a pensar heuristicamente na tomada de decisões durante uma partida. O software analisa friamente as possibilidades, em heurística o humano apenas “sente” que tal decisão é a mais adequada.

O jogo de Go possui essas características por causa de sua magnitude. Em um tabuleiro de 19 x 19 quadros (o maior e mais tradicional, utilizado em torneios por jogadores profissionais) as peças brancas e pretas, além dos espaços podem assumir, excluindo jogadas suicidas em torno de 10172 movimentos. Só para dar a dimensão das coisas calcula-se que todo o universo observável possui entre 1078 e 1082 átomos, nada mais. Quantidade de partidas possíveis? Apenas 10761 ou 1 seguido de 761 zeros. Mesmo sendo um jogo que tem entre 2.500 e 3 mil anos, é fato que não estamos nem perto de ter disputado todas as partidas de Go possíveis.

O número de jogadas possíveis por vez é gigantesco; são 200 contra 20 do xadrez. Por isso todos em geral pensavam que fazem um computador jogar Go adequadamente seria um desafio e tanto. De fato é, mas não impossível. O Google possui o DeepMind, o laboratório de pesquisa em inteligência artificial, aprendizado de máquina e redes neurais que é especializado em fazer softwares aprenderem como humanos, por tentativa e erro e não apenas memorizar e imitar.

Lá eles desenvolveram o AlphaGo, um programa criado combinando redes neurais que operam em camadas não lineares de relação e o Monte Carlo Tree Search (MCTS), um algoritmo de busca heurística muito utilizado em games modernos e é uma das principais ferramentas empregadas hoje para fazer um computador jogar esse jogo dos infernos.

O AlphaGo do Google opera em fases. Uma camada da rede neural analisa o tabuleiro e tenta realizar a próxima jogada, ao mesmo tempo em que outra tenta prever quem será o vencedor da partida. O MCTS se encarrega de basear as tomadas de decisão em aprendizado de máquina, de forma que o algoritmo se mantenha o tempo inteiro analisando jogadas a partidas passadas, trabalhe pesado para ponderar todos os movimentos possíveis, os do jogador e filtre as inúmeras possibilidades de movimento sem considerar passos lógicos, se baseando em tomadas de decisão que levem ao objetivo final mesmo que elas não sejam as melhores para aquele momento, mas se mostrem as de mais simples execução e que apresentem resultados vários movimentos à frente.

Ou seja, uma tempestade cerebral que um jogador entrega totalmente à sua intuição e experiência. Basicamente o AlphaGo é uma IA que “pensa fora da caixa” diferente de todas as outras, emulando a mente humana. Só que era preciso provar se ele funcionava: para isso o Google convidou o campeão europeu Fan Hui para uma partida de Go contra o computador. Estamos falando de um profissional que joga desde os 12 anos de idade, seria uma demonstração de que talvez o programa estivesse imperfeito, que precisasse ser melhorado e tudo mais. Afinal, era de consenso que um computador do tipo só estaria pronto para ser um oponente a altura de um humano em dez anos.

Pois bem, era.

Google DeepMind: Ground-breaking AlphaGo masters the game of Go

O AlphaGo não só se mostrou um software perfeitamente capaz de jogar Go como ganhou de Hui de 5 a 0. Uma lavada. Vale lembrar que antes da demonstração do Google o algoritmo enfrentou 494 outras máquinas e venceu todas elas, e analisou mais de 30 milhões de movimentos de jogadores profissionais. Atualmente ele consegue prever o comportamento do adversário em 57% das vezes, o que não é essencial mas também é importante.

A próxima meta do Google é desafiar — e vencer — Lee Sedol, considerado o melhor jogador de Go da atualidade. A partida está agendada para março e francamente, estou torcendo para o AplhaGo: é importante ver que uma IA conseguiu pela primeira vez desenvolver raciocínio heurístico de forma a aprender a jogar a vencer uma partida de Go, algo que muita gente até pouquíssimo tempo (semana passada) considerava impossível.

Fonte: Google.

relacionados


Comentários