Escolar Documentos
Profissional Documentos
Cultura Documentos
Alunos MiniMax
Alunos MiniMax
Lus Carlos Calado 050509043 Joo Carlos Sousa 050509027 Jos Carlos Campos 060509007 Rodolfo Sousa Silva 050509069
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.
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.
Xadrez
Damas
Go
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
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
- 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
10
Exemplo (continuao)
Max
Min
11
12
Resposta? Sim
Max
Min
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
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)
15
Exemplo
Max
Min
16
Exemplo (continuao)
Max
Min
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.
18
Ordem de complexidade
Se a profundidade mxima da rvore for m e em cada ponto houver b hipteses possveis (factor de ramificao):
19
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.
21
Exemplo
22
Exemplo (continuao)
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.
24
- 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;
25
?
Inteligncia Artificial 2008/2009
26
E
Boa sorte para o teste
27