1 / 21

Busca Competitiva - MiniMax Jogo-da-Velha

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. Roteiro. Jogos Busca ou Jogos Tipos de Jogos Incertezas Formulação Funcionamento do jogo

torin
Download Presentation

Busca Competitiva - MiniMax Jogo-da-Velha

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Busca Competitiva - MiniMaxJogo-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 • 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 • 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

  6. Presença de um adversário 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 Incertezas devido a ...

  7. Formulação 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 Jogos

  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. Min(O) x x x x x x x x x x x x x x Max(X) o o o ... o o Min(O) x o x ... x x ... ... ... ... Função de utilidade -1 0 +1 x o x x x ... o x o x o x x x o o o x x o x o o Jogos-da-Velha Max(X)

  11. Passos: 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 12 3 8 2 4 6 14 2 7 MiniMax MAX 3 MIN 3 12 14 2 2

  12. Características: 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 MiniMax

  13. Propriedades do Minimax

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

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

  16. 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” Função de Avaliação

  17. 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) Poda Alfa-Beta

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

  19. 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

  20. 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: http://www.ucb.br/prg/Professores/Rogerio/FIA/fia-03-03.ppt Acesso em: 01 de Julho de 2007.

More Related