LERCI/LEIC Tagus 2005/06 Inteligência Artificial Exercícios sobre Minimax: Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: Max Min f=4 f=7 f=7 f=1 f=2 f=3 f=5 a) Desenhe a árvore gerada por uma procura minimax. b) Desenhe a árvore gerada por uma procura minimax com cortes alfa-beta, admitindo que os sucessores dos nós são gerados da esquerda para a direita. c) Desenhe a árvore gerada por uma procura minimax com cortes alfa-beta, admitindo que os sucessores dos nós são gerados da direita para a esquerda. d) Desenha a árvore gerada por uma procura alfa-beta, admitindo que os sucessores dos nós são gerados de forma a maximizar o número de nós cortados. Para cada uma das alíneas acima, quando aplicável: 1) Indique o valor de cada nó não terminal; 2) Mostre os valores de alfa e de beta para cada nó não terminal visitado; 3) Escureça os nós terminais visitados; 4) Assinale com um traço os ramos que foram eliminados por um corte; 5) Indique o caminho que será escolhido para jogar.
Ex. 2) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: Max Min f=5 f=7 f=1 f=2 f=3 f=9 f=10 a) Desenhe a árvore gerada por uma procura minimax. b) Desenhe a árvore gerada por uma procura minimax com cortes alfa-beta, admitindo que os sucessores dos nós são gerados da esquerda para a direita. c) Desenhe a árvore gerada por uma procura minimax com cortes alfa-beta, admitindo que os sucessores dos nós são gerados da direita para a esquerda. d) Desenha a árvore gerada por uma procura alfa-beta, admitindo que os sucessores dos nós são gerados de forma a maximizar o número de nós cortados. Para cada uma das alíneas acima, quando aplicável: 1) Indique o valor de cada nó não terminal; 2) Mostre os valores de alfa e de beta para cada nó não terminal visitado; 3) Escureça os nós terminais visitados; 4) Assinale com um traço os ramos que foram eliminados por um corte; 5) Indique o caminho que será escolhido para jogar. Ex. 3) (Livro Ex. 6.1) Este problema exercita os conceitos básicos de jgos, utilizando o jogo do Galo. Defina-se X n como o número de linhas, colunas ou diagonais com exactamente n Xs e nenhum O. Similarmente, O n é o número de linhas, colunas ou diagonais com n Os e nenhum X. A função de utilidade atribui +1 a qualquer posição com X 3 =1 e -1 a qualquer posição com O 3 =1. Todas as outras posições terminais têm utilidade 0. Para posições não terminais, utilize a função de avaliação Eval(s)=3X 2 (s) +X 1 (s)-3o 2 (s)-o 1 (s). a) Aproximadamente, quantos jogos do galo diferentes existem? b) Mostre toda a árvore de jogo começando com o tabuleiro vazio até a profundidade 2 (i.e., com uma jogada de X e outra de O), levando em consideração as simetrias.
c) Avalie todas as posições no nível 2. d) Utilizando o algoritmo minimax, marque na sua árvore os valores retornados para as posições no nível 1 e 0, e utilize esses valores para escolher a melhor jogada inicial. e) Escureça os nós à profundidade 2 que não seriam avaliados se estivesse a ser executado o minimax com cortes alfa-beta, assumindo que os nós são gerados na ordem que optimiza os cortes. Ex. 4) (Livro Ex. 6.3) Considere o jogo de dois jogadores descrito abaixo. A 1 B 2 3 4 Na figura acima está representada a posição inicial. O jogador A move-se primeiro. Os dois jogadores jogam alternadamente e cada jogador move a sua peça para uma posição adjacente livre em qualquer direcção. Se o oponente ocupar uma posição adjacente, o jogador pode pular para a próxima posição livre, se a houver. Por exemplo, se A estiver em 3 e B em 2, então A pode pular para a posição 1, O jogo acaba quando um jogador alcançar a posição oposta do tabuleiro. Se o jogador A atingir a posição 4 primeiro, então o valor para A é 1. Se B atingir a posição 1 primeiro, então o valor para A é -1. a) Desenhe a árvore do jogo completa, utilizando a seguinte convenção: a. Escreva cada estado como (s A, s B ), onde s A e s B representam as localizações de A e B. b. Ponha cada estado terminal numa caixa quadrada e escreva o seu valor no jogo num círculo. c. Ponha os estados repetidos (estados que aparecem no caminho para a raiz) numa caixa com duplo quadrado. Já que não é claro o valor a atribuir a valores de estados repetidos, marque um ponto de interrogação dentro de um círculo. b) Marque cada nó com o valor minimax (também num circulo). Explique como tratou o ponto de interrogação e porquê. c) Explique porque o algoritmo minimax falharia neste jogo e sugira alterações para corrigir. O seu algoritmo modificado dá as decisões óptimas para todos os jogos com estados repetidos? d) Este jogo pode ser generalizado para n quadrados com n>2. Prove que A ganha se n for impar e perde se n for par. Ex. 5) (Livro Ex. 6.4) Implemente o gerador de jogadas e funções de avaliação para o jogo Othello. Construa um agente genérico que implementa o minimax com cortes alfabeta e aplique-o à sua implementação. Compare o efeito de aumentar a profundidade do
corte, utilização de ordenação no gerador de sucessores e melhorar a função de avaliação. Exercícios de restrições Ex. 1) Considere um quadrado mágico com a dimensão 3x3. A cada posição é atribuído um valor inteiro de 1 a 9. (Todas as posições têm valores diferentes.) O objectivo é colocar os valores de tal forma que cada linha, coluna e diagonal (de comprimento 3) tenham a mesma soma. Segue-se um exemplo de um quadrado mágico: 4 3 8 9 5 1 2 7 6 Considere este problema como um CSP. Duas formulações distintas têm como variáveis e respectivos domínios: 1. Uma variável para cada posição, com o domínio [1..9], cujo valor corresponde ao inteiro contido nessa posição. 2. Uma variável para cada número, com domínio [1..9], cujo valor corresponde à posição onde se encontra o número. Para qual das formulações é mais simples definir as restrições? Defina as restrições para a formulação mais simples. Ex. 2) Considere o problema de cripto-aritmética que se segue: E A T + T H A T A P P L E Formule este problema como um CSP. Sugestão: use como variáveis auxiliares X1, X2, X3, X4, cujo valor é 0 ou 1, e que representam os dígitos das dezenas resultantes da adição. a) Construa o respectivo grafo de restrições. b) Qual o conjunto de variáveis com que pode iniciar a procura em árvore considerando a heurística do maior grau ( heuristic degree )? c) Considere que está a usar procura local juntamente com a heurística que minimiza o número de conflitos e que é devolvida a atribuição A=4, E=8, H=2, L=3, P=0, T=9, X1=1, X2=0, X3=1, X4=1. Quais as variáveis que o algoritmo vai considerar mudar? Suponha que o algoritmo decidiu aleatoriamente alterar o valor atribuído à variável A. Que valor deve ser atribuído a esta variável?
Ex. 3) Considere um CSP com as seguintes características: V = {x,y,z} Dx = {0,4,6,8} Dy = {3,6,9} Dz = {-1,1,2} Restrições: R1: x + z = y R2: 4x y > 8 R3: 2x / z = 4 Realize as seguintes procuras usando ordem alfabética crescente para atribuir variáveis e ordem numérica crescente para atribuir valores. a) Procura com retrocesso sem efectuar qualquer tipo de inferência. b) Procura com retrocesso utilizando forward checking. c) Procura com retrocesso utilizando consistência de arcos (de acordo com o algoritmo AC-3). Ex. 4) Considere o seguinte desafio lógico: Em cinco casas, cada uma com uma cor diferente, vivem 5 pessoas de nacionalidades diferentes, cada uma das quais fuma uma marca de cigarros diferente, bebe uma bebida diferente e tem um animal de estimação diferente. Dados os factos que se seguem, o objectivo é responder à pergunta Onde é que a zebra vive e em que casa é que se bebe água? a) O Inglês vive numa casa vermelha. b) O Espanhol é dono de um cão. c) O Norueguês vive na primeira casa a contar da esquerda. d) Na casa amarela fuma-se Kools. e) A pessoa que fuma Chesterfields vive na casa ao lado da casa onde vive uma raposa. f) O Norueguês vive ao lado da casa azul. g) A pessoa que fuma Winston é dona de uma cobra. h) O fumador de Lucky Strike bebe sumo de laranja. i) O Ucraniano bebe chá. j) O Japonês fuma Parliaments. k) Os cigarros Kools são fumados na casa ao lado da casa onde vive um cavalo. l9 Na casa verde bebe-se café. m) A casa verde está imediatamente à direita (do ponto de vista do observador) da casa branca. n) Na casa do meio bebe-se leite. Discuta diferentes formulações do problema como um CSP.