Universidade Federal do Tocantins Universidade Federal do Tocantins
SOLU
SOLU
ÇÕ
ÇÕ
ES HEUR
ES HEUR
Í Í
STICAS PARA O
STICAS PARA O
JOGO DE DAMAS
JOGO DE DAMAS
Diogo Rigo de Brito Guimar
Diogo Rigo de Brito Guimar
ãã
eses Alexandre Tadeu Rossini da Silva Alexandre Tadeu Rossini da SilvaObjetivo
Objetivo
●
● Implementar soluImplementar solu
çõ
çõ
es heures heuríí
sticas para o Jogosticas para o Jogode Damas e aplicar os algoritmos em um de Damas e aplicar os algoritmos em um ambiente gr
ambiente gr
áá
ficoficocapaz de confrontar capaz de confrontar as solu
O Jogo de Damas
●
É
um jogo disputado em turnos por doisjogadores, 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
Motiva
çã
o
● Estudar t
é
cnicas heurí
sticas e metaheurí
sticas ● Damas foi escolhido por possuir caracterí
sticassemelhantes
à
de problemas mais complexos● Utilizar as t
é
cnicas estudadas em problemassemelhantes
– Xadrez
– Caixeiro viajante
– Passeio do cavalo
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.0100011000111001 0,9 0101001010101001 0,8 0010110101010100 0,6 0010011010101101 0,6 0101010110010101 0,5 0001010101010111 0,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é
vioAlgoritmo gen
é
tico
● Algoritmo evolutivo que usa t
é
cnicas inspiradaspela biologia evolutiva como hereditariedade, muta
çã
o, seleçã
o natural e recombinaçã
o.– Baseiase em uma codifica
çã
o do conjunto dassolu
çõ
es possí
veis.– Os resultados s
ã
o apresentados como umapopula
çã
o de soluçõ
es.– N
ã
o necessitam de nenhum conhecimentoderivado do problema.
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 41 39 37 35 33 31 29 27 25 17 23 21 19 15 13 11 9 7 5 3 1Implementa
çã
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 4 4 3 3 3 3 2 2 4 4 2 1 3 3 1 2 4 4 2 2 3 3 3 3 4 4 4 4 4 Peso posicional 5 7 10
Implementa
çã
o por algoritmo gen
é
tico
● Para o cruzamento primeiro s
ã
o selecionadosdois indiv
í
duos pelo mé
todo da roleta.– Os indiv
í
duos estã
o ordenados de acordo com afun
çã
oobjetivo.– 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 eestes 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 novaMinimax
● Pode ser considerado como a maximiza
çã
o doCorte Alfa Beta
Desenvolvimento
● A fim de aplicar as solu
çõ
es propostas pelosalgoritmos desenvolvidos, foi necess
á
ria a criaçã
o de um ambiente grá
fico.● Nesse ambiente s
ã
o feitas as simulaçõ
es entreos algoritmos propostos e jogadores humanos.
Humano
Desenvolvimento
● Tanto o ambiente quanto as solu
çõ
es foramimplementadas em C++.
Testes e resultados
● N
ã
o foram realizados testes para quantificar aefici
ê
ncia e a qualidade das soluçõ
es propostas.● O trabalho encontrase em fase de
Teste e resultados
● A solu
çã
o por algoritmo gené
tico foi proposta afim de minimizar o tempo de resposta por
buscas, mas n
ã
o obteve resultado satisfató
rio.● O resultado foi uma solu
çã
o com defensivabaixa e ofensiva quase inexistente:
– Pe
ç
as movidas para posiçõ
es seguras e de formaTestes e resultados
● A solu