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/