Você está na página 1de 10

1

UM JOGO DE DAMAS EVOLUTIVO


Leonardo Filipe Batista Silva de Carvalho1*, Helio Cavalcante Silva Neto1**,
Roberta Vilhena Vieira Lopes1***
1
Mestrado em Modelagem Computacional de Conhecimento – Universidade
Federal de Alagoas (UFAL)
Caixa Postal 57072-970 – Maceió – AL – Brasil
{*lfilipebsc, **helio.hx}@gmail.com, ***rvvl@fapeal.br
Data de Submissão: 10/2009

GT1 - Jogos digitais e desenvolvimento

Resumo. O aumento da capacidade computacional e da exigência dos


usuários por jogos com comportamentos mais realistas fez crescer a
importância das técnicas de Inteligência Artificial no ramo de jogos
eletrônicos. Acadêmica e comercialmente, os jogos representam um
importante nicho para a aplicação de variadas técnicas de inteligência
artificial, devido a seu alto nível de interação com o usuário e sua
variedade de gêneros de jogo. Buscando simular um adversário
convincente ao usuário, optou-se pela abordagem evolucionária dos
Algoritmos Genéticos, AG, que procuram realizar a melhor ação
humana possível para uma dada situação. O presente artigo objetiva
demonstrar o uso do AG no processo de tomada de decisão de um
Jogo de Damas.
Palavras-Chaves: Inteligência Artificial, Algoritmos Genéticos, Jogos e
Jogo de Damas.
1. Introdução
O termo Inteligência Artificial (IA) tem uso muito amplo na indústria de
jogos, podendo referir-se a qualquer módulo de software responsável por com-
portamentos inteligentes realizados por componentes do jogo. Nesse contexto,
o comportamento de jogadores virtuais, conhecido como NPCs (Non-Player
Characters - personagens não jogáveis), é rotulado como IA (TATAI, 2003).
A definição de IA dada por Russuell & Norvig (2004) pode ser enten-
dida como o conjunto de programas de computador capazes de emular ações e
pensamentos humanos. Essa definição não satisfaz plenamente a aplicação da
IA a jogos, na qual pode-se definir a IA como o código dentro do jogo
responsável por controlar jogadores virtuais (oponentes ou aliados) para que os
mesmos aparentem tomar decisões inteligentes quando o jogo apresenta
diversas opções para uma determinada situação (SCHWAB, 2004). Em tal
contexto, o valor atribuído à aplicação de IA é que um jogador humano não
consiga fazer diferença entre jogadores reais e virtuais (STERRETT, 2000).
Esta perspectiva reflete-se juntamente à evolução da capacidade
computacional, que não só tornou os jogos de computador/entretenimento
eletrônico um mercado mundial de bilhões de dólares, como também,
gradualmente, traz o foco da indústria de jogos para a aplicação de técnicas de
IA. Desta forma, o uso de recursos de IA mais elaborados do que simples
bases de regras tradicionais1 pode constituir uma grande vantagem
competitiva. Entretanto, a grande maioria dos jogos continua a ter uma
2

aplicação de IA baseada em métodos tradicionais como máquinas de estados,


