Top Banner
 Universidade Federal do Tocantins SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS Diogo Rigo de Brito Guimarães Alexandre Tadeu Rossini da Silva
20

026 Heuristica Damas

Jul 05, 2015

Download

Documents

Carlos Neto
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 026 Heuristica Damas

   

Universidade Federal do Tocantins

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

Diogo Rigo de Brito GuimarãesAlexandre Tadeu Rossini da Silva

Page 2: 026 Heuristica Damas

   

Objetivo

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

Page 3: 026 Heuristica Damas

   

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.

Page 4: 026 Heuristica Damas

   

Introdução

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

Page 5: 026 Heuristica Damas

   

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

Page 6: 026 Heuristica Damas

   

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

Page 7: 026 Heuristica Damas

   

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.

Page 8: 026 Heuristica Damas

   

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.

Page 9: 026 Heuristica Damas

   

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.

Page 10: 026 Heuristica Damas

   

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

Page 11: 026 Heuristica Damas

   

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

Page 12: 026 Heuristica Damas

   

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

Page 13: 026 Heuristica Damas

   

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.

Page 14: 026 Heuristica Damas

   

Minimax

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

Page 15: 026 Heuristica Damas

   

Corte Alfa Beta

● Tem por objetivo reduzir a árvore de busca.

Page 16: 026 Heuristica Damas

   

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

Page 17: 026 Heuristica Damas

   

Desenvolvimento

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

Page 18: 026 Heuristica Damas

   

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.

Page 19: 026 Heuristica Damas

   

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.

Page 20: 026 Heuristica Damas

   

Testes e resultados

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