sexta-feira, 8 de dezembro de 2017

Xadrez - AlphaZero x Stockfish

AlphaZero vs Stockfish, Londres, 04/12/2017.
Código FEN: r2qk2r/1p1bbppp/4p3/pP1pP3/P2P1P2/3B1N2/3K2PP/R2Q3R w kq - 1 17.

Qual lance você jogaria com as Brancas, na posição acima?

Esta semana, o mundo do xadrez foi abalado por uma notícia estarrecedora: na última segunda-feira, dia 4, o Stockfish, software mais forte do mundo, vencedor das principais competições entre programas de computador, teria sido massacrado por um algoritmo chamado AlphaZero, desenvolvido pelo Google para aprender sozinho a jogar ("sozinho" significando receber como entrada somente as regras do jogo, nada mais). Alegadamente, em 100 jogos, o AlphaZero teria obtido 28 vitórias, 72 empates e nenhuma derrota - e isso apenas com algumas horas de treinamento. Um resultado que, se verdadeiro, terá um impacto monumental não apenas no xadrez, mas na civilização humana. Um programa capaz de dominar sozinho um jogo complexo como o xadrez a ponto de vencer o atual estado-da-arte com tanta autoridade seria capaz de aprender quase qualquer coisa, gerando conhecimento equivalente ao de séculos de pensamento humano.

A área da computação chamada de aprendizado de máquina tem passado mesmo por grandes desenvolvimentos nos últimos anos. A arte de "dar aos computadores a habilidade de aprender sem serem explicitamente programados", nas palavras de Arthur Lee Samuel, evoluiu e tem obtido bons resultados em diversas aplicações práticas. Há relatos de ótima performance em tarefas como reconhecimento óptico de caracteres, processamento de linguagem natural, motores de busca, diagnósticos médicos, bioinformática, reconhecimento de fala, reconhecimento de escrita, visão computacional, filtragem de spam e locomoção de robôs.

No entanto, o resultado deste experimento dos 100 jogos contra o Stockfish é algo realmente surpreendente, que causará um impacto de grandes proporções não só no xadrez, mas no mundo. Embora o artigo ainda não tenha sido publicado, estando em fase de revisão, ele pode ser lido aqui (em inglês). Além do xadrez, o algoritmo do Google parece ter sido muito bem-sucedido também no aprendizado de outros dois jogos (Go e Shogi). No artigo, estão listadas 10 das 28 vitórias do AlphaZero no duelo.

De acordo com o que está escrito no artigo, as únicas informações fornecidas ao AlphaZero teriam sido as regras do jogo (movimentos das peças, objetivo final e regras de empate). Utilizando técnicas computacionais, o algoritmo teria disputado repetidos jogos contra si próprio, durante algumas horas, para aprender como jogar de maneira ótima. Após esta fase chamada de treinamento, teria disputado os 100 jogos contra o Stockfish, obtendo 28 vitórias e 72 empates. Em 50 jogos com as peças Brancas (que possuem a vantagem do primeiro lance), teriam sido 25 vitórias e 25 empates. Em 50 jogos com as peças Pretas, teriam sido 3 vitórias e 47 empates.

Levando-se em conta que o Stockfish é um software com um avançado algoritmo de busca e cálculo de lances, alimentado com milhões de jogadas já previamente calculadas, com vastas bibliotecas de abertura e tabelas de fim de jogo, vencê-lo da maneira alegada parece uma tarefa que beira o impossível. Um algoritmo seria mesmo capaz de aprender sozinho, em quatro horas, mais do que todo o conhecimento acumulado na história, por dezenas de gerações de enxadristas e pelos algoritmos anteriores?