sistemas de regras e o uso de scripts, já que a própria estrutura destas
técnicas possibilita sua aplicação a uma maior variedade de jogos. Por essa
razão, o uso de técnicas mais avançadas em jogos comerciais, como redes
neurais, algoritmos genéticos, lógica fuzzy, aprendizado de máquina e tantas
outras, costuma restringir-se a casos isolados (TATAI, 2003).
Tal evolução aumenta também a capacidade computacional das
plataformas utilizadas, o que além dos perceptíveis avanços nas áreas lógicas
e gráficas, permite um maior volume de dados processados para a inteligência
dos jogos e reforça as afirmações de Peter Molyneux, um dos maiores
projetistas de jogos da atualidade, que destaca em entrevistas e conferências
que a IA é o futuro dos jogos (D.I.C.E, 2004) (TATAI, 2003).
Partindo deste raciocínio, o presente artigo objetiva mostrar como um
AG pode ser usado em um ambiente voltado a jogos de tabuleiro, para
controlar o comportamento de um jogador virtual que procura, por meio da
variação de sua estratégia de jogo, gerar diferentes configurações para uma
dada configuração do tabuleiro, forçando seu adversário a considerar novas
percepções sobre uma mesma configuração do tabuleiro. Note que o jogador
virtual desta aplicação é passível de cometer erros em sua estratégia ou
mesmo na avaliação do seu adversário, o que se deve ao foco da aplicação
que não está em gerar um jogador virtual expert, ou, muito menos, imbatível. O
foco está em gerar um jogador virtual que ajude o seu oponente (jogador
humano) a aguçar seu raciocínio e desenvolver novas estratégias para o jogo.
Neste contexto, foi desenvolvido um jogo de Damas baseado em
computação evolucionária, onde o jogador disputa uma partida contra um
oponente controlado por computador, cujo sistema de tomada de decisão para
as jogadas é implementado por AG. A interação entre o jogador e a aplicação
pode ser abstraída a partir do modelo da Figura 1.

Figura 1. Modelo de Jogabilidade.

O presente artigo está dividido em 6 seções. A seção 2 trata das regras


do Jogo de Damas. A seção 3 discute a aplicação, em particular, suas
funcionalidades e técnicas de IA secundárias que foram usadas no seu
desenvolvimento. A seção 4 trata especificamente dos conceitos básicos de
AG e do AG que foi implementado para esta aplicação, sendo que a seção 5
trata do desempenho da mesma. Por fim, a seção 6 discute as conclusões
tiradas a partir do conhecimento adquirido neste artigo.
2. As regras do Jogo de Damas
A aplicação de que trata este artigo foi desenvolvida usando o conjunto
de regras adotadas no Brasil, sendo tal qual (XADREZ REGIONAL, 2002):
i. Utiliza-se um tabuleiro de 64 casas, claras e escuras. A grande diagonal
(a mais longa diagonal de casas escuras do tabuleiro) fica à esquerda
3

de cada jogador. O objetivo do jogo é imobilizar ou capturar todas as


peças2 do adversário.
ii. O jogo é praticado entre dois parceiros: um com 12 pedras brancas de
um lado; e outro com 12 pedras pretas do lado oposto. O lance inicial
cabe sempre às pedras brancas. A Figura 2 ilustra essa situação.

Figura 2. Disposição inicial do tabuleiro. Figura 3. Da captura de peças no Jogo de


Damas.
iii. A pedra anda para frente apenas uma casa de cada vez. Quando a
pedra atinge a oitava linha do tabuleiro, é promovida à dama.
iv. A dama anda para frente ou para trás quantas casas desejar. A dama
não pode saltar sobre uma peça da mesma cor.
v. A captura é obrigatória, não existe sopro (perda de uma peça devido a
não realização de uma captura quando possível). Duas ou mais peças
juntas na mesma diagonal não podem ser capturadas. Estes dois casos
estão ilustrados na Figura 3. A dama ilustra a captura não permitida.
vi. A pedra captura a dama e a dama captura a pedra. Pedra e dama têm o
mesmo valor para capturar ou ser capturada.
vii. A pedra e a dama podem capturar tanto para frente como para trás uma
ou mais peças.
viii. Se no mesmo lance se apresentar mais de um modo de captura, é
obrigatório executar o lance que capture o maior número de peças.
ix. A pedra que, durante o lance de captura de várias peças apenas passe
por qualquer casa de coroação, sem aí parar, não será promovida à
dama, como ilustrado na Figura 4.

Figura 4. Captura passando por casa de Figura 5. Captura de várias peças.


coroação.
x. Na execução do lance de captura, é permitido passar mais de uma vez
pela mesma casa vazia, mas não é permitido capturar duas vezes a
mesma peça. Esta situação está ilustrada na Figura 5.
xi. Além de não ser permitido capturar a mesma peça mais de uma vez na
execução do lance de captura, peças que foram capturadas não podem
ser retiradas do tabuleiro antes de se completar o lance de captura,
como ilustrado na Figura 6.

