A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Busca Competitiva - MiniMax Jogo-da-Velha

Apresentações semelhantes


Apresentação em tema: "Busca Competitiva - MiniMax Jogo-da-Velha"— Transcrição da apresentação:

1 Busca Competitiva - MiniMax Jogo-da-Velha
Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento

2 Roteiro Jogos Funcionamento do jogo Jogo-da-velha MiniMax
Busca ou Jogos Tipos de Jogos Incertezas Formulação Funcionamento do jogo Jogo-da-velha MiniMax Função de Avaliação Poda Alfa-Beta

3 Jogos Ambientes cooperativos X competitivos
Uma forma de um ambiente multi-agente. Qualquer agente dado precisará considerar as ações de outros agentes e o modo como essas ações afetam seu próprio bem-estar. Ambientes cooperativos X competitivos Ambientes competitivos levam a problemas de confrontos, também conhecidos como jogos. Por que estudar os jogos? Divertido. Fácil de representar com os agentes sendo restritos a um pequeno número de ações. Jogos oferecem ... Engajamento intelectual Abstração Medida de desempenho

4 Busca ou Jogos Busca – sem adversário
Solução é um método (heurístico, às vezes) de encontrar um objetivo. Função de avaliação: estimativa do custo do começo até o objetivo passando por um nó. Jogos – existe pelo menos um adversário Solução é uma estratégia que especificia um movimento para cada possível resposta do oponente. Limites de tempo obrigam a uma solução aproximada. Função de avaliação: avalia quão boa é uma posição de um jogo. Exemplos: xadrez, damas, jogo da velha, gamão.

5 Tipo de Jogos Determinístico Baseado em Sorte Informação Perfeita
Xadrez, Damas,Jogo da Velha Gamão, Banco Imobiliário Informação Imperfeita Pôquer, Palavras Cruzadas, Guerra

6 Incertezas devido a ... Presença de um adversário Complexidade
Não se sabe o que o adversário fará até que ele o faça Complexidade Os jogos mais interessantes são simplesmente complexos demais para serem resolvidos por meios exaustivos (Xadrez tem um grau de expansão de ordem 35) Estratégias de busca Em problemas de busca normais, busca-se uma seqüência de movimentos que maximizem a qualidade da solução para jogos isso não é factível, pois o adversário sempre buscará uma situação que minimize as chances de se chegar à vitória

7 Jogos Formulação Busca: algoritmo minimax
Estado inicial: posições do tabuleiro + de quem é a vez Estado final: posições em que o jogo acaba Operadores: jogadas legais Função de utilidade: valor numérico do resultado (pontuação) Busca: algoritmo minimax Idéia: maximizar a utilidade (ganho) supondo que o adversário vai tentar minimizá-la Minimax faz busca cega em profundidade O agente é MAX e o adversário é MIN

8 Funcionamento do Jogo Dois jogadores : MAX e MIN
MAX começa e os jogadores alternam até que o jogo termine. O vencedor leva uma recompensa, o perdedor uma penalidade Jogos como busca: Estado Inicial Função Sucessora: lista de movimentos legais. Teste Terminal: O jogo terminou? Função de Utilidade: Dá um valor aos estados terminais. Por exemplo, no jogo da velha: vitória=+1 derrota=-1 empate=0. MAX usa uma árvore de busca para determinar seu próximo movimento.

9 Grafo de espaço de estados do Jogo-da-Velha
Número finito de movimentos que um jogador pode fazer. Cada um dos movimentos produz uma configuração de tabuleiro diferente que permitirá oito respostas possíveis do adversário, e assim por diante. Podemos representar esta coleção de jogadas e respostas possíveis considerando cada configuração de tabuleiro como um nó de um grafo. Os elos do grafo representam as jogadas válidas que levam de uma determinada configuração para uma outra. Estes nós correspondem a diferentes estados do tabuleiro. A estrutura resultante é chamada de um grafo de espaço de estados.

