• No results found

D-MA-Draughts

A Figura 6.1 ilustra a arquitetura geral e o ciclo de opera¸c˜oes executadas por cada agente do D- MA-Draughts a cada vez que ele efetua uma tomada de decis˜ao para a escolha de um movimento a partir do estado corrente do jogo. Ressalta-se que o ciclo apresentado sofre pequenas altera¸c˜oes em fun¸c˜ao de ser executado em jogos-treino ou em jogos normais de disputa, conforme explicado a seguir. Ambos os tipos de jogo executam os passos de #1 a #6, os demais passos (de #7 a #13) somente s˜ao executados em jogos-treino. Particularmente, a dinˆamica dos jogos-treino ser´a detalhada na se¸c˜ao 6.3.3.

Os passos da Figura 6.1 s˜ao:

Passo #1 : O estado corrente do tabuleiro (chamado aqui Tx) ´e apresentado ao M´odulo de Busca.

Assim sendo, Tx foi obtido a partir da execu¸c˜ao do ´ultimo movimento mx. Al´em disso, Px

representa a avalia¸c˜ao produzida pela MLP para Tx no ciclo anterior do treinamento.

Figura 6.1: Arquitetura geral dos agentes do D-MA-Draughts

Passo #2 : Este m´odulo realiza uma busca em profundidade limitada ou uma busca com profun- didade iterativa, utilizando o algoritmo de busca paralelo YBWC, a partir do estado de tabu- leiro Tx. As folhas da ´arvore de jogo s˜ao repassadas ao mapeamento NET-FEATUREMAP.

Passo #3 : Cada folha da ´arvore de busca do jogo corresponde a um estado de tabuleiro que, representado por NET-FEATUREMAP, ´e apresentado `a camada de entrada da rede MLP para ser avaliado.

Passo #4 : Os valores calculados no Passo #3 s˜ao retornados ao M´odulo de Busca para c´alculo do melhor movimento my a ser executado.

Passo #5 : O movimento my ´e calculado e retornado ao sistema para que ele o execute a partir

do estado corrente Tx.

Passo #6 : O movimento mysugerido pelo Passo #5 ´e executado e o estado corrente do tabuleiro

´e modificado para Ty (novo estado do tabuleiro). Em jogos normais de disputa, o ciclo de

escolha do melhor movimento termina neste passo (a partir da´ı, cabe ao oponente escolher o movimento no estado Ty). Em jogos-treino, o ciclo prossegue nos passos a seguir.

Passo #7 : O estado de tabuleiro Ty ´e convertido atrav´es do M´odulo NET-FEATUREMAP.

Passo #8 : O estado Ty ´e apresentado `a camada de entrada da rede MLP para ser avaliado

produzindo como resultado Py.

Passos #9 e #10 : A avalia¸c˜ao Py que foi calculada pela rede MLP para Ty e a avalia¸c˜ao

Px de Tx s˜ao usadas pelo M´odulo de Aprendizagem TD como parˆametros de entrada para

calcular os novos pesos da rede MLP. S˜ao usados tamb´em como parˆametros as avalia¸c˜oes dos estados gerados pela execu¸c˜ao dos movimentos anteriores a mx, desde o in´ıcio do jogo, o que

caracteriza a propriedade dos M´etodos das Diferen¸cas Temporais de considerar o impacto de cada a¸c˜ao mi executada ao longo do jogo.

Passo #11 : O estado de tabuleiro Ty ´e avaliado novamente, todavia, utilizando os pesos atua-

6.1. Arquitetura individual e ciclo de opera¸c˜ao dos agentes do D-MA-Draughts 69 Passo #12 : O valor da avalia¸c˜ao obtido no Passo #11 produz um novo valor de avalia¸c˜ao Py

para o estado de tabuleiro Ty.

Passo #13 : O valor Py′ produzido no Passo #12 corresponder´a `a avalia¸c˜ao do agora estado corrente de jogo Ty a ser usado no c´alculo de reajuste de pesos que ser´a efetuado no pr´oximo

ciclo em que o agente dever´a, novamente, escolher um movimento (ap´os o oponente ter executado um movimento em Ty).

Desta forma, os m´odulos que constituem a arquitetura do D-MA-Draughts podem ser resumidos em:

M´odulo de Busca: este m´odulo ´e respons´avel pela escolha do melhor movimento a ser executado pelo agente, em fun¸c˜ao do estado corrente do tabuleiro, atrav´es do algoritmo de busca paralelo YBWC. Tal estado ´e recebido como parˆametro pelo referido m´odulo na forma vetorial.

Rede Neural Multicamadas: a rede neural recebe, em sua camada de entrada, um estado de tabuleiro do jogo e devolve, em seu ´unico neurˆonio na camada de sa´ıda, um valor real compreendido entre -1.0 e +1.0. Tal valor (predi¸c˜ao) representa o qu˜ao o estado do tabuleiro presente na camada de entrada da rede ´e favor´avel ao jogador autom´atico;

M´odulo NET-FEATUREMAP: por meio do mapeamento das caracter´ısticas utilizadas pelo sistema, esse m´odulo converte a representa¸c˜ao vetorial do estado corrente que lhe ´e repassado pelo m´odulo de busca em representa¸c˜ao NET-FEATUREMAP, apresentando esta ´ultima `a entrada da rede neural MLP para avalia¸c˜ao. O D-MA-Draughts utiliza at´e 16 caracter´ısticas para representa¸c˜ao dos estados do tabuleiro em seu mapeamento NET-FEATUREMAP (conforme descrito na se¸c˜ao 6.3). Desta forma, o mapeamento C ´e C:B → N16. Cada carac- ter´ıstica tem um valor absoluto que representa a sua medida anal´ıtica em um determinado estado do tabuleiro. Tal valor absoluto ´e convertido (convers˜ao num´erica entre as bases decimal e bin´aria) em bits significativos que, em conjunto com os demais bits das outras caracter´ısticas presentes na convers˜ao, constituem a sequˆencia bin´aria de sa´ıda do m´odulo NET-FEATUREMAP a ser representada na entrada da rede neural.

M´odulo de Aprendizagem: o ajuste de pesos da rede neural ´e feito pelo m´etodo das Diferen¸cas Temporais TD(λ). Esse processo ´e respons´avel pela aquisi¸c˜ao de conhecimento do sistema.

Ressalta-se que a fase de treinamento do IIGA e dos agentes de final de jogo diferem em alguns aspectos como ser´a mostrado na se¸c˜ao 6.3.4, contudo, todos eles apresentam a mesma arquitetura e os mesmos ciclos de treinamento apresentados acima.

A se¸c˜ao 6.2 apresenta o M´odulo de Busca do D-MA-Draughts. A se¸c˜ao 6.3 apresenta o M´odulo de Aprendizagem, o qual envolve a descri¸c˜ao do M´odulo NET-FEATUREMAP e do M´odulo MLP (Rede Neural Multicamadas).

Figura 6.2: Infra-estrutura de desenvolvimento dos agentes do D-MA-Draughts