Figura 6. Captura e remoção de várias peças.

xii. Após 20 lances sucessivos de damas, sem captura ou deslocamento de


pedra, a partida é declarada empatada.
xiii. Finais de partida de 2 damas contra 2 damas; 2 damas contra uma
dama; 2 damas contra uma dama e uma pedra; uma dama contra uma
dama; ou uma dama contra uma dama e uma pedra são declarados
empatados após 5 lances.
4

Das regras apresentadas, apenas a regra “viii” conhecida como “lei da


maioria” não foi implementada. A não implementação desta regra visa,
principalmente, permitir ao AG uma maior liberdade de escolha da ação a se
tomar, de forma a melhor avaliar se a ação que ele venha a escolher é
realmente a que lhe trará mais benefícios.
3. Aplicação
Ao iniciar a aplicação, o usuário é questionado se deseja ou não
realizar o lance inicial. Respondendo sim, são atribuídas a ele as peças
amarelas, caso contrário, ele recebe as peças cinza. Pode-se também optar
por encerrar a aplicação, selecionando sair.

Figura 7. Interface da aplicação. Figura 8. Parte superior esquerda.

Iniciado o jogo, o usuário manipula a aplicação por meio da interface


gráfica exibida na Figura 7, arrastando suas peças da origem ao destino
desejado. Usuário e computador compartilham do mecanismo de validação dos
lances, que usa as regras apresentadas na seção 2.
A parte superior esquerda da interface exibe o número de peças atuais
dos participantes, de 12 a zero para cada um, além de uma miniatura de suas
respectivas damas, mostrada na Figura 8. A parte superior direita informa de
quem é a jogada atual, bem como o resultado da partida ao seu término. Há
também um botão para reiniciar a aplicação, como pode ser visto na Figura 9.
A parte central direita exibe o histórico de jogadas de acordo com os caracteres
que serão apresentados na seção 4, como ilustrado na Figura 10.

Figura 9. Parte superior direita. Figura 10. Parte central direita.

3.1. Do controle da vez atual e do encerramento da partida


O modelo tradicional de uma máquina de estados é um modelo de
aceitação/reconhecimento de palavras, não trabalhando com ações e não
sendo, portanto, adequado ao uso em jogos eletrônicos. Dois modelos incluem
o uso de ações, o modelo de Moore e o modelo de Mealy. A definição dos dois
modelos difere apenas com relação às saídas (as ações executadas pelos
5

estados). Formalmente estes modelos são definidos como uma tupla <Σ, Γ, S,
S0, δ, ω>, onde (Wagner et. al., 2006):
 Σ é o alfabeto de entrada (um conjunto de símbolos finitos não vazio);
 Γ é o alfabeto de saída (um conjunto de símbolos finitos não vazio);
 S é um conjunto finito de estados não vazio;
 S0 é o estado inicial, um elemento de S;
 δ é a função de transição de estados: δ: S x Σ → S;
 ω é a função de saída.
◦ Moore: A função de saída depende apenas do estado atual (ω: S →
Γ);
◦ Mealy: A saída é uma função composta pelo estado atual e o
alfabeto de entrada (ω: S x Σ → Γ).
O ato de controlar quem tem a vez de jogar é feito pela máquina de
estados finitos da aplicação. Nesta, a vez de cada participante constitui um
estado. Foi necessária a implementação de uma estrutura própria ao controle
das jogadas em razão de que, características, como qualidade e quantidade
das peças do usuário e do computador, em conjunto com o número de lances
realizados, deveriam ser verificadas a fim de dar ou não continuidade ao jogo.

Figura 11. Modelo de máquina de estado da aplicação.

A máquina de estados da aplicação desenvolvida aqui segue o modelo


de Moore. É definida pelo modelo da Figura 11 e possui quatro estados de jogo
que podem ser identificados como: o início da partida; a vez do usuário; a vez
do computador; e o encerramento da partida. A implementação deste modelo
respeita as seguintes características:
 A função de transição entre os estados da aplicação não é explícita,
podendo ser considerada como o conjunto das operações de validação
de uma jogada.
 As ações são tomadas pelos estados do jogo, que gerenciam quando e
