Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado...

21
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 1

Transcript of Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado...

Page 1: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

1

Busca Competitiva - MiniMaxJogo-da-Velha

Mozart de Melo Alvez JúniorRosângela Teixeira da Silva

Universidade Federal de Alagoas

Mestrado em Modelagem Computacional do Conhecimento

Page 2: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

2

RoteiroJogos

Busca ou JogosTipos de JogosIncertezasFormulação

Funcionamento do jogoJogo-da-velhaMiniMaxFunção de AvaliaçãoPoda Alfa-Beta

Page 3: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

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

Page 4: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

4

Busca ou JogosBusca – 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árioSoluçã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.

Page 5: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

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

Page 6: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

6

Incertezas devido a ...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

Page 7: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

7

JogosFormulação

Estado inicial: posições do tabuleiro + de quem é a vez

Estado final: posições em que o jogo acabaOperadores: jogadas legaisFunçã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 profundidadeO agente é MAX e o adversário é MIN

Page 8: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

8

Funcionamento do JogoDois jogadores : MAX e MINMAX começa e os jogadores alternam até que o jogo termine.O vencedor leva uma recompensa, o perdedor uma penalidade Jogos como busca:

Estado InicialFunçã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.

Page 9: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

9

Grafo de espaço de estados do Jogo-da-Velha1. Número finito de

movimentos que um jogador pode fazer.

2. Cada um dos movimentos produz uma configuração de tabuleiro diferente que permitirá oito respostas possíveis do adversário, e assim por diante.

3. Podemos representar esta coleção de jogadas e respostas possíveis considerando cada configuração de tabuleiro como um nó de um grafo.

4. Os elos do grafo representam as jogadas válidas que levam de uma determinada configuração para uma outra.

5. Estes nós correspondem a diferentes estados do tabuleiro. A estrutura resultante é chamada de um grafo de espaço de estados.

Page 10: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

10

Jogos-da-Velha

... .........

Max(X)

x xx x x

x

x

x x

Min(O)

x o ...x o x ox x

xMin(O)

x o x o xo ...Max(X)

-1 0 +1 Função de utilidade...x o x x o xx o x

x xxx x

xoo

o oo oo

Page 11: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

11

MiniMaxPassos:

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

1412 23

12 3 8 2 4 6 14 2 7

MAX 3

2MIN

Page 12: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

12

MiniMaxCaracterí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

Page 13: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

13

Propriedades do Minimax

Critério Minimax

Completo? Sim

Tempo O(bm)

Espaço O(bm)

Ótimo Sim

Page 14: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

15

Função de avaliação – Jogo-da-velhaX

OX tem 6 possibilidades

de vitória

X

O

O tem 5 possibilidadesde vitória

X

Oh = 6 - 5 = 1

X O h = 4 - 6 = -2 X

Oh = 5 - 4 = 1

Page 15: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

16

Função de AvaliaçãoNó inicial

1

-1 1

-2

5 – 6 = -1 6 – 6 = 05 – 5 = 0 4 – 6 = -25 – 6 = -1

6 – 4 = 26 – 5 = 1 5 – 5 = 05 – 5 = 0 4 – 5 = -16 – 5 = 1 5 – 4 = 1

MAX

MIN

MIN

MIN

Page 16: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

17

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

Page 17: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

18

Poda Alfa-BetaFunção: Não expandir desnecessariamente nós

durante o minimaxIdéia: não vale a pena piorar, se já achou algo

melhorManté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)

Page 18: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

19

Poda alfa-beta = 0 = 20

14

12

2123

12 3 8 2 14 2

MAX 3

2MIN

= 0 = 12

= 0 = 3 = 3 = 20

= 3 = 14

Page 19: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

20

Valor Minimax RaizVALOR-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

Page 20: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

21

ReferênciasRUSSELL, S.; NORVIG, P. Inteligência

Artificial. Ed. Campus, 2004.LUGER, G. inteligência Artificial. Ed.

Bookman, 2004Resoluçã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.

Page 21: Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em Modelagem Computacional do Conhecimento 1.

22