Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo...
Transcript of Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo...
![Page 1: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/1.jpg)
Sistemas Inteligentes
Busca Competitiva (cont...)
![Page 2: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/2.jpg)
Revisão – Busca Competitiva
• Problemas de busca competitiva = jogos– 2 jogadores de revezando– Soma zero: a vitória de um jogador significa a derrota do
outro.– Ambientes determinísticos totalmente observáveis.– Exemplos:
• Jogo-da-velha• Damas• Xadrez• Go• ...
• Soluções: Algoritmo Minimax e Poda Alfa-Beta
![Page 3: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/3.jpg)
Minimax - Exercício
![Page 4: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/4.jpg)
Minimax - ExemploJogo da Velha começando no estado: (sendo a vez do X)
![Page 5: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/5.jpg)
Minimax – Poda -
![Page 6: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/6.jpg)
Minimax – Poda -
![Page 7: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/7.jpg)
Minimax – Poda -
![Page 8: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/8.jpg)
Minimax – Poda -
![Page 9: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/9.jpg)
Minimax – Poda -
![Page 10: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/10.jpg)
Minimax – Poda -
![Page 11: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/11.jpg)
Minimax – Poda -
![Page 12: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/12.jpg)
Minimax – Poda -
![Page 13: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/13.jpg)
Minimax – Poda -
![Page 14: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/14.jpg)
Minimax – Poda -
![Page 15: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/15.jpg)
Minimax – Poda -
![Page 16: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/16.jpg)
Minimax – Poda -
![Page 17: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/17.jpg)
Decisões imperfeitas em tempo real
• Minimax gera o espaço de busca todo.• Poda - ainda tem que chegar até os
estados terminais.
São muito ineficientes para jogos com muitos passos até os estados terminais, isto é, quase todos os jogos interessantes!
![Page 18: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/18.jpg)
Decisões imperfeitas em tempo real
• Sugestão (Shannon, 1950):– Substituir a função utilidade por uma função
de avaliação heurística e substituir o teste de término por um teste de corte.
– Função de avaliação retorna uma estimativa da utilidade esperada do jogo a partir de uma dada posição.
– Isto é, nós não terminais se transformam em nós terminais para minimax ou poda -.
![Page 19: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/19.jpg)
Decisões imperfeitas em tempo real
• Função de avaliação heurística– Deve ordenar nós-terminais da
mesma forma que a função utilidade;– A computação deve ser rápida;– Em estados não-terminais, a função
de avaliação deve estar relacionada com as chances reais de vitória;
• O algoritmo será necessariamente incerto com relação aos resultados finais pois a busca será cortada!
![Page 20: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/20.jpg)
Decisões imperfeitas em tempo real
• Definição de função de avaliação heurística: características de estado– Em conjunto definem categorias ou
classes de equivalência de estados (ex: número de peões tomados);
• Estados de cada categoria têm os mesmos valores para cada característica.
– Calcula contribuições numéricas separadas de cada característica e as combina para gerar um resultado final.
![Page 21: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/21.jpg)
Decisões imperfeitas em tempo real
• Exemplo de características de estado para xadrez:– valor material de cada peça: peão=1,
cavalo ou bispo=3, torre=5, rainha=9– boa estrutura de peões, segurança do
rei = 1/2 peão
• Função de avaliação: função linear ponderada das características
Aval(s) = w1 f1(s) + w2 f2(s) + … + wn fn(s)
![Page 22: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/22.jpg)
Decisões imperfeitas em tempo real
• Ao somar os valores de características assumimos que as contribuições de cada característica são independentes das outras.– Ex: ignora o fato de um bispo ser mais valioso
no fim do jogo quando tem mais espaço de manobra
• É possível usar combinações não-lineares.– Par de bispos pode valer mais que o dobro do
valor de dois bispos.
![Page 23: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/23.jpg)
Jogos Determinísticos na Prática
• Damas: – Chinook ganhou do campeão mundial Marion Tinsley in 1994.
• Usa um banco de dados que define jogadas perfeitas para todas as configurações envolvendo 8 ou menos peças no tabuleiro, num total de 444 bilhões de posições.
• Xadrez: – Deep Blue ganhou do campeão mundial Garry Kasparov em
1997. • Busca 200 milhões de configurações por segundo, usa uma função
de avaliação sofisticada, e métodos secretos para estender algumas linhas de busca até profundidade 40.
• Othello: – Campeões se recusam a jogar com computadores, porque eles
são bons demais.• Go:
– Campeões se recusam a jogar com computadores, porque eles são ruins demais. No jogo Go, b > 300, então a maioria dos programas usa banco de dados de padrões para sugerir jogadas.
![Page 24: Sistemas Inteligentes - UFSCalexandre.goncalves.silva/courses/... · • Soluções: Algoritmo Minimax e Poda Alfa-Beta. Minimax - Exercício. Minimax - Exemplo Jogo da Velha começando](https://reader033.fdocumentos.com/reader033/viewer/2022053015/5f14e1a97f58f8213a6df872/html5/thumbnails/24.jpg)
Referências
• Simulação de execução– http://ksquared.de/gamevisual/launch.php
• Exemplo do jogo da velha– Implementação:
• http://aleph0.info/cursos/ia/trab/luis/3/J2Velha.pdf
– Demonstração:• http://henriquevianna.com/code/ia/jogo-da-v
elha.html