como cada ação é tomada. Cada estado tem seu conjunto de ações
implementado em classes privadas da classe da máquina de estados.
◦ Início da partida: é o estado inicial da aplicação e questiona o usuário
sobre quem deve ter o primeiro lance. A resposta é tomada como
entrada e, com base nisso, define-se quem tem a vez de jogada.
◦ A vez do usuário: estado que efetiva um movimento realizado pelo
usuário na interface gráfica, e verifica se houve ou não a conclusão
da jogada. A jogada não é dada como concluída apenas na hipótese
de um dos participantes - neste caso o usuário - estar efetuando a
captura de vários adversários em uma única jogada. Também se
verifica o encerramento da partida.
6

◦ A vez do computador: neste estado efetua-se a jogada do


computador e as demais operações pertinentes a esta ação.
Corresponde à tomada de decisão do computador, realizada por
meio de um AG e que será explicado na seção 4. Após a tomada de
decisão, o estado verifica se houve o encerramento da partida.
◦ O encerramento da partida: a transição para este estado se dá
quando o estado da vez usuário ou computador identifica que a
partida chegou ao fim. Removem-se do tabuleiro de jogo quaisquer
peças capturadas que ainda estejam em campo e encerra-se a
execução da máquina de estados finitos, impedindo que os
participantes realizem lances posteriores.
4. O algoritmo Genético
O algoritmo genético, AG, usa uma metáfora com respeito ao seu
material genético básico, de forma que gene e cromossomo são utilizados aqui
para representar os insumos do problema em questão. Abaixo é apresentada a
definição dos termos biológicos que serão usados no restante deste artigo,
tomando como contexto o problema de um Jogo de Damas (CARVALHO,
2008):
 Indivíduo – representação de uma possível configuração do tabuleiro;
 Cromossomo – representação da estrutura de dados que constitui o
indivíduo;
 População – vetor de cromossomos, ou seja, o conjunto de possíveis
resultados;
 Adaptação do indivíduo – grau de qualidade do cromossomo como
resultado para um dado problema;
 Seleção – conjunto de critérios para determinar quais indivíduos da
população terão seu material genético reaproveitado na busca de um
resultado de melhor qualidade.
Um AG atua sobre uma população P de indivíduos, que evolui através
da ação de operadores genéticos, de forma a gerar uma nova população P’ tal
que, os indivíduos de P’ sejam descendentes dos indivíduos de P (LOPES,
2003 apud HOLLAND, 1975).
O modelo de AG proposto para este artigo considera uma população
inicial formada por indivíduos que correspondem à configuração atual do
tabuleiro. Novos indivíduos são gerados por meio da aplicação de operadores
genéticos sobre os indivíduos da população atual, cada um correspondendo a
uma possível jogada do computador. O AG implementado para este artigo usa
de uma convenção para a construção de seus cromossomos, na qual, cada um
é representado por um vetor de 64 caracteres, sendo que cada posição do
vetor pode assumir um valor equivalente aos caracteres “-”, B, P, A, E, X ou Y;
onde “-” representa uma casa desocupada; “#” representa uma casa que não
pode ser ocupada; “B” representa uma casa ocupada com uma pedra branca;
“P” representa uma casa ocupada com uma pedra preta; “A” representa uma
casa ocupada com uma dama branca; “E” representa uma casa ocupada com
uma dama preta; “X” representa uma casa ocupada com uma peça do jogador
computador capturada; e “Y” representa uma casa ocupada com uma peça do
jogador humano capturada.
Para esta aplicação, convenciona-se ainda que o cromossomo deve
obedecer as seguintes restrições:
7

 O número de peças pretas ou brancas não pode ultrapassar 12;


 Cada caractere ocupa uma posição i do vetor que representa o
cromossomo, tal que 0 ≤ i < 64;
 Se o quociente de i por 8 for par:
◦ As posições ímpares serão ocupadas pelo caractere #;
◦ As posições pares poderão ser ocupadas pelos caracteres P, B, A,
E, X, Y, -.
 Se o quociente de i por 8 for impar:
