• Nenhum resultado encontrado

Autor: Ayres Roberto Araújo Barcelos 1 Orientadora: Profª Rita Maria da Silva Julia 1. Universidade Federal de Uberlândia Uberlândia - MG - Brasil

N/A
N/A
Protected

Academic year: 2021

Share "Autor: Ayres Roberto Araújo Barcelos 1 Orientadora: Profª Rita Maria da Silva Julia 1. Universidade Federal de Uberlândia Uberlândia - MG - Brasil"

Copied!
7
0
0

Texto

(1)

Obtenção do jogador automático de damas baseado em

LSDraughts, VisionDraughts e MPDraughts e avaliação de

seu treinamento em um ambiente paralelo e distribuído

Autor: Ayres Roberto Araújo Barcelos1

Orientadora: Profª Rita Maria da Silva Julia1

1Programa de Mestrado em Ciência da Computação Universidade Federal de Uberlândia

Uberlândia - MG - Brasil

abarcelos@gmail.com, rita@facom.ufu.br Nível: Mestrado

Ano de ingresso no programa: 2008

Data Aprovação do Plano de Trabalho: Outubro/2009 Previsão de Defesa: Julho/2010

Resumo: O objetivo deste trabalho é criar um jogador de damas baseado no aprendizado por reforço do LSDraughts de [NETO, 2007], do VisionDraughts de [CAIXETA, 2008] e do MPDraughts de [DUARTE, 2009] que atinja um alto nível de eficiência através do treinamento em um ambiente de processamento de alto desempenho com técnicas paralelas e distribuídas. A arquitetura do jogador proposto consiste em um sistema multi-agente composto por 26 agentes, onde um destes agentes (IIGA – Initial/Intermidiate Game Agent) é treinado para ser especializado em fases iniciais e intermediárias dos jogos (caracterizado por tabuleiros que contenham pelo menos 12 peças) e os agentes restantes (EGA – End Game Agent) são treinados para as fases finais do jogo (estados de tabuleiro que contenham 12 peças ou menos). Cada agente é representado por uma rede MLP (multi-layer perceptron) treinada pelo método das diferenças temporais TD(lambda). Os EAGs são gerados por uma técnica de ‘clusterização’ baseada em Redes de Kohonen-SOM. A representação dos tabuleiros é feita por características (funções definidas para o domínio de damas). Tanto as características do agente de inicio de jogo quanto dos agentes de final de jogo são selecionadas automaticamente por algoritmos genéticos.

Palavras chaves: Aprendizagem de máquina, Aprendizagem por reforço, Busca em Árvores de Jogos, Redes Neurais, Processamento de Alto Desempenho, Algoritmos Genéticos.

(2)

1.

Introdução e motivação

Uma importante classe de agentes inteligentes em IA são os agentes capazes de aprendizado através de um estudo diligente de suas experiências e observações. Foi o trabalho de Arthur Samuel [SAMUEL, 1959] o precursor em pesquisas sobre aprendizado de máquina e aprendizado por reforço, desenvolvendo um jogador de damas que obteve bons resultados contra jogadores humanos experientes.

Desde então, muito se evoluiu nos campos de aprendizado de máquina e jogadores automáticos. O paradigma de aprendizagem por reforço tem sido de grande interesse pelo fato de não necessitar de um 'professor' durante o processo de aprendizado. Este fato o torna particularmente adequado a domínios complexos onde a obtenção de exemplos para o aprendizado é difícil ou mesmo impossível. Os jogos por sua vez tem se mostrado um ambiente propício para o desenvolvimento e aplicação de técnicas de IA.

Os progressos chegam ao ponto de jogadores automáticos ultrapassarem os humanos, como aconteceu com damas e othelo, de derrotarem campeões mundiais, como ocorreu com xadrez e gamão, além de serem são competitivos em muitos outros jogos. A grande exceção é o Go, na qual computadores ainda jogam em níveis amadores.

O atual campeão homem-máquina de jogos de damas é Chinook [SCHAEFFER 1996]. Seu aprendizado, porém, foi resultado de intensas interferências humanas nos ajustes de sua estrutura. Uma frente de pesquisa que segue a direção oposta são os jogadores que aprendem com o mínimo de intervenção humana possível, como TD-Gammon [TESAURO, 1994], Anaconda [CHELLAPILLA and FOGEL, 2000] e NeuroDraughts [LYNCH, 1997].

