FACENS – Engenharia da Computação
Inteligência Artificial
Buscas Competitivas
Busca Competitiva - Jogos
• Jogos de soma zero: ambientes
determinísticos completamente
observáveis, em que as utilidades finais
dos agentes somam zero.
• Em jogos de tabuleiros de dois jogadores,
a vitória pode ser computada com
utilidade +1, derrota -1 e empate 0.
• Portanto, a soma final da utilidade dos
dois jogadores é zero.
Busca Competitiva - Jogos
• Considerendo-se dois jogadores para o
caso do jogo da velha, um chamado de
MAX e o outro de MIN.
• Para MAX, que joga com X, uma utilidade
boa é +1 (X ganhou).
• Para MIN, que joga com O, uma utilidade
boa é -1 (O ganhou).
Busca Competitiva - Árvore
Busca Competitiva - Solução
• MAX deve encontrar uma sequencia de
movimentos que leve a um estado
terminal com utilidade +1.
• O problema é que isto depende dos
movimentos de MIN.
• O solução ótima: considerar que MIN é um
oponente infalível, e sempre fará os
melhores movimentos possíveis.
• Logicamente, inviável para jogos mais
complexos como xadrez e damas.
Busca Competitiva - MINIMAX
• Dado um nó não-folha, seu valor
MINIMAX é a utilidade deste estado para
um jogador, considerando que ambos
tenham um desempenho ótimo até o final
do jogo.
• Dentre as possibilidades, MAX sempre
escolherá a que resulta na maior utilidade,
e MIN na menor.
Busca Competitiva - MINIMAX
Busca Competitiva – Algoritmo MINIMAX
• Criar uma função MINIMAX que recebe um
estado do tabuleiro e de quem é a vez (X
ou O).
• 1: Verificar se alguém ou houve empate.
— X ganhou: retornar +1
— O ganhou: retornar -1
— empate: retornar 0
• 2: Se não terminou, buscar todas as
possíveis jogadas para o jogador da vez.
— 2.1: Para cada jogada, chamar MINIMAX com
o novo tabuleiro e com o outro jogador.
— 2.2: Entre os valores resultados por MINIMAX,
escolher o maior (se o jogador for MAX) ou o
menor (se o jogador for MIN).
Leitura recomendada
• Capítulo 6 (p. 156-187), Russel & Norvig.
• Algoritmos e implementações:
— http://aima.cs.berkeley.edu/
Download

Engenharia da Computação Introdução à