◦ As posições pares serão ocupadas pelo caractere #;
◦ As posições ímpares poderão ser ocupadas pelos caracteres P, B, A,
E, X, Y, -.
Assim o cromossomo correspondente a configuração inicial do
tabuleiro pode ser representado como <#, P, #, P, #, P, #, P, P, #, P, #, P, #, P,
#, #, P, #, P, #, P, #, P, -, #, -, #, -, #, -, #, #, -, #, -, #, -, #, -, B, #, B, #, B, #, B,
#, #, B, #, B, #, B, #, B, B, #, B, #, B, #, B, #>, separando-se os caracteres de
oito em oito posições e substituindo a vírgula por um espaço em branco. Esta
configuração corresponde à exibida na Figura 2. É importante destacar que
esta seção utiliza a convenção tradicional de cores adotadas para as peças do
Jogo de Damas. Para a aplicação, considere que as peças brancas são
representadas na cor amarela e as peças pretas são representadas na cor
cinza.
Diferente do modelo tradicional de Holland (LOPES, 2003 apud
HOLLAND, 1975), nesta aplicação, não há o cálculo do fator de adaptação
antes da operação de seleção, visto que uma nova jogada sempre deve ser
gerada. Por esta mesma razão, a operação de seleção atua sobre toda
população e, basicamente, seleciona os indivíduos que representem peças que
possuam ao menos uma casa de suas diagonais para onde seja possível
realizar um movimento.
No que diz respeito ao uso dos operadores responsáveis por alterar o
material genético dos cromossomos da população P, na busca por novos
cromossomos que melhor atendam ao problema, o AG deste artigo faz uso
apenas do operador de mutação, utilizando dois tipos distintos do operador: a
mutação por troca e a mutação por substituição.
A mutação por troca (LOPES, 2003), recebe um cromossomo
a=<a1,a2,...,ai,aj,...,a64> e retorna um cromossomo a’=<a’1,a’2,...,a’j,a’i,...,a’64>,
onde 1 ≤ i < j ≤64. Já a mutação por substituição trata-se de uma extensão
daquela proposta por Holland com alfabeto binário (LOPES, 2003 apud
HOLLAND, 1975). A operação recebe um cromossomo a=<a1,a2,...,ai,aj,...,a64>
e um alfabeto U e devolve um cromossomo a=<a1,..., ai,..., aj,..., a64>, no qual
as posições aleatórias i e j selecionadas, com 1 ≤ i < j ≤ 64, e os caracteres que
ocupam tais posições em negrito no cromossomo correspondem aos
caracteres complemento dos caracteres ai e aj no alfabeto U.
O grau de adaptação de um cromossomo é calculado avaliando o quão
bom é o movimento que ele representa, tomando-se pesos cumulativamente
maiores para captura de peças adversárias e cumulativamente menores para a
perda das próprias peças. Os pesos usados na implementação foram: -5 para
uma peça perdida para o usuário; 2 para um lance simples que não resulta em
captura; e 3 para um lance que resulta na captura de uma peça do usuário.
Tais valores foram atribuídos de acordo com testes que visavam o melhor
desempenho do computador em resposta às jogadas do usuário.
8

Só após a avaliação do melhor próximo movimento é que ocorre a


operação de substituição, que leva em conta dois fatores. O primeiro analisa se
é ou não possível mover uma peça. O segundo verifica se há a possibilidade
de capturar uma peça adversária e tem prioridade sobre o primeiro fator, sendo
que, quando satisfeito, dos cromossomos gerados, apenas aqueles que
correspondam a uma captura irão fazer parte da nova população, garantindo a
regra “v” da seção 2. Em ambos os casos, o novo indivíduo mais adaptado
corresponderá a jogada do computador.
4.1. Da implementação do Algoritmo Genético.
Além do que foi discutido no início desta seção, pontos relevantes ao
AG da aplicação dizem respeito à representação do cromossomo, para a qual
foi adotado o modelo proposto por Antonisse (1989), que representa o cromos-
somo por meio de vetores alfanuméricos de comprimento fixo com ou sem re-
petições, de forma a melhor representar o problema proposto (LOPES, 2003).
Destaca-se também que quando o computador realiza a captura de
várias peças adversárias em um único lance, ainda que a ação pudesse ser
executada de forma continua pelo AG, o efeito visual para o usuário de várias
peças desaparecendo do tabuleiro não é o ideal. Em razão disso, dois métodos
de geração de cromossomos foram implementados (CARVALHO, 2008).
O primeiro deles chama a geração da população e, após a mutação
dos cromossomos de cada indivíduo, os encaminha para a avaliação que
determinará seu fator de adaptação. Este método possui as seguintes
funcionalidades:
 Varredura do tabuleiro para determinar se há peça do computador que