O presente trabalho tem como meta continuar o aprimoramento de jogadores que aprendem com a mínima intervenção humana possível, mantendo um alto nível de desempenho contra jogadores humanos. Dentre os objetivos do trabalho estão a obtenção do jogador que contenha as características chaves dos jogadores automáticos NeuroDraughts, LS-Draughts, VisionDraughts e MP-Draughts, a introdução de técnicas paralelas e distribuídas na etapa de treinamento dos agentes e técnicas de aprendizagem para uma convergência mais rápida para um nível competitivo do jogador.

2.

Trabalhos Relacionados

2.1.

Chinook

O mais famoso agente jogador de damas e atual campeão mundial chama-se Chinook [SCHAEFFER 1996]. Chinook é produto de esforços de pesquisas em estratégia de jogos iniciados em 1989. O projeto tinha dois objetivos, que já foram alcançados: desenvolver um programa capaz de bater o campeão mundial humano e resolver a teoria do jogo de damas.

O desempenho desde jogador depende de quatro características fundamentais, que são:

1. Busca - eficiente algoritmo paralelo baseado em poda alfa-beta.

2. Função de avaliação - ajustada manualmente e é capaz de decidir o quão boa é uma dada posição.

3. Bases de dados de fim de jogo - informação perfeita de qual fim de jogo é vitória, derrota ou empate.

(3)

Chinook usa um algoritmo paralelo de busca alfa-beta. Em 1992, teve uma profundidade mínima média de 19 jogadas. Mesmo que buscas com tal profundidade pareçam impressionantes, ainda são insuficientes para se igualar as habilidades humanas, especialmente em jogos [SCHAEFFER 1996].

O jogador Chinook divide o jogo em cinco fases e tem cinco funções de avaliação, sendo uma para cada fase. As fases são: inicio de jogo, meio de jogo, parte inicial de fim de jogo, parte final de fim de jogo e base de dados.

A resistência do Chinook vem de profunda busca, boas funções de avaliação e base de dados de fim de jogo que contém informações perfeitas de todas as posições com 10 peças ou menos. O Chinook depois de ter terminado sua base de dados não perde para nenhum jogador, sendo que no máximo outros jogadores podem conseguir empatar o jogo.

2.2.

NeuroDraughts, LS-Draughts, VisionDraughts e MP-Draughts

Mark Lynch [LYNCH 2007] desenvolveu seu jogador de damas, NeuroDraughts, utilizando o mínimo de intervenção humana possível. Seu objetivo foi criar um agente que pudesse aprender a jogar damas através de partidas contra si próprio, dadas apenas as regras do jogo e um pequeno conjunto de características específicas do jogo de damas. Apesar da proposta de pouca intervenção humana, o NeuroDraughts ainda utiliza um subconjunto das características extraídas do jogador de Samuel [SAMUEL 1959,SAMUEL 1967], as quais representam algumas especificidades de damas definidas por mestres deste jogo. Essas características foram selecionadas manualmente por Lynch.

Uma extensão do NeuroDraughts é o LSDraughts [NETO 2007], um dos principais objetos de estudos deste trabalho, o qual é um sistema gerador de agentes jogadores de Damas em que os jogadores correspondem a redes neurais treinadas pelo método de aprendizagem por reforço e das diferenças temporais, aliado com a busca minimax e técnica de treinamento por self-play com clonagem. As características usadas por este jogador são selecionadas através de um algoritmo genético.

Outra extensão do NeuroDraughts é o VisionDraughts de [CAIXETA 2008]. O VisionDraughts, acrescenta dois módulos à arquiteturas do NeuroDraughts: um módulo de busca eficiente em árvores de jogos com poda alfa-beta, aprofundamento iterativo e tabelas de transposição, fornecendo ao agente jogador maior capacidade de analisar jogadas futuras (estados do tabuleiro mais distantes do estado corrente) e um módulo para acessar bases de dados de fim de jogo, permitindo obter informações perfeitas para combinações de oito, ou menos, peças no tabuleiro. Nesse jogador o tempo de treinamento foi drasticamente reduzido (95%) e seu desempenho significantemente melhorado.

