PCS 48 / PCS 59 lnteligência r9ficial Prof. r. Jaime Simão Sichman Prof. ra. nna Helena Reali Costa Jogos Jogos: considerações gerais plicações atra9vas para métodos I desde o início. Formulação simples do problema (ações bem definidas) mbiente totalmente observável (geralmente); bstração (representação simplificada de problemas reais); Sinônimo de inteligência ; Primeiro algoritmo para adrez foi proposto por Claude Shannon na década de 5. Porém desafiador: Tamanho + limitação de tempo (5 1 nós para adrez); Incerteza devido ao outro jogador; Problema con9ngencial : agente deve agir antes de completar a busca Formulando e resolvendo o problema jogadores, revezam o lance, são adversários Formulação Estado inicial: posições do tabuleiro + de quem é a vez Estado final: posições em que o jogo acaba Operadores: jogadas legais (=válidas) Função de u5lidade: valor numérico do resultado (pontuação) usca: algoritmo minima lgoritmo Minima Russel and Norvig, IM slides Idéia: maimizar a u5lidade (ganho) supondo que o adversário vai tentar minimizá- la. Minima faz busca cega em profundidade. O agente é e o adversário é. 5 Ma(X) Min(O) Ma(X) Min(O) Jogo da velha (min- ma)...... o o o o o o o o o o... o o o -1 +1............ Função utilidade: empata -1 perde +1 ganha 6 Minima Passos: Gera a árvore inteira até os estados terminais (ganha, perde ou empata). plica a função de u5lidade nas folhas. Propaga os valores dessa função subindo a árvore através do minima. eterminar qual a ação que será escolhida por. Jogada decidida por 11 1 1 1 1 1 1 8 4 6 14 5 1
Crí9cas Problemas Tempo gasto para determinar a decisão ó9ma é totalmente impra9cável (ir até as folhas), porém o algoritmo serve como base para outros métodos mais realís9cos. Compleidade: O(b m ) idem usca em Profundidade. Para melhorar 1) Limitar a profundidade da busca e subs9tuir função de u9lidade por função de avaliação (heurís9ca); ) Podar a árvore onde a busca seria irrelevante: poda alfa- beta Função heurís9ca para o jogo da velha X tem 6 possibilidades X H = 6-5 = 1 X tem 5 possibilidades X H = 4-6 = = - X H = 5-4 = 1 X 7 8 Uso da Função de valiação ma Poda lpha- eta Objetivo: não epandir desnecessariamente nós durante o minima. min Idéia: não vale a pena piorar, se já achou algo melhor. Mantém parâmetros: α melhor valor (no caminho) para β melhor valor (no caminho) para Teste de epansão: α não pode diminuir (não pode ser menor que um ancestral) β não pode aumentar (não pode ser maior que um ancestral) 1 Poda lpha- eta Russel and Norvig, IM slides Poda lpha- eta Russel and Norvig, IM slides
Poda lpha- eta: eemplo I Início: Inicia valores α (ma) e β (min). α - β1 + β + β + 1 8 4 6 14 5 Poda lpha- eta: eemplo I Epande até 1ª folha e aplica função utilidade, atualizando o máimo valor que o β de pode ter (já que é um nó de ). Precisa continuar procurando para ver se β ainda é reduzido. α - β1 β + β + 1 8 4 6 14 5 1 14 Valor de, no máimo... (só pode diminuir) Poda lpha- eta: eemplo II Continua epansão de : folha com 1 > (β não muda seu máimo), depois folha com 8> (β não muda seu máimo). não tem mais filhos, portanto β 1 = e α do pai pode ser iniciado. Continua epansão, com α limitando a busca. α β1 = β + β + Poda lpha- eta: eemplo III Epande C: folha com, atualiza β. Como < α do nó pai, C não precisa mais ser epandido. eve-se verificar se β > para mudar α. Justificativa: se novo filho de C tiver valor MIOR que, como β não pode aumentar, nada será mudado; se novo filho tiver valor MENOR que, β reduzirá mas não afetará α, que só pode aumentar e já está com valor. α β1 = β C β + 1 8 4 6 14 5 15 Valor de, no mínimo... (só pode aumentar) 16 1 8 4 6 14 5 Poda lpha- eta: eemplo IV Poda lpha- eta: eemplo IV Epande : folha com 14, atualiza β 14 e como 14 > α e β ainda pode diminuir, continua a epansão de. Folha com 5, reduz β e como 5 > α e β ainda pode diminuir, continua a epansão de. Última folha tem : define valor de β = e verifica se atualiza α; como α >, ele não muda e a busca termina. α usca termina, com escolha da jogada. Jogada escolhida α β1 = β C β = β1 = β C β = 17 1 8 4 6 14 5 18 1 8 4 6 14 5
Eercício ecidir a jogada de (, ou C) considerando as utilidades fornecidas nas folhas. dotando a poda alfabeta, indicar quais arestas/subárvores serão podadas. Eercício C C E F G H I J E F G H I J 19 5 7 5 7 1 5 7 5 7 5 7 1 5 7 Eercício Eercício C C E F G H I J E F G H I J 1 5 7 5 7 1 5 7 5 7 5 7 1 5 7 Eercício Eercício C C E F G H I J E F G H I J 5 7 5 7 1 5 7 4 5 7 5 7 1 5 7 4
Eercício Eercício C C [, + ] E F G H I J [, + ] E F G H I J 5 5 7 5 7 1 5 7 6 5 7 5 7 1 5 7 Eercício Eercício C C [, + ] E F G H I J [, + ] E F G H I J 7 K L M N O P Q R 5 7 5 7 S T 1 5 U 7 8 5 7 5 7 1 5 7 Eercício Eercício C C [ -, ] [, + ] E F G H I J [, + ] E F G H I J 9 5 7 5 7 1 5 7 5 7 5 7 1 5 7 5
Eercício Eercício C [ -, ] C [ -, ] [, + ] [ -, ] E F G H I J [, + ] [ -, ] E F G H I J 1 5 7 5 7 1 5 7 5 7 5 7 1 5 7 Eercício Eercício C [ -, ] C [ -, ] [, + ] [ -, ] E F G H I J 5 5 7 5 7 1 5 7 [, + ] [ -, ] E F G H I J 4 5 Poda β 5 7 5 7 1 5 7 Eercício Eercício C [ -, ] 5 C [ -, ] [, + ] [ -, ] E F G H I J [, + ] [ -, ] E F G H I J 5 5 7 5 7 1 5 7 6 5 7 5 7 1 5 7 6
Eercício Eercício [, + ] [, + ] C [ -, ] C [ -, ] [, + ] [, + ] [ -, ] E F G H I J [, + ] [ -, ] E F G H I J 7 5 7 5 7 1 5 7 8 5 7 5 7 1 5 7 Eercício Eercício [, + ] [, + ] C [ -, ] [, + ] C [ -, ] [, + ] [, + ] [ -, ] [, + ] E F G H I J [, + ] [ -, ] [, + ] E F G H I J 9 5 7 5 7 1 5 7 4 5 7 5 7 1 5 7 Eercício Eercício [, + ] [, + ] C [ -, ] [, + ] C [ -, ] [, + ] [, + ] [ -, ] [, + ] E F G H I J [, + ] [ -, ] [, + ] E F G H I J 41 5 7 5 7 1 5 7 4 5 7 5 7 1 5 7 7
Eercício Eercício [, + ] [, + ] C [ -, ] [, + ] Poda α C [ -, ] [, + ] [, + ] [ -, ] [, + ] E F G H I J [, + ] [ -, ] [, + ] E F G H I J 4 5 7 5 7 1 5 7 44 5 7 5 7 1 5 7 Eercício Eercício [, + ] [, + ] C [ -, ] [, + ] [, + ] C [ -, ] [, + ] [, + ] [, + ] [ -, ] [, + ] E F G H I J [, + ] [ -, ] [, + ] [, + ] E F G H I J 45 5 7 5 7 1 5 7 46 5 7 5 7 1 5 7 Eercício Eercício [, + ] [, + ] C [ -, ] [, + ] [, + ] C [ -, ] [, + ] [, + ] [, + ] [ -, ] [, + ] [, + ] E F G H I J [, + ] [ -, ] [, + ] [, + ] E F G H I J 47 5 7 5 7 1 5 7 48 5 7 5 7 1 5 7 8
Eercício Eercício [, + ] [, + ] C [ -, ] [, + ] [, + ] C [ -, ] [, + ] [, + ] [, + ] [ -, ] [, + ] [, + ] E F G H I J [, + ] [ -, ] [, + ] [, + ] E F G H I J 1 49 5 7 5 7 1 5 7 5 5 7 5 7 1 5 7 Eercício Eercício [, + ] [, + ] C [ -, ] [, + ] [, + ] [, + ] [ -, ] [, + ] [, + ] E F G H I J C [ -, ] [, + ] [, + ] Poda α [, + ] [ -, ] [, + ] [, + ] E F G H I J 51 5 7 5 7 1 5 7 5 5 7 5 7 1 5 7 Eercício [, + ] Eercício Jogada escolhida [, + ] C [ -, ] [, + ] [, + ] C [ -, ] [, + ] [, + ] [, + ] [ -, ] [, + ] [, + ] E F G H I J [, + ] [ -, ] [, + ] [, + ] E F G H I J 5 5 7 5 7 1 5 7 54 5 7 5 7 1 5 7 9