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

026 Heuristica Damas

Embed Size (px)

Citation preview

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.