Para atacar o problema de ‘loop’ no fim dos jogos, recorrente em todos os jogadores mencionados, foi criado o MPDraughts. Da mesma maneira que o NeuroDraughts, LSDraughts e VisionDraughts, o agente do MPDraughts consiste em uma rede neural MLP (multi-layer perceptron) que aprende por diferenças temporais com treinamento self-play com clonagem, onde os estados do tabuleiro são apresentados à rede neural através de um mapeamento por características. Similarmente ao VisionDraughts, o MPDraughts também efetua busca pelo melhor movimento correspondente ao tabuleiro através da busca minimax com poda alpha-beta, combinado com tabelas de transposição e ‘iterative deepening’. O MPDraughts é um sistema multi-agente composto por 26 multi-agentes, onde um destes multi-agentes (IIGA - Initial/Intermidiate Game Agent) é treinado para ser especializado em fases iniciais e intermediárias dos jogos (caracterizado por tabuleiros que contenham pelo menos 13 peças) e os agentes restantes (EGA - End Game Agent) são treinados para as fases finais do jogo (estados de tabuleiro que contenham 12 peças ou menos). Os 25 agentes EGA são treinados de

(4)

modo que cada um seja capaz de lidar com um determinado cluster de estados de fim de jogo. Estes 25 clusters são minados de uma base de dados contendo milhares de estados de tabuleiro com 12 peças obtidas a partir de jogos reais com o VisionDraughts.

3.

Fundamentos Teóricos

3.1.

Aprendizado por reforço

Dentro do paradigma de Aprendizagem de Máquina, as abordagens tradicionais que utilizam aprendizagem supervisionada trabalham com sistema que aprendem através de exemplos de pares de entrada e saída. Se não houver nenhum 'professor' fornecendo exemplos, o que o agente poderá fazer? Experimentando movimentos aleatórios em seu ambiente, o agente terá que ter uma total liberdade e ser capaz de aprender, com base em recompensas ou reforços fornecidos por um 'crítico' ou pelo próprio agente, através da observação das transições de estado que ele provoca no ambiente [RUSSELL, NORVIG, 2004].

Segundo Sutton e Barto [SUTTON; BARTO, 1998], Aprendizagem por Reforço (AR) nada mais é do que a aplicação dos conceitos básicos de Aprendizagem de Máquina: um indivíduo deve aprender a partir da sua interação com o ambiente onde ele se encontra, através do conhecimento do seu próprio estado no ambiente, das ações efetuadas no ambiente e das mudanças de estado que aconteceram depois de efetuadas as ações.

A importância de utilizar Aprendizagem por Reforço como uma técnica de aprendizagem está diretamente ligada ao fato de se tentar obter uma política ótima de ações. Tal política é representada pelo comportamento que o agente segue para alcançar o objetivo e pela maximização de alguma medida de reforço em longo prazo, nos casos em que não se conhece, a priori, a função que modela esta política (função do agente-aprendiz).

Dentre os métodos de Aprendizado por Reforço, destaca-se o método das diferenças temporais, que é ampla e eficazmente utilizado, inclusive na construção de agentes capazes de aprender a jogar damas, xadrez, gamão ou outros jogos.

Aprendizado por diferenças temporais emergiu como uma poderosa técnica de aprendizado para refinamentos incrementais dos parâmetros de um problema. A idéia básica é: um agente aprendiz recebe um estado de entrada, que é continuamente modificado através de ações feitas pelo agente. Cada estado é avaliado baseado no anterior. No fim do processo, ele emite um sinal de saída e recebe um valor escalar como recompensa do ambiente indicando o quão bom ou ruim a saída é. Isto é, o agente aprendiz é recompensado por agir bem (reforço positivo) e, caso contrário, é punido (reforço negativo)

Tesauro introduziu o uso desta técnica em jogos propondo o TD-Gamon [TESAURO 1994], um eficiente jogador automático de gamão, constituído de uma rede neural que aprende por diferenças temporais. No xadrez, KnightCap [BAXTER; TRIDGEL; WEAVER, 1998] aprendeu a jogar xadrez contra humanos pela internet, também usando diferenças temporais. No domínio de damas, a despeito da eficácia inquestionável que Chinook obteve ajustando manualmente sua função de avaliação durante vários anos, Schaeffer mostrou que o método das diferenças temporais é capaz de competir mesmo com o melhor trabalho humando na tarefa de ajustar a função de avaliação.

4.

Metodologia e Estado da Pesquisa

A execução do trabalho será dividida em três etapas:

(5)