possa capturar um adversário.
 Em caso afirmativo, a população é gerada unicamente por tal
cromossomo ou cromossomos, os quais terão como destinos possíveis
apenas as casas que possibilitem essa ação.
 Do contrário, o algoritmo gera uma população composta por cada peça
do computador atualmente no tabuleiro de jogo.
 Devido ao grande espaço amostral, a aleatoriedade do AG ocorre após
a diminuição do domínio de busca, restringindo-o apenas aos espaços
diagonais à posição atual da peça.
 Para garantir um movimento de captura, o AG faz uso de um vetor de
objetos com todas as informações sobre a peça ou peças que pode
desempenhar tal ação, gerando uma população formada unicamente de
cromossomos criados a partir dessa informação.
 Em ambos os casos, os valores gerados para as casas que a peça
poderia acessar são individualmente avaliados de forma a atender as
regras do jogo.
A ocorrência do segundo método se dá apenas quando existe a
possibilidade de continuar a jogada iniciada. Neste caso, cria-se um objeto que
contém todas as informações pertinentes à que se está usando em tal jogada,
sendo tal objeto usado pelo AG na criação de um indivíduo que possa
efetivamente continuar o movimento.
5. Desempenho da Aplicação
Na análise do desempenho da aplicação, tomando como base o tipo
de peça utilizada nos movimentos do computador, pode-se perceber que as
pedras mostram um desempenho superior sobre as damas. Situação que se
9

deve ao fato de que a função de adaptação do AG implementado não gerou


nenhuma especificidade para a dama, considerando simplesmente o controle
do menor raio de ação da dama a ser movimentada.
Tal fato pode mesmo gerar jogadas em que o computador entrega sua
dama para o adversário, mesmo sendo notável a possibilidade de outro
movimento que não resultasse nesta situação. Em outras palavras, ainda que
fosse possível realizar uma jogada que mantivesse a dama em segurança, a
escolha simplesmente recaiu nesta situação. Esta ocorrência é vista com
menor freqüência nas pedras devido ao seu menor raio de ação.
De forma análoga, o fator de escolha aleatório, em conjunto com o
grande raio de ação de uma dama, dificulta às damas do computador a captura
de vários adversários em uma única jogada, uma vez que, para isto, é
necessário que o fator aleatório do AG recaia na posição exata do tabuleiro
que permita tal ação. Um problema semelhante dificulta que as peças do
computador se defendam de uma dama do jogador humano.
Este conjunto de fatores levou a constatação de que a aplicação
mostrou um desempenho satisfatório quando confrontada por adversários que
poderiam ser grosseiramente rotulados como medianos, que seriam aqueles
habituados às regras do jogo, mas que o praticam apenas esporadicamente.
Para este caso, a aplicação mostrou-se capaz de derrotar o jogador humano
na maioria das vezes. De forma análoga, a aplicação mostrou maior dificuldade
ao enfrentar adversários mais avançados, que para este artigo, são aqueles
que praticam o jogo com uma freqüência maior que os jogadores medianos, ou
que simplesmente estão mais habituados a tarefas que exijam a ponderação
de uma situação do ponto de vista do raciocínio lógico. Contra tais jogadores, a
aplicação apresentou uma maior freqüência de derrotas do que de vitórias. O
gráfico da Figura 12 apresenta a relação de vitórias e derrotas do jogador
virtual, com base na estimativa de jogadores e partidas que foram
presenciadas do momento da concepção da aplicação até a escrita deste
artigo.

