Академический Документы
Профессиональный Документы
Культура Документы
Regras
Dots and Boxes consiste num tabuleiro com um
nmero varivel de pontos. Estes pontos se distribuem
equidistancialmente em formato de matriz quadrada.
O formato clssico do jogo admite dois jogadores
que executam, alternadamente, uma jogada. Uma jogada
consiste na insero de uma aresta que liga um ponto (xi,
yi) e outro (xf,yf), onde:
xi + yi - 1 <= xf + yf <= xi + yi + 1
Intuitivamente: de um vrtice para um de seus
adjacentes verticais ou horizontais.
Um jogador ganha um ponto se fechar um
quadrado. Ou seja: se sua jogada unir dois pontos que
estejam diretamente ligados, cada um, a um ponto, onde
estes dois ltimos estejam diretamente ligados um ao
outro. Se um jogador fecha um quadrado, ele deve
executar outra jogada.
Vence o jogador que fechar mais quadrados.
Porm...
Dots and boxes foi popularizado por ser facilmente
implementado, sendo categorizado como um jogo de papel
e caneta, tal como o prprio jogo da velha.
No entanto, num efeito telefone sem fio, aliado ao fato de
raramente ter sido apresentado atravs de seu nome,
algumas regras se tornaram obscuras para os jogadores
mais recentes, fazendo com que jogassem uma verso
levemente alterada.
Ns preferimos manter a autenticidade da verso na qual
todos jogvamos na infancia que, diferentemente da verso
formal apresentada no slide anterior, no permite duas ou
mais jogadas consecutivas em circunstancia alguma.
Motivao da Escolha
e Propriedades do Ambiente
Como dito anteriormente, Dots and Boxes foi presente em algum
momento do nosso passado. Nos interessamos por desenvolver um
algoritmo de IA para ele por ter esse aspecto em comum e por
acreditarmos no ter sido feito ainda.
Tal como o jogo da velha e outros similares, o ambiente :
Completamente Observvel
Multi-Agentes
Determinstico
Sequencial
Esttico
Discreto
Implementao
O jogo foi implementado em Java. As trs classes em
questo so:
Tabela: diz respeito simplesmente a uma instancia do
ambiente de jogo.
MyTree: rvore de estados. Cada estado descrito por uma
Tabela.
TrabIA: a main, alm de dispor dos algoritmos de IA
necessrios.
Implementao
Tabela:
Nesta entidade, encontram-se atributos e funes
suficientes para que duas pessoas possam jogar, como os
pontos de cada um, funo de marcar uma aresta e as
arestas que foram marcadas.
Para reduzir o processamento, criamos uma matriz para
representar quo cada um dos quadrados est preenchido.
Dessa forma, economiza-se o esforo de verificar 6 arestas
em toda insero para saber se nenhum, um ou dois
quadrados foram preenchidos.
Implementao
MyTree:
MyTree uma rvore n-ria, onde n o nmero de
prximos estados possveis. No caso do nosso jogo, esse
nmero sempre bem definido de acordo com a
profundidade da rvore: cada filho de uma rvore de n
filhos ter n-1 filhos, para n > 1. MyTree foi feita
especialmente para garantir esta condio.
A condio garantida pela funo de insero.
Implementao
TrabIA:
Implementao
Passo a passo:
-
Implementao
Passo a passo:
-