i. Criar junção dos jogadores LSDraughts, VisionDraughts e MPDraughts

ii. Criar ambiente de alto desempenho para treinamento dos jogadores de modo paralelo e distribuído

iii. Otimizar jogador obtido pela junção, refinando parâmetros e testando outras redes neurais e métodos de aprendizado em um ambiente de alto desempenho.

O primeiro passo será a junção dos jogadores LSDraughts, VisionDraughts e MPDraughts, criando um jogador que contenha as principais características de cada um, a saber:

i. Geração automática de conjuntos de características, através de algoritmos genéticos.

ii. Utilização de busca minimax com poda alpha-beta, tabelas de transposição e

iterative deepening.

iii. Agentes especializados em fim de jogo, para diminuição da incidência de loops.

A construção do novo jogador partirá do MPDraughts, que já possui toda a estrutura do VisionDraughts. Será necessária então a introdução do método de geração de características do LS-Draughts.

O passo seguinte se dará pela análise das etapas do treinamento que podem ser realizadas paralelamente, para o aumento da eficiência e diminuição no tempo gasto em todo o processo de treinamento do jogador.

Avaliado o desempenho dos jogadores, uma investigação teórica será conduzida no sentido de aprimorar as redes neurais utilizadas, buscando o refinamento de seus parâmetros e alternativas para a rede MLP atualmente utilizadas. Entre as alternativas possíveis podemos citar Boltzmann Machine e Support Vector Machine [HINTON, 2007]. Existem diversas implementações disponíveis em C++ e estas poderão ser usadas para o treinamento dos jogadores. A partir desses testes será possível avaliar o desempenho de cada alternativa considerada e qual se comporta melhor em um jogo de damas.

A pesquisa inicial está sendo feita sobre a viabilidade de criação de um cluster para o treinamento do jogador. O ambiente foi pensado de modo que seja escalável e tolerante a falhas, sendo que a qualquer momento uma máquina pode ser conectada ou desconectada do cluster. O protótipo inicial foi construído com a linguagem de programação Python para o problema NQueens.

Os testes foram realizados em máquinas com processador Core 2 Quad 2,40

Ghz. A tabela 1 mostra um comparativo de desempenho, em tempo de execução, variando-se o número N de rainhas do problema.

N 1 Processo (Execução serial) N Processos Pool de 4 Processos Pool de 8 Processos Cluster de 2 máquinas e 8 Processos 10 0.4 0.5 0.422 0.467 0.8 11 3.92 1.35 1.2 1.29 1.6 12 23.282 6.6 6.06 6.23 6.32 13 145.625 38.09 42 38 27 14 977.64 255 275 250 164

(6)

A tabela 2 mostra um comparativo da implementação do problema NQueens em C e toda a lógica do cluster em Python.

N 1 Processo Pool 4 Processos Cluster com 2 máquinas e 8 Processos

11 0.063 0.92 0.35 12 0.281 1.07 0.56 13 1.75 2 1.45 14 11.39 3.92 6.84 15 78 20.82 35.01 16 578 149 85 17 - - 648

Tabela 2 - Comparação de desempenho em C

Apesar de a linguagem Python ter um desempenho muito inferior à linguagem C neste problema (tabela 3), ela se mostrou muito útil na fase de prototipação e desenvolvimento. Devido à fácil integração com C, é possível partir do código original em Python reimplementar apenas as etapas críticas em C, obtendo resultados próximos à uma implementação pura em C.

N Python Python & C++ Ganho

11 3.92 0.063 62x

12 23.282 0.281 81x

13 145.625 1.75 82x

14 977.64 11.39 85x

Tabela 3 - Comparação entre Python e C

5.

Resultados Esperados

Com este trabalho espera-se melhorar as habilidades estratégicas dos jogadores atuais e conseguir um agente jogador de damas que consiga jogar com alto nível de desempenho. De forma a alcançar tais resultados, serão combinadas técnicas de jogadores existentes que aprendem por reforço e seguirão como parâmetro de desempenho os jogos contra seus antecessores.

A intenção quanto ao novo agente proposto a partir destas modificações é que ele se torne superior às versões anteriores, além de poder e contribuir para tornar mais robustas as aplicações que utilizem o método das diferenças temporais, descobrindo e flexibilizando técnicas que possam vir a resolver problemas em outras áreas da informática como a robótica ou em outros domínios de jogos que utilizem aprendizagem por reforço.

