minimax - feupeol/ia/1415/estudantes_iart_minimax_2014_1… · minimax com cortes alfa-beta -...
TRANSCRIPT
![Page 1: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/1.jpg)
MiniMax e cortes alfa-beta
Apresentado por:
Ricardo Coutinho
Leonel Peixoto
Duarte Ribeiro
![Page 2: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/2.jpg)
Jogos E ainda existem
outros tipos!
![Page 3: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/3.jpg)
Zero-Sum Games ● Agentes têm utilidades opostas
● Cada agente máximiza o seu
objectivo e como consequência
mínimiza o objectivo do outro
● Jogos com adversários
competitivos
General Games ● Agentes têm utilidades
independentes
● É possível ter cooperação,
indiferença, competição e/ou
mais
VS
![Page 4: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/4.jpg)
Informação imperfeita existem estados invisíveis
Informação perfeita todos os estados são visíveis
VS
![Page 5: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/5.jpg)
Determinístico cada acção tem um
resultado específico
Estocástico cada acção tem uma
probabilidade de ter um
resultado diferente
VS
![Page 6: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/6.jpg)
O jogo pac-man (1980)
![Page 7: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/7.jpg)
1 3 2 6 6 Jogo sem adversário (exemplo do pac-man)
![Page 8: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/8.jpg)
Procura adversarial
Qual será a minha
melhor jogada?
depende do meu adversário
então vamos assumir que o
jogador vai utilizar a mesma
estratégia, isto é, de pensar na
melhor jogada que ele pode
fazer baseada na minha,.. e
por aí em diante
![Page 9: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/9.jpg)
-8 -5 -10 +8 -8
Jogo com adversário (exemplo do pac-man)
![Page 10: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/10.jpg)
MiniMax
![Page 11: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/11.jpg)
1 6 2 7 6 3 5 7
MAX (Jogador)
4
Uma possível jogada de MAX
MIN (Adversário)
Profundidade de Pesquisa (Numero de jogadas)
Possíveis jogadas de MAX
Possíveis jogadas de MIN
Estado atual do jogo
Valores de possíveis estados terminais
![Page 12: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/12.jpg)
Algoritmo MiniMax
definir valor-máximo(estado):
inicializar v = - ∞
para cada sucessor do estado:
v = max(v, valor-
mínimo(sucessor))
retorna v
definir valor-mínimo(estado):
inicializar v = +∞
para cada sucessor do estado:
v = min(v, valor-
máximo(sucessor))
retorna v
definir valor(estado):
se estado terminal: retorna o valor
se nível MIN: retorna valor-mínimo(estado)
se nível MAX: retorna valor-máximo(estado):
![Page 13: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/13.jpg)
1 6 2 7 4 3 5 7
4
4 1 3 3 1 7 4
6
6
3 4 -∞
+∞ +∞ +∞
![Page 14: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/14.jpg)
Eficiência do MiniMax
Seja:
b : número médio de ramificações
m : número médio de jogadas
Temos uma procura parecida com a
pesquisa em profundidade (Depth-First)
Complexidade de tempo: O(bm)
Complexidade de espaço: O(bm)
![Page 15: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/15.jpg)
![Page 16: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/16.jpg)
Sabendo que: b ~= 35
E pretende-se: m ~= 10
Supondo que se consegue: 1 000 000 estados explorados/segundo
Então:
Complexidade num Jogo de Xadrez
3510 = 2,75854735351562 x 1015 estados / 1 000 000 = 2758547353 segundos
~= 87 anos
![Page 17: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/17.jpg)
MiniMax com Cortes Alfa-Beta
![Page 18: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/18.jpg)
1 7 4 3 5 7
4
4 1 3 3 1 7 4
6
6
3 4
![Page 19: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/19.jpg)
MiniMax com Cortes Alfa-Beta - revisão
![Page 20: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/20.jpg)
Algoritmo do MiniMax com Cortes Alfa-Beta
α: melhor opção de MAX no caminho até à raiz
β: melhor opção de MIN no caminho até à raiz
definir valor-máximo(nível, α, β):
inicializar v = - ∞
para cada sucessor do nível:
v = max(v,
valor(sucessor,α, β))
se v≥β retorna v
α = max(α,v)
retorna v
definir valor-mínimo(nível, α, β):
inicializar v = + ∞
para cada sucessor do nível:
v = min(v,
valor(sucessor,α, β))
se v≤α retorna v
β = max(β,v)
retorna v
![Page 21: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/21.jpg)
MiniMax com Cortes Alfa-Beta - Limitações
● Problemas com a escolha
do caminho ótimo
● Algoritmo “good child”
● Com perfeita ordenação:
○ Complexidade
temporal diminui
(para jogos de Xadrez
ainda é insuficiente)
Complexidade de tempo: O(bm/2)
![Page 22: MiniMax - FEUPeol/IA/1415/Estudantes_IART_MiniMax_2014_1… · MiniMax com Cortes Alfa-Beta - Limitações Problemas com a escolha do caminho ótimo Algoritmo “good child” Com](https://reader033.vdocuments.mx/reader033/viewer/2022053015/5f14e00c916887267a0a82d4/html5/thumbnails/22.jpg)
Referências
1. Inteligência Artificial, EIC0029, FEUP by Prof.
Eugénio da Costa Oliveira
2. Artificial Intelligence, CS188.1x, University of
Berkeley on BerkeleyX
3. Pac-Man