10 Jogos-da-Velha ... ... ... ... Função de utilidade Max(X) Min(O)
Função de utilidade

11 MiniMax Passos: MAX MIN Gera a árvore inteira até os estados terminais
Aplica a função de utilidade nas folhas Propaga os valores subindo a árvore através do minimax Determinar qual o valor que será escolhido por MAX MAX 3 MIN 12 3 2 14 2 12 3 8 2 4 6 14 2 7

12 MiniMax Características: Problemas: Para melhorar:
Ideal para jogos determinísticos e com informação perfeita Completo, se a árvore é finita Encontra a estratégia para MAX assumindo que MIN é infalível. Premissa: Os dois jogadores jogam de forma ótima. Problemas: Tempo gasto é totalmente impraticável, porém o algoritmo serve como base para outros métodos mais realísticos Supondo m – profundidade máxima da árvore, b - movimentos Complexidade de tempo: O(bm) Complexidade de espaço: O(bm) (exploração em profundidade) Para melhorar: Substituir a profundidade n de minimax(n) pela estimativa de minimax(n): função de avaliação Podar a árvore onde a busca seria irrelevante: poda alfa-beta

13 Propriedades do Minimax
Critério Minimax Completo? Sim Tempo O(bm) Espaço Ótimo

14 Função de avaliação Reflete as chances de ganhar: baseada no valor material Exemplo: valor de uma peça independentemente da posição das outras Escolha das propriedades relevantes ainda não pode ser realizada Escolha crucial: compromisso entre precisão e eficiência

15 Função de avaliação – Jogo-da-velha
X X O tem 5 possibilidades de vitória X tem 6 possibilidades de vitória O O X O h = = 1 X O h = = -2 X O h = = 1

16 Função de Avaliação MAX MIN MIN MIN Nó inicial 1 -1 1 -2 6 – 5 = 1
5 – 5 = 0 6 – 5 = 1 5 – 5 = 0 4 – 5 = -1 5 – 4 = 1 6 – 4 = 2 MIN -2 5 – 6 = -1 5 – 5 = 0 5 – 6 = -1 6 – 6 = 0 4 – 6 = -2

17 Função de Avaliação Quando aplicar a função de avaliação?
Definir uma profundidade máxima ou iterativa não funciona devido à incerteza inerente ao problema Solução: Procura Tranqüila Idéia: evitar avaliação em situações a partir das quais pode haver mudanças bruscas No caso do jogo da velha, toda posição é tranqüila mas no xadrez não.... (ex. um peça de xadrez pode ser comida) Algoritmo: Se a situação (nó) é “tranqüila”, então aplica a função de avaliação, senão busca até encontrar uma situação “tranqüila”

18 Poda Alfa-Beta Função: Não expandir desnecessariamente nós durante o minimax Idéia: não vale a pena piorar, se já achou algo melhor Mantém 2 parâmetros:  - melhor valor (no caminho) para MAX  - melhor valor (no caminho) para MIN Teste de expansão:  não pode diminuir (não pode ser menor que um ancestral)  não pode aumentar (não pode ser maior que um ancestral)

19 Poda alfa-beta  = 3  = 14  = 0  = 3  = 0  = 12  = 3  = 20
MAX 3 12 3 12 2 14 2 MIN 12 3 8 2 14 2

20 Valor Minimax Raiz VALOR-MINIMAX (raiz)= max(min(12,3,8),min(2,x,y), min(14,2,w) = max(3,min(2,x,y),min(14,2,w) = max(3,z,w) onde z<=2 e w<=2 = 3

21 Referências RUSSELL, S.; NORVIG, P. Inteligência Artificial. Ed. Campus, 2004. LUGER, G. inteligência Artificial. Ed. Bookman, 2004 Resolução de problemas. Disponível em: Acesso em: 01 de Julho de 2007.

22


Carregar ppt "Busca Competitiva - MiniMax Jogo-da-Velha"

Apresentações semelhantes


Anúncios Google