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

Jogo do Galo

OK
Inteligncia Artificial 2008/2009

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

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