026 heuristica damas

Post on 05-Jul-2015

302 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

   

Universidade Federal do Tocantins

SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS

Diogo Rigo de Brito GuimarãesAlexandre Tadeu Rossini da Silva

   

Objetivo

● Implementar soluções heurísticas para o Jogo de Damas e aplicar os algoritmos em um ambiente gráficocapaz de confrontaras soluções.

   

O Jogo de Damas

● É um jogo disputado em turnos por dois jogadores, em uma matriz quadrada 8x8 (tabuleiro de 64 casas), dispondo de 12 peças para cada jogador.

   

Introdução

● O desenvolvimento de soluções heurísticas é motivado pelo alto custo computacional de se analisar, via busca cega, todas as possibilidades.

   

Motivação

● Estudar técnicas heurísticas e metaheurísticas● Damas foi escolhido por possuir características 

semelhantes à de problemas mais complexos● Utilizar as técnicas estudadas em problemas 

semelhantes– Xadrez– Caixeiro viajante– Passeio do cavalo– Go

   

Métodos

● Foram utilizados conceitos de teoria dos jogos, heurística (MiniMax com poda Alfa Beta) e metaheurística (algoritmo genético).– Algoritmo genético: Algoritmo evolutivo.– Minimax: Algoritmo de maximização do ganho.

01000110001110010,901010010101010010,800101101010101000,600100110101011010,601010101100101010,500010101010101110,3

   

Características

● Características do Jogo de Damas:– Simétrico: De mesmo peso para os jogadores.– Soma zero: Competição direta.– Seqüencial: Jogado em turnos.– Informação perfeita e finita: Conhecimento prévio 

de todos os movimentos que podem ser feitos.

   

Algoritmo genético

● Algoritmo evolutivo que usa técnicas inspiradas pela biologia evolutiva como hereditariedade, mutação, seleção natural e recombinação.– Baseia­se em uma codificação do conjunto das 

soluções possíveis.– Os resultados são apresentados como uma 

população de soluções.– Não necessitam de nenhum conhecimento 

derivado do problema.– Usa transições probabilísticas.

   

Implementação por algoritmo genético

● Foi modelado o cromossomo com um conjunto de genes (a peça a ser movida e seu movimento). Cada gene representa um movimento de um jogador.

   

Implementação por algoritmo genético

● Exemplo de codificação:

47 45 43 4139 37 35 33

31 29 27 25

1723 21 19

15 13 11 97 5 3 1

   

Implementação por algoritmo genético

● Avaliação do cromossomo (fitness):– Soma( jogada * (número genes­índice) )

● Avaliação do estado do tabuleiro:– Soma(peça jogador*peso) – soma(peça oponente*peso)

4 4 4 44 3 3 3

3 2 2 44 2 1 3

3 1 2 44 2 2 3

3 3 3 44 4 4 4

Peso posicional

5

7

10

   

Implementação por algoritmo genético

● Para o cruzamento primeiro são selecionados dois indivíduos pelo método da roleta.– Os indivíduos estão ordenados de acordo com a 

função­objetivo.– A roleta atribui probabilidades decrescentes de 

indivíduos menos aptos serem escolhidos.

População %Indivíduo 1 5 33,33%Indivíduo 2 4 26,67%Indivíduo 3 3 20,00%Indivíduo 4 2 13,33%Indivíduo 5 1 6,67%

Fitness

   

Implementação por algoritmo genético

● O cruzamento gera dois novos indivíduos e estes recebem o cromossomo dos pais recombinados por um corte.– O Corte pode dividir um gene ao meio ou não.– Na mutação um gene qualquer recebe uma nova 

peça.

   

Minimax

● Pode ser considerado como a maximização do ganho mínimo.

   

Corte Alfa Beta

● Tem por objetivo reduzir a árvore de busca.

   

Desenvolvimento

● A fim de aplicar as soluções propostas pelos algoritmos desenvolvidos, foi necessária a criação de um ambiente gráfico.

● Nesse ambiente são feitas as simulações entre os algoritmos propostos e jogadores humanos.

Humano

Algoritmos genético Minimax

   

Desenvolvimento

● Tanto o ambiente quanto as soluções foram implementadas em C++.– Como biblioteca gráfica foi utilizada SDL.

   

Testes e resultados

● Não foram realizados testes para quantificar a eficiência e a qualidade das soluções propostas.

● O trabalho encontra­se em fase de desenvolvimento.

   

Teste e resultados

● A solução por algoritmo genético foi proposta a fim de minimizar o tempo de resposta por buscas, mas não obteve resultado satisfatório.

● O resultado foi uma solução com defensiva baixa e ofensiva quase inexistente:– Peças movidas para posições seguras e de forma 

ingênua.

   

Testes e resultados

● A solução por MiniMax com poda Alfa Beta encontra­se em desenvolvimento.

top related