100% 84% Vitória do Jogador


Virtual
52%
50% 26% Em pate
22%
8% 8%
0%
Derrota do Jogador
Avançado Mediano
Virtual

Figura 12. Estimativa entre as vitórias e derrotas do jogador virtual.

6. Conclusão
Este artigo propôs e implementou um AG diretamente na estrutura de
tomada de decisão de um jogo eletrônico, no caso um Jogo de Damas baseado
no conjunto de regras de jogo adotado no Brasil.
Com isso, o que se procurou foi agilizar o tempo de resposta da IA em
relação aos lances do usuário e avaliar se o desempenho adquirido é, ou não,
suficientemente satisfatório para a adoção da técnica no lugar de outros
mecanismos de busca.
Contudo, o que se observou foi um jogador virtual instável e capaz de
realizar alguns lances que poderiam mesmo ser considerados inadequados.
Tais resultados são suficientes para voltarmos à atenção à forma como se deu
o desenvolvimento da função de avaliação e da atuação dos operadores
10

genéticos, para garantir ao AG um comportamento mais instável e satisfatório


no confronto com adversários humanos. Entretanto, isto precisaria ser feito
com base em um sistema de aquisição de informação adaptada ao perfil do
usurário para não eliminar a ocorrência de erros e enganos do jogador virtual, o
que lhe atribui uma importante característica do comportamento humano.
Notas
1
Por bases de regras tradicionais, entendam-se as primeiras regras de ação-reação, às quais
os primeiros jogos normalmente respondiam, como por exemplo, estruturas if-then-else do tipo
hardcoded, prática pouco flexível e que gera várias complicações caso seja necessário realizar
alguma alteração no código.
2
Neste artigo, o termo peça pode referir-se a um componente do jogo que foi, ou não,
promovido. O termo pedra referencia uma peça que não foi promovida e dama referencia uma
peça que foi promovida.

Referências
ANTONISSE H. J. (1989), A New Interpretation of the Schema Notation that
Overturns the Binary Encoding Constraint. Proc. 3rd International Conf on
Genetic Algorithms, Morgan-Kaufmann.
CARVALHO, L. F. (2008), Um Jogo de Damas Evolutivo. Trabalho de
conclusão de curso, Instituto de Computação - IC, Universidade Federal de
Alagoas - UFAL. Maceió, 18 de abril de 2008.
D.I.C.E. Summit (Design, Innovate, Communicate, Entertain) - Academy of
Interactive Arts and Sciences, Las Vegas. Disponível em:
<http://archive.gamespy.com/gdc2004/molyneux/>. Acessado em 19 out. de
2009.
LOPES, R. V. V. (2003), Um Algoritmo Genético Baseado em Tipos Abstratos
de Dados e sua Especificação em Z. Dissertação de doutorado em informática,
Centro de Informática - CI, Universidade Federal de Pernambuco - UFPE.
RUSSUEL, S. & NORVIG, P. (2004), Inteligência Artificial, 2ª edição, Campus.
SCHWAB, B. (2004), AI Game Engine Programming, 1ª edição, Charles River
Media.
STERRETT, S. G. (2000), Turing's Two Tests for Intelligence. Minds and
Machines 10. pag. 541–559. Holanda, 2000.
TATAI, V. K. (2003), Técnicas de sistemas inteligentes aplicadas ao
desenvolvimento de jogos de computador. Dissertação de mestrado em
engenharia elétrica, Faculdade de Engenharia Elétrica e de Computação -
Feec, Universidade Estadual de Campinas - UNICAMP. Campinas.
WAGNER, F. SCHMUKI, R. WAGNER, T. WOLSTENHOLME, P. (2006), Mo-
deling Software with Finite State Machines: A Practical Approach. CRC Press.

XADREZ REGIONAL (2002), Jogo de Damas - Regras Oficias. Disponível em:


http://www.xadrezregional.com.br/regrasdm.html, último acesso em 01 de abril
de 2008.

Você também pode gostar