Você está na página 1de 14

Algoritmo MiniMax

Lus Carlos Calado 050509043 Joo Carlos Sousa 050509027 Jos Carlos Campos 060509007 Rodolfo Sousa Silva 050509069

Inteligncia Artificial 2008/2009

Minimax
Minimax (ou minmax) um mtodo usado na Teoria da Deciso, Teoria dos Jogos, Estatstica e Filosofia para minimizar a perda mxima possvel.

Teorema Minimax
Von Neumann foi um brilhante matemtico nascido em Budapeste em 1903. Devido demonstrao do teorema minimax, Von Neumann foi considerado o pai da teoria dos jogos em 1926.

Inteligncia Artificial 2008/2009

Minimax
Este teorema surgiu a partir da Zero-Sum Game Theory: Para qualquer jogo para dois jogadores que respeite a teoria zero-sum, existe uma estratgia mista para cada jogador tal que o resultado esperado para os dois o mesmo valor V quando os jogadores usam esta estratgia. V o melhor valor que cada um pode esperar de uma jogada. Isto , estas estratgias mistas so as estratgias ptimas para os dois jogadores.

Inteligncia Artificial 2008/2009

Qual o exemplo mais simples para ilustrar o Minimax?

Inteligncia Artificial 2008/2009

Xadrez

Damas

Go

Inteligncia Artificial 2008/2009

Porque no aplicar o Minimax no Xadrez?


Factor mdio de ramificao: ~35 Tempo entre duas jogadas: 2,5 minutos (150 segundos) Computador: analisa 10 000 estados / segundo

Estados analisveis: 150 segundos * 10^4 estados = 1 500 000 N de estados profundidade p: r^p = 35^p 35^4 = 1 500 625 ( profundidade 4, o computador j no analisa todas as jogadas) Um bom jogador humano consegue prever de 6 a 8 jogadas

Concluso: Minimax demasiado custoso em tempo


Inteligncia Artificial 2008/2009
6

Jogo do Galo

OK
Inteligncia Artificial 2008/2009
7

Algoritmo (Pseudo-cdigo)
Determinar SE { profundidade limite atingida OU Nivel Minimizador OU Nivel Maximizador } ENTO SE profundidade limite Calcular valor do estado corrente Retornar resultado SE Nivel Minimizador Aplicar minimax aos sucessores Retornar Mnimo SE Nivel Maximizador Aplicar minimax aos sucessores Retornar Mximo

Inteligncia Artificial 2008/2009

- Processo de pesquisa com Minimax - Exemplo de rvore de pesquisa com profundidade 5 - Os valores da funo Heurstica so relativos ao jogador X Heurstica = linhas/colunas/diagonais em aberto ->X linhas/colunas/diagonais em aberto ->O Inteligncia Artificial 2008/2009
9

Exemplo
Max

Min

Para cada nvel MINimizador ou MAXimizador, escolher o MINmo ou MAXimo dos sucessores

Inteligncia Artificial 2008/2009

10

Exemplo (continuao)

Max

Min

Inteligncia Artificial 2008/2009

11

Ser que o minimax em alguma altura realiza trabalho intil?

Inteligncia Artificial 2008/2009

12

Resposta? Sim

Max

Min

Inteligncia Artificial 2008/2009

13

Cortes alfa-beta

- Permite diminuir o nmero de ns visitados e de funes nos ns avaliados - Possui profundidade limitada - Inclui-se um limite inferior para valor a minimizar (beta -> valor mais baixo que o jogador min j assegurou), e um limite superior para o valor a maximizar (alfa -> valor mais alto do jogador max) - A pesquisa dos sucessores de um n termina quando se verificar alfa>=beta

Inteligncia Artificial 2008/2009

14

Algoritmo (Pseudo-cdigo)
alfa-beta(jogador, mundo, alfa, beta) SE o jogo terminou no estado actual do mundo devolve vencedor filhos = todas as jogadas possveis a partir do estado actual SE jogador = MAX PARA cada filho avaliao = alfa-beta(adversrio, filho, alfa, beta) SE avaliao > alfa ENTO alfa = avaliao (encontrou-se uma melhor jogada) SE alfa >= beta ENTO devolve alfa (ignora restante ramos) devolve alfa (esta a melhor jogada) SENO jogador = MIN PARA cada filho avaliao = alfa-beta(adversrio, filho, alfa, beta) SE avaliao < beta ENTO beta= avaliao (adversrio encontrou uma melhor pior jogada) SE alfa >= beta ENTO devolve beta (ignora restante ramos) devolve beta (a melhor jogada do adversrio)

Inteligncia Artificial 2008/2009

15

Exemplo

Max

Min

Inteligncia Artificial 2008/2009

16

Exemplo (continuao)

Max

Min

Inteligncia Artificial 2008/2009

17

Contras
Apesar de tudo o que foi referido, os cortes Alfa-Beta podem no trazer melhorias. Na prtica, se as opes surgirem de uma determinada ordem (crescente no maximizador e decrescente no minimizador), os cortes Alfa-Beta no trazem melhorias.

Inteligncia Artificial 2008/2009

18

Ordem de complexidade
Se a profundidade mxima da rvore for m e em cada ponto houver b hipteses possveis (factor de ramificao):

(*) com uma ordenao perfeita

Inteligncia Artificial 2008/2009

19

Outra abordagem, Negamax

Inteligncia Artificial 2008/2009

20

Negamax

Este algoritmo semelhante ao Minimax mas tira partido das heursticas poderem ser as mesmas para o jogador e seu adversrio (como o caso do Xadrez).

Enquanto que o Minimax maximiza a heurstica do jogador e minimiza a do adversrio, o Negamax nega (multiplica por -1) o valor da heurstica correspondente ao nvel onde teria de minimizar. Assim no precisa de saber o nvel onde se encontra e maximiza sempre.

Inteligncia Artificial 2008/2009

21

Exemplo

Inteligncia Artificial 2008/2009

22

Exemplo (continuao)

Inteligncia Artificial 2008/2009

23

Resumo - Minimax

- Baseia-se na suposio de que o adversrio escolher sempre o movimento ideal, e nunca incorrer ao erro; - Gera toda a rvore de busca, dentro do limite permitido; -O Algoritmo completo apenas no caso de a rvore ser finita (ex.: Jogo do Galo); - O tempo gasto para determinar a deciso ptima totalmente impraticvel para qualquer jogo minimamente complexo, pois gera caminhos cuja possibilidade de serem seguidos praticamente nula.

Inteligncia Artificial 2008/2009

24

Resumo Corte alfa-beta

- Eficiente para determinar quais os ramos que no devem ser explorados; - No afecta o resultado final; - Uma boa ordenao dos ns aumenta ainda mais a sua eficincia, no entanto se isso no acontecer este algoritmo pode no trazer qualquer vantagem;

Inteligncia Artificial 2008/2009

25

?
Inteligncia Artificial 2008/2009
26

Obrigado pela vossa ateno

E
Boa sorte para o teste

Inteligncia Artificial 2008/2009

27

Você também pode gostar