Othelo

14
Othelo Alunos: Sávio Mendes de Figueiredo ([email protected]) Sômulo Nogueira Mafra ([email protected]) Prof.: Inês dutra Inteligência artificial Coppe sistemas - UFRJ

description

Alunos: Sávio Mendes de Figueiredo ([email protected]) Sômulo Nogueira Mafra ([email protected]). Prof.: Inês dutra Inteligência artificial Coppe sistemas - UFRJ. Othelo. Índice. Origem do Jogo Introdução Regras Como jogar Heurística Posicional Heurística Mobilidade Conclusões - PowerPoint PPT Presentation

Transcript of Othelo

Page 1: Othelo

Othelo

Alunos:

Sávio Mendes de Figueiredo ([email protected])

Sômulo Nogueira Mafra ([email protected])

Prof.: Inês dutra

Inteligência artificial

Coppe sistemas - UFRJ

Page 2: Othelo

Índice

1. Origem do Jogo

2. Introdução

3. Regras

4. Como jogar

5. Heurística Posicional

6. Heurística Mobilidade

7. Conclusões

8. Bibliografia

Page 3: Othelo

Origem do Jogo

Este jogo foi inventado na Inglaterra, no final do século passado.

Também é conhecido como Reversi.

Page 4: Othelo

Introdução

O objetivo deste trabalho consiste na implementação de um programa jogador de Othelo baseado no algoritmo Minimax com cortes alfa-beta.

Em média, cada jogador no meio de uma partida possui 10 opções de movimento. Sendo assim para realizar uma busca de profundidade 9 seria necessário investigar 9^10 posições. Por isso foi necessário utilizar o corte alpha beta.

O trabalho foi implementado em C++ utilizando o ambiente Visual C++ 6.0.

Page 5: Othelo

Regras

Othelo é um jogo de dois jogadores (azul e vermelho) e é normalmente jogado num tabuleiro 8x8. O objetivo do jogo é preencher o tabuleiro com peças de sua própria cor.

Você vence se ao final do jogo existirem mais peças da sua cor no tabuleiro do que peças da cor do seu oponente. No ínicio do jogo, o tabuleiro possui duas peças de cada jogador, colocadas diagonalmente em relação umas às outras no centro do tabuleiro.

Cada jogador (na sua vez) coloca uma peça da sua cor no tabuleiro. Essa jogada será válida se ela mudar a cor de pelo menos uma das peças do seu oponente para a sua cor. Você pode fazer isto se quando vc colocar a peça no tabuleiro, ela for colocada no fim de uma linha contínua de peças do seu oponente, tendo no ínicio desta linha uma peça sua. Todas as peças desta linha são então convertidas para sua cor. As linhas podem estar na vertical, diagonal ou horizontal.

Page 6: Othelo

Regras (cont.)

Caso exista mais de uma linha de peças deste tipo, então todas

as peças dessas linhas serão convertidas para peças da sua cor.

Caso não exista nenhuma jogada possível, o jogador passa a vez para o adversário.

O jogo termina quando o tabuleiro está totalmente preenchido ou quando nenhum dos dois jogadores possuir uma jogada.

Page 7: Othelo

Como Jogar (Iniciando o Jogo)

Para iniciar uma partida na qual a primeira jogada será do usuário, basta clicar na opção “Iniciar” do menu e depois na opção “Jogador”. Caso se queira que a primeira jogada seja do computador, basta clicar na opção “Computador”.

Page 8: Othelo

Como Jogar (Movendo as peças)

O jogador humano joga sempre com as peças vermelhas. Para se fazer uma jogada basta clicar com o botão esquerdo do mouse sobre a posição do tabuleiro onde se deseja colocar a nova peça.

Esta posição que foi selecionada pelo mouse deve ser uma posição válida como visto nas instruções.

Page 9: Othelo

Como Jogar (Selecionando nível)

Através da opção “Nível” do menu (“Fácil”, “Médio” ou “Difícil”) é possível aumentar ou diminuir a dificuldade do jogo.

Na opção “Fácil”, é utilizada a profundidade 2 no algoritmo min-max, 4 na opção “Médio” e 6 na opção “Difícil”

Page 10: Othelo

Como Jogar (Selecionando heurística)

Através da opção “Estratégia” é selecionada a heurística que o algoritmo irá utilizar na função de avaliação do tabuleiro. Existem duas heurísticas disponíveis para escolha: “Posicional” e “Mobilidade”.

Page 11: Othelo

Heurística Posicional

Nesta heurística, para que eu possa calcular a força do tabuleiro em um dado instante, eu vou atribuir os seguintes pesos às casas do tabuleiro:

Logo, nesta heurística eu levo em consideração o número de peças de cada jogador e o peso da peça devido à sua posição no tabuleiro.

Page 12: Othelo

Heurística Mobilidade

Nesta heurística, quantos mais movimentos eu puder fazer num determinado tabuleiro, melhor será este tabuleiro.

Em outras palavras, para determinar a força do tabuleiro para um determinado jogador (A por exemplo) eu faço a segunda conta:

numJogA – numJogB;

Onde numJogA é o número de possíveis jogadas do jogador A e numJogB é o número de possíveis jogadas do jogador B.

Page 13: Othelo

Conclusões

Embora este jogo pareça ser bem mais simples que o jogo de damas, até pelo fato de que nele não existem jogadas múltiplas, as dificuldades encontradas foram bem parecidas.

Como exemplos de dificuldades podemos citar:

- encontrar funções heurísticas

- implementação do jogo própriamente dita (interface gráfica, interação com o usuário, etc...)

- foi mais difícil encontrar informações relevantes referentes a este jogo do que referentes ao jogo de damas.

Page 14: Othelo

Bibliografia

Stuart Russel, Peter Norvig – Artificial Intelligence a Modern Approach http://www.geocities.com/jnkjavaconnection/othelo.html http://www.angelfire.com/tn/tanjeem/report.html