Questionamentos estão sendo levantados a respeito do experimento. Há discussões acaloradas em fóruns na internet sobre o poder de processamento utilizado pelos dois lados. Nos supercomputadores do Google, o AlphaZero naturalmente dispôs de uma capacidade de cálculo absurda, o que pode ter sido um fator decisivo para uma vitória tão espetacular. Será que o Stockfish teve a mesma capacidade à disposição? O desempenho do AlphaZero seria tão bom nos nossos simples laptops? Vale dizer que os autores do artigo alegam que o AlphaZero analisou "somente" 80 mil posições por segundo, contra 70 milhões do Stockfish - o que faria a questão do poder de processamento se tornar praticamente irrelevante.

Um dos melhores enxadristas atuais, o grande-mestre norte-americano Hikaru Nakamura considera mesmo que a diferença de poder de processamento é uma questão secundária, mas fez algumas objeções bastante veementes às condições em que teriam sido disputados os 100 jogos. Nakamura chamou a disputa de "desonesta", e apontou que a metodologia do Stockfish requer, para seu melhor desempenho, o uso completo da biblioteca de aberturas, o que não teria acontecido. Embora ainda acredite que o AlphaZero teria vencido a disputa, ele imagina que o placar da vitória teria sido menor. "Estou certo de que nem o próprio Deus poderia bater o Stockfish em metade dos jogos com as Brancas, sem certas vantagens", Nakamura declarou sobre as 25 vitórias e os 25 empates obtidos pelo AlphaZero com as peças Brancas.

Nas próximas semanas, com a publicação do artigo e a realização de novos experimentos, teremos mais respostas. Uma coisa é certa: se o AlphaZero de fato obteve os resultados descritos, estamos diante de uma revolução científica que permitirá um salto sem precedentes na história do desenvolvimento humano. A utilização de um algoritmo tão poderoso em pesquisas científicas poderia nos ajudar a encontrar soluções para problemas que sequer sonhamos em resolver.

"Chegará o dia em que as máquinas ficarão cada vez mais inteligentes e autossuficientes, sendo capazes de criar máquinas ainda mais inteligentes e autossuficientes, em um ciclo constante que superará em muito a capacidade do intelecto humano" - a profecia do matemático britânico Irving John Good, datada de 1965, parece mais próxima de se concretizar...

Na posição do início do post, enxadristas humanos estariam naturalmente preocupados com a segurança do Rei Branco, que parece exposto demais. A resposta dada pelo algoritmo AlphaZero foi uma surpresa...

AlphaZero vs Stockfish, Londres, 04/12/2017.
Código FEN: r2qk2r/1p1bbppp/4p3/pP1pP3/P2P1P2/3BKN2/6PP/R2Q3R b kq - 2 17.

No 17º lance, com boa parte do exército Preto ainda no tabuleiro, avançar o Rei à terceira linha não parece uma ideia muito inteligente. No entanto, 35 jogadas depois, o poderoso Stockfish humildemente reconheceria a derrota...

Encerro o post com as palavras do grande-mestre dinamarquês Peter Heine Nielsen: "Após ler o artigo e especialmente após ver os jogos, eu pensei, bem, eu sempre me perguntei como seria se uma espécie superior pousasse na Terra e nos mostrasse como eles jogam xadrez. Eu sinto que agora eu sei".

PCFilho

4 comentários:

Regras para postar comentários:

I. Os comentários devem se ater ao assunto do post, preferencialmente. Pense duas vezes antes de publicar um comentário fora do contexto.

II. Os comentários devem ser relevantes, isto é, devem acrescentar informação útil ao post ou ao debate em questão.

III. Os comentários devem ser sempre respeitosos. É terminantemente proibido debochar, ofender, insultar e/ou caluniar quaisquer pessoas e instituições.

IV. Os nomes dos clubes devem ser escritos sempre da maneira correta. Não serão tolerados apelidos pejorativos para as instituições, sejam quais forem.

V. Não é permitido pedir ou publicar números de telefone/Whatsapp, e-mails, redes sociais, etc.

VI. Respeitem a nossa bela Língua Portuguesa, e evitem escrever em CAIXA ALTA.

Os comentários que não respeitem as regras acima poderão ser excluídos ou não, a critério dos moderadores do blog.