Inteligência Artificial Segundo Teste 15 de Janeiro de 2015 18:00-19:30 Este teste é composto por 9 páginas contendo 8 grupos de perguntas. Identifique já todas as folhas do teste com o seu nome e número. Na mesa em que está a fazer o exame deve ter apenas lápis/caneta, identificação e este exame. Pode utilizar o verso das folhas como rascunho. Deve responder às perguntas no espaço deixado para o efeito. Cotações Perguntas 1) 2) 3) 4) 5) 6) 7) 8) 1. (2.5) Este grupo de perguntas incide sobre o projecto. Considere implementado o tipo psr usado no projecto da cadeira, com as seguintes operações básicas: cria-psr: lista variáveis x lista de domínios x lista de restrições PSR psr-atribuicoes: PSR lista atribuições psr-variaveis-todas: PSR lista variáveis psr-variaveis-nao-atribuidas: PSR lista de variáveis psr-variavel-valor: PSR x variável objecto psr-variavel-dominio: PSR x variável domínio psr-variavel-restricoes: PSR x variável lista restrições psr-adiciona-atribuicao!: PSR x variável x valor {} psr-remove-atribuicao!: PSR x variável x valor {} psr-altera-dominio!: PSR x variável x domínio {} psr-completo-p: PSR lógico psr-consistente-p: PSR lógico, inteiro psr-variavel-consistente-p: PSR x variável lógico, inteiro psr-atribuicao-consistente-p: PSR x variável x valor lógico, inteiro psr-atribuicoes-consistentes-arco-p: PSR x variável x valor x variável x valor lógico, inteiro a) (1.5) Implemente em Common Lisp a função MRV, que recebe um problema PSR, e retorna a próxima variável a atribuir pelo algoritmo de procura por retrocesso, usando a heurística dos valores mínimos remanescentes (Mininum Remaining Values). Nome: Número: 1
b) (1.0) Considere que o seu colega de grupo implementou a seguinte versão do algoritmo de inferência MAC (Maintain Arc Consistency): (defun MAC (psr var) (let ((dominios (make-hash-table :test 'equal)) (lista-arcos (arcos-vizinhos-nao-atribuidos psr var)) (arco nil)) (do () ((null lista-arcos)) (setf arco (pop lista-arcos)) (when (revise csp (car arco) (cdr arco) dominios) (when (null (gethash (car arco) dominios)) ;; se o dominio for vazio (return-from MAC NIL)) (setf lista-arcos (append lista-arcos (remove (cons (cdr arco) (car arco)) (arcos-vizinhos-nao-atribuidos psr (car arco)) :test #'equal))))) dominios)) Indique o que teria que mudar na implementação acima para implementar o método de inferência Forward Checking (não é necessário implementar o algoritmo completo). 2. (3.0) Considere a seguinte árvore de jogo para dois jogadores Max e Min, em que estão assinalados os valores da função de avaliação para os nós terminais. Nó Max Nó Min 2 5 1 4 0 5-1 3 1 5 8 1 4 a) (1.5) Faça uma procura alfa-beta, da esquerda para a direita, escurecendo os nós terminais visitados e assinalando os cortes efectuados. Indique a jogada escolhida.(utilize a árvore acima para responder à pergunta). Nome: Número: 2
b) (1.5) Um método usado na resolução de jogos é baseado no algoritmo minimax. Estudou este algoritmo quer para o caso de decisões perfeitas quer para o caso de decisões imperfeitas. i. (0.5) Diga as assumpções feitas no caso das decisões perfeitas. ii. (0.5) Diga as razões de ter que se fazer decisões imperfeitas. iii. (0.5) Diga as alterações a fazer ao caso das decisões perfeitas para poder lidar com decisões imperfeitas 3. (2.5) Utilizando os símbolos de predicado descritos abaixo juntamente com as respectivas interpretações pretendidas, que são: Português(x) x é Português Conduz(x) x conduz. Aveirense(x) x é Aveirense Bebe(x,y) x bebe y. Lisboeta(x) x é Lisboeta Contem(x,y) x contem y. Conservador(x) x é conservador. a) (1.5) Represente em Lógica de Primeira Ordem as seguintes proposições, na forma adequada para se poder aplicar Modus Ponens Generalizado: i) Todo o Português convervador bebe vinho. ii) Quem conduz e bebe álcool é multado. iii) Quem bebe uma bebida que contem álcool bebe álcool. iv) Os Lisboetas são Portugueses. v) Os Aveirenses são Portugueses. Nome: Número: 3
vi) O vinho contem álcool. vii) O Tobias é conservador. viii) O Tobias conduz. b) (1.0) Acrescente a proposição O Tobias é Aveirense à base de conhecimento e indique que conclusões permite essa proposição inferir, usando Modus Ponens Generalizado com inferência progressiva. 4. (3.5) Considere que dispõe de um carregador de baterias inicialmente desocupado (D) e de 2 baterias A e B descarregadas. Se o carregador estiver desocupado, pode-se pôr uma bateria a carregar, o que faz com que o carregador passe a estar ocupado com a bateria. Quando o carregador estiver ocupado com a bateria, ao tirar a bateria o carregador fica desocupado e a bateria carregada. Para resolver o problema foram definidos 4 operadores que representam as 4 acções ( Pôr A a carregar, Pôr B a carregar, Tirar A do carregador, Tirar B do carregador ) usando os seguintes símbolos proposicionais, com as respectivas interpretações: D: o carregador está desocupado; A: a bateria A está no carregador; B: a bateria B está no carregador; Ac: a bateria A está carregada; Bc: a bateria B está carregada. OP(ACTION: PorACarregar PRECOND: D, EFFECT: A, D) OP(ACTION:TirarACarregador PRECOND:A EFFECT: A,D,Ac) OP(ACTION: PorBCarregar PRECOND: D, EFFECT: B, D) OP(ACTION:TirarBCarregador PRECOND:B EFFECT: B,D,Bc) Nome: Número: 4
a) (2.0) Considere a utilização do algoritmo POP para construir um plano para atingir o objectivo de ter as duas baterias carregadas, partindo do estado inicial em que ambas as baterias estão descarregadas e o carregador está desocupado. Desenhe uma das soluções que pode ser retornada pelo algoritmo POP (existem duas). Represente ligações causais com setas duplas e relações de ordem com setas simples. b) (1.5) No planeamento regressivo implementado como uma procura num espaço de estados (situações do mundo): a. (0.3) Em que consiste o estado inicial? b. (0.3) Que acções são aplicadas em cada estado? c. (0.3) Como é gerado o estado sucessor resultante de uma acção? d. (0.3) Em que consiste o teste objectivo? e. (0.3) Em que consiste o caminho do estado inicial para o estado objectivo encontrado? Nome: Número: 5
5. (1.0) Assuma várias bolas coloridas contidas em duas caixas C1 e C2 distintas e indistinguíveis. As bolas estão distribuídas da seguinte forma dentro das caixas: C1 C2 Vermelha 2 4 Azul 3 2 Verde 6 3 Uma caixa é selecionada aleatoriamente, dentro da qual uma bola é selecionada aleatoriamente. A bola retirada é vermelha. Qual é a probabilidade posterior da caixa selecionada ser C1 (probabilidade de C1 dado que a bola é vermelha)? 6. (1.5) Considere a rede Bayesiana abaixo. GostaNeve 0.5 P(JF) 0.75 FazSki GN JogaFutebol PernaPartida Usando inferência por enumeração com a árvore apresentada, determine a probabilidade de ter a perna partida dado que não gosta de neve P(PP GN). FS JF P(PP FS,JF) T T 0.5 T F 0.4 F T 0.2 F F 0.05 Nome: Número: 6
7. (3.0) Considere a seguinte amostra de dados obtidos depois de várias tomadas de decisão de visitar um possível apartamento com o objetivo de o alugar. Apart. Mobilada N. Assoalhadas Estado 1 Não 4 Bom Sim 2 Sim 3 Mais/Menos Não 3 Não 4 Mais/Menos Não 4 Sim 4 Bom Sim 5 Sim 4 Mais/Menos Não 6 Não 2 Bom Não 7 Sim 3 Bom Sim 8 Sim 2 Bom Não 9 Não 3 Mau Não 10 Sim 4 Bom Sim Visitar para Alugar? a) (1.5) Pretende-se usar aprendizagem por árvores de decisão para identificar se o apartamento deve ser considerado para ser visitado ou não. Qual dos atributos será o que melhor ganho de informação nos dá? Justifique a sua resposta apresentando os cálculos necessários. Tenha em conta que I(1,0) = 0, I(1/2, 1/2) =1, I(2/5,3/5)=0.97, I(2/3,1/3)=0.918, I(1/4,3/4)=0.811 a) (0.5) Desenhe o primeiro nível da árvore de decisão aprendida, tendo em conta os valores calculados na alínea anterior. Nome: Número: 7
c) (1.0) O tipo de feedback é o factor mais importante para determinar a natureza do problema de aprendizagem enfrentado por um agente. Tendo isto em atenção, diga em que consiste cada um dos seguintes tipos de aprendizagem: i). Aprendizagem Supervisionada ii). Aprendizagem Não-Supervisionada iii). Aprendizagem Por Reforço - O mais genérico 8. (3.0) Considere a seguinte gramática na forma de uma DCG: f --> sn, sv. f --> sn, sv, sp. sn --> det, nc. sn --> det, np. sn --> np. sv --> vb, sn. sv --> vb. sp --> prep, np. nc --> [lava]. nc --> [casa]. np --> ['Islandia']. np --> ['Paulo']. det --> [a]. det --> [o]. vb --> [adorou]. vb --> [lava]. vb --> [há]. prep --> [na]. a).(1.0) Marque com V as frases que são aceites pela gramática e com F as que não são: i). o Paulo adorou a Islândia ii). há lava na Islândia iii). a Paulo lava iv). o Islândia lava a lava b) (1.0) Como alteraria a gramática anterior para que a frase o Paulo adorou lava fosse aceite? Mostre usando uma árvore sintática. Nome: Número: 8
c) (1.0) Um episódio de comunicação típico é composto por 7 processos. Diga quais e em que consiste cada um deles: Nome: Número: 9