Uma abordagem baseada em aprendizagem de máquina para o Mundo de Wumpus Paulo Regis Menezes Sousa, Gilzamir F. Gomes, Douglass Atlas Almeida Bezerra, Antonio Jos é Fernandes Andrades Centro de Ciê Ciências Exatas e Tecnologias Universidade Estadual Vale do Acaraú Acara ú Sobral, Brasil
[email protected],
[email protected],
[email protected],
[email protected]
l ógica Resumo Este trabalho apresenta uma abordagem baseada Abordagens tradicionais, utilizam uma linguagem ló para implementar o agente para o ca caç ç ador, podendo até até em aprendizagem de m áquina para para o Mundo de Wumpus. Wumpus. O racioc í nio nio programa programa que simula o caçador utiliza redes neurais e é estender esta abordagem para suportar raciocí capaz de aprender regras e fatos a respeito de seu mundo, probabilí probabilí stico, stico, sempre baseandose em regras e premissas baseado nas percep ções que tem do mesmo, que garantem (fatos) contidos em uma base de conhecimento do agente, sempre a sua sobreviv ência e até mesmo atingir seu objetivo, em [2] sã são apresentadas algumas idé id éias sobre a ou seja, encontrar ouro em uma perigosa caverna. implementaçã implementação o baseadas nessas abordagens. Contudo, este trabalho procurou fugir das abordagens tradicionais e Palavraschave: aprendizagem de m áquina, redes neurais, seguir uma nã não baseada em regras, mas em aprendizagem. agente inteligente. Em um problema de aprendizagem bem definido, devese identificar trê três caracterí caracterí sticas: sticas: a classe de tarefas, fonte de 1 Introduçã Introdução o experiê experiência e medida de desempenho desempenho [3]. [3]. Diferentes tipos de mundo estã est ão sendo utilizados como exemplos para representaçã representação o de conhecimento, raciocí raciocí nio nio e planejamen planejamento. to. Neste Neste trabalho trabalho é examinado o Mundo de Wumpus [3] no contexto da aprendizagem de má m áquina, utilizando redes neurais e o algoritmo de retropropaga ção ção do erro (també (também conhecido como backpropagation) [1]. Aqui descrevemos uma versã vers ão simplificada do Mundo de Wumpus. O objetivo é testar a capacidade das redes neurai neuraiss multi multicam camada adass perce perceptr ptron on em um ambien ambiente te de exploraçã exploração o e analis analisar ar quais quais atribu atributos tos s ão releva relevante ntess no processo de aprendizagem no Mundo de Wumpus.
2.1 Classe de Tarefas e Fonte de Experiê Experi ência No Mundo de Wumpus, a classe de tarefas é a exploraçã exploração o da cavern caverna. a. Neste Neste caso, caso, v árias execu execuções ções de inst instââncias aleató aleatórias da caverna sã s ão realizadas, servindo como fonte de experiê experiência. Os resultados sã s ão armazenados e utilizados como exemplo para treinamento de uma rede neural. As instâ instâncias geradas geradas sempre iniciam o caç caçador na posiçã posição o (1,1) da matriz que representa a entrada da caverna, sendo que esta posiçã posição o é sempre segura (nã (não tem Wumpus e nem poç poço). o). A Figu Figura ra 1 ilus ilustr traa uma uma inst instância do Mundo de Wumpus gerada aleatoriamente.
1.1 O Mundo de Wumpus Simplificado O Mundo de Wumpus Simplificado (MWS) é uma caverna representada por uma matriz 3x3. Cada cé c élula representa uma regi região da caverna sobre a qual o ca çador ador obté obtém percepçõ percepções es locais. Estas informaçõ informações es possibilitam ao caç caçador deduzir o estado do mundo. O caç ca çador tem as percepçõ percepções es e, com base nelas, deve selecionar seu pró pr óximo movimento. O ambiente da caverna é tal que se existe um poç poço em uma regiã regi ão, é percebido brisa em regiõ regiões diretamente adjacentes, que sã s ão as quatro regiõ regiões localizada localizadass ao sul, ao norte, norte, ao leste e ao oeste da localizaçã localização o do caç caçador ador.. Da mesm mesmaa form forma, a, em regi regiõ ões diretamente adjacentes ao Wumpus, podese perceber um odor caracterí caracterí stico stico do Wumpus. Ao chegar na regiã regi ão onde se encontra o ouro, o caç ca çador percebe um brilho. A partir destas percepçõ percepções, es, o caç caçador pode decidir ir para uma das regiõ regiões na vizinhanç vizinhança e cair em um poç po ço, ser devorado pelo pelo Wumpus Wumpus,, encont encontrar rar o ouro, ouro, desist desistir ir da busca busca ou continuar a explorar a caverna. 2 O Problema de Aprendizado no Mundo de Wumpus
Figura 1: Uma inst ância do mundo wumpus gerada aleatoriamente.
As seguintes regras foram utilizadas na geraçã gera ção o das instâ instâncias do Mundo de Wumpus: (1) nem po ço, nem o Wumpus podem ocupar a posiçã posi ção o (1,1) da matriz; (2) o caç caçador inicialmente ocupa a posiçã posi ção o (1,1) ; (3) em todas as posiçõ posições, es, exceto a posiçã posi ção o (1,1), (1,1), a probab probabilid ilidade ade de conter um poç poço é de 20%; (4) O Wumpus pode ocupar qualquer posiçã posição, o, exceto a posiçã posi ção o (1,1), com a mesma probabilidade, sendo que pode existir apenas um Wumpus
no ambiente. As únicas informações disponí veis nos exemplos de treinamento são as sucessões de passos no jogo e a situação final: o caçador encontra o outro, more ou desiste.
Microsystems, um simulador do Mundo de Wumpus (desenvolvido pela equipe que conduziu a pesquisa) que permite a geração de várias instâncias do jogo de forma aleatória ou a partir de arquivos de configuração e ainda possibilita a geração de logs (parcialmente implementado).
2.2 Medida de Desempenho 5 Experimentos e Resultados Para representar a função objetivo, utilizouse uma rede neural. A medida de desempenho utilizada no treinamento foi a raiz quadrada do erro quadrático médio (RMS). Foram avaliadas, após o treinamento a porcentagem de vitórias (quando o caçador consegue encontrar o ouro), empate (quando o caçador desiste da busca) ou derrota (quando o caçador morre). Um problema nos dados de treinamento utilizados é que não tem como avaliar situações intermediárias na execução de instância do Mundo de Wumpus. Situações intermediárias são aquelas anteriores à jogada que levam ao final do jogo. No entanto, podemos analisar a última ação executada pelo caçador, como ir para uma região que contém o ouro ou ir para uma região que cause a sua morte. No caso, tentase aprender uma fun ção V(s), onde s representa a situação atual do Mundo de Wumpus, desconhecida, dado que nos exemplos de treinamento temos apenas o resultado final de cada jogo. Para estimar a função V(s) nos exemplos de treinamento em situações intermediárias, é utilizada uma rede neural representada por V'(s), representando a aproximação da função objetivo até o momento. Para isso, foi utilizada a uma variação da idéia apresentada em [3] para jogos de xadrez: V (s) = max(V'(sucessores(s))) onde sucessores(s) retorna o conjunto todas as situações possí veis de sucessores a s (dadas as ações disponí veis para o caçador) e max(V'(sucessores(s))) retorna o maior score na vizinhança de s. 3 Redes Neurais e Seleção de Atributos
O melhor conjunto de atributos nos experimentos realizados foi encontrado em uma rede neural com sete entradas, correspondentes aos atributos A1, A2, A3, A4, quantidade de vizinhos seguros (A5), quantidade de vizinhos visitados (A6) e quantidade de visitas no local (A7). A quantidade de vizinhos seguros significa vizinhos onde não se percebeu brisa nem odor. A rede foi modificada incrementalmente, iniciando com quatro atributos (A1, A2, A3 e A4). Os atributos A5, A6 e A7 foram adicionados incrementalmente, respectivamente, um após o outro. Os resultados obtidos de acordo com a percepção de vitorias em empates foi melhorando à medida que novos atributos foram adicionados ao conjunto. O melhor resultado de treinamento obtido foi um RMA de 0.1483, para a rede neural que toma sete atributos como entrada. Nos testes, a versão com sete atributos obteve o melhor resultado em relação aos experimentos com um conjunto menor de atributos: vitórias (20%); derrotas (0%); empates (80%). 6 Conclusões e Trabalhos Futuros A adição de novos atributos como entrada para a rede neural melhorou seu desempenho até a adição do sexto atributo. Os testes mostraram que o caçador não sofreu derrotas com a última versão da rede neural (o que ocorria com as versões anteriores). Para os casos em que é inconcebí vel o programa do caçador cometer erros que o levem à morte, a rede neural com sete entradas parece ser a melhor. Os (20%) de vitórias e (0%) de derrotas da rede neural com sete entradas podem ser muito promissores, levandose em conta que (21%) dos ambientes s ão injustos para o caçador, porque ou o ouro está em um poço ou cercado por poços [2]. Como trabalhos futuros, será estudado a possibilidade de seleção automática de atributos por meio de algoritmos genéticos e outras metaheur í sticas. Os logs e softwares utilizados para os experimentos que resultaram neste artigo estão disponí veis em [4].
A arquitetura das redes neurais utilizada foi concebida de forma empirica. Inicialmente, foi definido como entrada para a rede neural quatro atributos: (A.1) quantidade de brisas percebida na vizinhança avaliada, (A2) quantidade de odor na vizinhança avaliada, (A3) presença ou ausência de brisa na posição atual e (A4) presença ou ausência de odor na vizinhança atual (0 = ausência, 1 = presença). Inicialmente, a rede foi composta por quatro camadas, sendo que a primeira camada após a camada de entrada contém oito neurônios, a segunda camada após a camada de entrada contém 4 neurônios e a camada de saí da contém Referências um neurônio que proverá o resultado da avaliação da vizinhança composta pelas regiões vizinhas (células na [1] D. E. Rumelhart:1986, G. E. Hinton, and R. J. matriz) Williams, “Learning representations by backpropagating errors,” pp. 696–699, 1988. 4 Ambiente Computacional [2] S. J. Russell and P. Norvig, Artificial Intelligence: A Modern Approach (International Edition). Pearson US O ambiente computacional utilizado nos experimentos foi Imports & PHIPEs, November 2002. um computador com processador Core 2 Duo (1.83 Ghz) [3] T. M. Mitchell, Machine Learning. New York: rodando sistema operacional Ubuntu 9.04 em uma McGrawHill, 1997. plataforma de 32 bits. Foi desenvolvido em Java, [4] http://gilzamir.computacaosobral.net.br, último acesso utilizando o pacote Java Development Kit 1.6 da Sun em 28 de agosto de 2009.