6.

Referências

BAXTER, J.; TRIGDELL, A.; WEAVER, L. (1998) KnightCap: a chess program that learns by combining TD(lambda) with game-tree search. In: Proc 15th International Conf. on Machine Learning. [S.l.]: Morgan Kaufmann, San Francisco, CA, p. 28-36. BERLEKAMP, E. (1996). The economist’s view of combinatorial games. Proceedings of MSRI Workshop on Combinatorial Games.

(7)

CAIXETA, G. S. (2008). Visiondraughts - um sistema de aprendizagem de jogos de damas

baseado em redes neurais, diferenc¸as temporais, algoritmos eficientes de busca em Árvores e informações perfeitas contidas em bases de dados. Master’s thesis, Universidade Federal de Uberlândia.

CHELLAPILLA, K. and FOGEL, D. B. (2000). Anaconda defeats hoyle 6-0: A case study

competing an evolved checkers program against commercially available software. Proceedings of the 2000 Congress on Evolutionary Computation CEC00, LaJolla Marriott Hotel La Jolla, California, USA, page 857.

CHELLAPILLA, K. and FOGEL, D. B. (2001). Evolving an expert checkers playing program

without using human expertise. IEEE Trans. Evolutionary Computation, 5(4):422–428. DUARTE, V. A. R. MP-Draughts: Um Sistema Multiagentes de Aprendizagem Automática para Damas Baseado em Redes Neurais de Kohonem e Perceptrons Múltimpas Camadas. 2009. Master's thesis, Universidade Federal de Uberlândia.

HINTON, G. (2007). The Next Generation of Neural Networks. Disponível em: http://www.cs.toronto.edu/~hinton/talks/msr10.htm. Último acesso: 17/10/2009.

LYNCH, M. (1997). Neurodraughts - an application of temporal diference learning to draughts. Master’s thesis, Dept. of CSIS, University of Limerick, Ireland.

NETO, H. C. (2007). Ls-draughts - um sistema de aprendizagem de jogos de damas baseado em algoritmos genéticos, redes neurais e diferenças temporais. Master’s thesis, Universidade Federal de Uberlândia.

NETO, H. C. and JULIA, R. M. S. (2007). Ls-draughts- um sistema automático classificador e gerador de características em jogos de damas. Faculdade de Computação, Universidade Federal de Uberlândia.

RUSSEL, S. and NORVIG, P. (2003). Artificial Intelligence: A Modern Approach. Prentice Hall, Pearson Education, Upper Saddle River, NJ, Second Edition

SAMUEL, A. L. (1959). Some studies in machine learning using the game of checkers. IBM Journal of Research and Development.

SAMUEL, A. L. (1967). Some studies in machine learning using the game of checkers ii – recent progress. IBM Journal of Research and Development.

SCHAEFFER, J. e. a. (1996). Chinook - the world man-machine checkers champion. AI Magazine, 17(1):21–29.

TESAURO, G. (1994). TD-Gammon, a self teaching backgammon program, achieves master-level play. Neural Computation, v. 6, n. 2, p. 215-219

Referências

Documentos relacionados

A pesquisa pode ser caracterizada como exploratória e experimental em uma primeira etapa (estudo piloto), na qual foram geradas hipóteses e um conjunto de observáveis, variáveis

Autor: Augusto de Lelis Araújo – Universidade Federal de Uberlândia/MG Devemos ressaltar, que tais cruzamentos sem gap são robustos (protegidos), ou seja, não podem

Dissertação (Mestrado em agronomia) – Universidade Federal de Uberlândia, Uberlândia, Minas Gerais, Brasil. O objetivo deste trabalho foi: a) verificar a presença da

Assim, almeja-se que as ações propostas para a reformulação do sistema sejam implementadas na SEDUC/AM e que esse processo seja algo construtivo não apenas para os

Dessa forma, diante das questões apontadas no segundo capítulo, com os entraves enfrentados pela Gerência de Pós-compra da UFJF, como a falta de aplicação de

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron & Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

Os autores relatam a primeira ocorrência de Lymnaea columella (Say, 1817) no Estado de Goiás, ressaltando a importância da espécie como hospedeiro intermediário de vários parasitos

Antes de se apresentar as ações de melhoria que dizem respeito ao sistema pull e tendo em consideração que o planeamento da UI de Lamas combina a tipologia