INTELIGÊNCIA ARTIFICIAL Primeiro Exame 20 de Junho de 2006 9:00-11:00 Este exame é composto por 11 páginas contendo 8 grupos de perguntas. Identifique já todas as folhas do exame 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. Numa pergunta de escolha múltipla deve escolher a alternativa mais correcta, assinalando a resposta em tabela adequada, se não existir deve assinalar a resposta desenhando um círculo à volta da letra que identifica a alternativa escolhida. Numa pergunta assinalada como de escolha múltipla EM, se houver n alternativas e a cotação for c, respostas erradas contribuem negativamente para a classificação final com c/(n-1), i.e. numa pergunta com seis alternativas e cotação de 0,5 a uma resposta errada é descontado 0,1 valores. Cotações Grupos I II III IV V VI VII VIII Grupo I (2,5 valores) 1. (0,5) A Inteligência Artificial é o estudo de a) Agentes que tentam imitar o Homem. b) Agentes racionais. c) Agentes que existem num ambiente e que têm capacidades de percepção e actuação. d) Agentes que raciocinam inteligentemente. e) Programas. f) Todas as resposta acima são verdadeiras. 2. Numa linha de montagem de automóveis é feita uma verificação de qualidade das luzes exteriores de cada automóvel por um agente. Considere que este agente recebe como percepções: luzes-esq-ok? e luzes-dir-ok?, booleanos que indicam se as luzes do lado esquerdo e as luzes do lado direito, respectivamente, estão todas a funcionar. Se todas as luzes estiverem a funcionar correctamente o agente não deve fazer nada, acção no-op, se alguma luz não estiver a funcionar o carro deve ser removido da linha de montagem para um buffer onde as luzes são reparadas, acção move-buffer, se o buffer não estiver cheio; se o buffer estiver cheio deve parar a linha de montagem, acção para-linha. No início o buffer encontra-se vazio e tem capacidade para 3 carros. No entanto cada carro que lá é colocado demora o tempo equivalente a uma sequência de três percepções do agente até ser processado e abandonar o buffer e só cada momento só o primeiro carro do buffer é que está a ser processado. a. (0,3) Indique que tipo de agente se trata. Justifique. Agente de reflexos com estado interno. O agente necessita de manter informação sobre o estado para tomar as decisões, nomeadamente sobre o estado do buffer.
b. (0,2) Defina o tipo percepção para este agente. (defstruct perc luzes-esq-ok? luzes-dir-ok?) c. (1,5) Escreva código em ANSI Common Lisp para a criação deste agente. (defun cria-agente () (let ((buffer 0)) # (lambda (p) (if (> buffer 0) (decf buffer)) (cond ((or (not (perc-luzes-esq-ok? P)) (not (perc-luzes-dir-ok? P))) (if (> buffer 6) para-linha (progn (incf buffer 3) move-buffer))) (T no-op)))))
Grupo II (2 valores) 1. (1,0) Escreva uma função em ANSI Common Lisp que recebe como argumento um array de inteiros com uma dimensão de MxN e devolve a média de todos os elementos do array. Por exemplo, > (media-elementos #2A((1 2) (3 4))) 2.5 (defun media-elementos (m) (let ((soma 0)) (dotimes (i (array-dimension m 0) (/ soma (* (array-dimension m 0) (array-dimension m 1)))) (dotimes (j (array-dimension m 1)) (incf soma (aref m i j)))))) 2. (1,0) Considere a seguinte interacção com o interpretador de Common Lisp: > (defun f1 (a1) (let ((b1 0)) #'(lambda (c1) (incf b1 (* a1 c1))))) f1 > (setf c1 (f1 1)) #<Interpreted Closure (:INTERNAL F1) @ #x2122978a> > (setf c2 (f1 2)) #<Interpreted Closure (:INTERNAL F1) @ #x21087f62> > (funcall c1 1) <valor devolvido 1> > (funcall c2 1) <valor devolvido 2> > (funcall c1 1) <valor devolvido 3> > (funcall c2 1) <valor devolvido 4> a. (0,25) Qual o valor devolvido 1? 1 b. (0,25) Qual o valor devolvido 2? 2 c. (0,25) Qual o valor devolvido 3? 2 d. (0,25) Qual o valor devolvido 4? 4
Grupo III (3,5 valores) 1. Considere o seguinte espaço de estados, em que os valores dos ramos correspondem ao custo da transição e os dos nós se referem à função heurística. Os nós correspondendo a estados objectivo estão assinalados com dois círculos concêntricos. Diga para cada estratégia de procura qual a ordem pela qual os nós são expandidos e é identificado o estado objectivo. Considere que em caso de empate os nós são expandidos da esquerda para a direita. A 5 1 1 2 6 B C 1 D 4 5 3 2 1 G 0 E 12 F 0 H 8 a. (1,0) Procura em Profundidade Primeiro: ABG b. (1,0) A*: ACDF c. (1,0) IDA*: ACACDF 2. (0,5) (EM) A procura em profundidade incremental: a) Não é completa. b) A sua complexidade espacial cresce exponencialmente com a profundidade da árvore de procura. c) Encontra sempre a melhor solução. d) A sua complexidade temporal é menor que a da procura em largura primeiro. e) A sua complexidade temporal é sempre maior que a da procura IDA*. f) Nenhuma das resposta acima é verdadeira.
Grupo IV (2,5 valores) 1. (0,5) (EM) As funções de avaliação (EVAL) e de teste de corte (CUTOFF-TEST) são usadas no MINIMAX: a) Quando há tempo para procurar todo o espaço de estados. b) Quando se pretende usar os cortes ALFA e BETA. c) Quando se pretende melhorar a qualidade das soluções encontradas. d) Face à necessidade de tomar decisões imperfeitas. e) Todas as respostas acima são verdadeiras. g) Nenhuma das resposta acima é verdadeira. 2. Considere a seguinte árvore de procura de um jogo: α:, 2, 5 β: + Jogada escolhida α: β: +, 5, 2 α: 2 β: +, 1 α: 2 β: +, 7, 5 corte α 5 2 1 7 α: 2, 7 β: + α: 2, 5 β: 7 5 0 7 5 0 5 a. (2,0) Suponha que o triângulo com o vértice virado para cima quer maximizar e o triângulo com o vértice virado para baixo quer minimizar. Aplique o algoritmo minimax com cortes alfa-beta da esquerda para a direita, escurecendo os nós terminais visitados, e indicando os cortes e tipos de cortes. Indique a jogada escolhida.
Grupo V (5,0 valores) Preencha a tabela que se segue, escolhendo a representação em Lógica de Primeira Ordem mais adequada para cada uma das frases. Respostas ilegíveis não são consideradas. Frase Opção 1. Todos os alunos de Hogwarts são feiticeiros ou cepa tortas a) 2. Nenhum cepa tortas é feiticeiro c) 3. O Avada Kedavra é um feitiço horrível d) 4. Nem todos os feiticeiros sabem fazer um Avada Kedavra f) 1. (0,5) (EM) Todos os alunos de Hogwarts são feiticeiros ou cepa tortas a) x aluno(x) frequenta(hogwarts, x) feiticeiro(x) cepa_torta(x) b) x aluno(x) frequenta(hogwarts, x) (feiticeiro(x) cepa_torta(x)) c) x aluno(x) frequenta(hogwarts, x) feiticeiro(x) cepa_torta(x) d) x aluno(x) frequenta(hogwarts, x) feiticeiro(x) cepa_torta(x) e) x (aluno(x) frequenta(hogwarts, x) (feiticeiro(x) cepa_torta(x))) f) x (aluno(x) frequenta(hogwarts, x) (feiticeiro(x) cepa_torta(x))) 2. (0,5) (EM) Nenhum cepa tortas é feiticeiro a) x cepa_torta(x) feiticeiro(x) b) x cepa_torta(x) feiticeiro(x) c) x cepa_torta(x) feiticeiro(x) d) x (cepa_torta(x) feiticeiro(x)) e) x (cepa_torta(x) feiticeiro(x)) f) x (cepa_torta(x) feiticeiro(x)) 3. (0,5) (EM) O Avada Kedavra é um feitiço horrível a) feitiço(avada Kedavra) horrível(avada Kedavra) b) 1 x feitiço(x) horrível(x) c) feitiço(avada Kedavra) horrível(avada Kedavra) d) feitiço(avada Kedavra) horrível(avada Kedavra) e) feitiço(avada Kedavra) horrível(avada Kedavra) f) x (feitiço(x) horrível(avada Kedavra)) 4. (0,5) (EM) Nem todos os feiticeiros sabem fazer um Avada Kedavra a) x feiticeiro(x) sabe_fazer(avada Kedavra, x) b) 1 x feiticeiro(x) sabe_fazer(avada Kedavra, x) c) x feiticeiro(x) sabe_fazer(avada Kedavra, x) d) x feiticeiro(x) sabe_fazer(avada Kedavra, x) e) x feiticeiro(x) sabe_fazer(avada Kedavra, x) f) x feiticeiro(x) sabe_fazer(avada Kedavra, x)
5. Considere a seguinte base de conhecimento: 1. mulher(x) usa_faca(x) 2. estava_cozinha(x) usa_faca(x) matou(x, Dr.Neves) 3. homem(x) médico(x) usa_faca(x) 4. cozinheira(x) estava_cozinha(x) 5. cozinheira(x) mulher(x) 6. homem(dr.pacheco) 7. médico(dr.pacheco) 8. homem(prof.brandão) a. (1,5) Acrescentando à base de conhecimento que A Ana é cozinheira (usando apenas os predicados das proposições já na BC), recorra ao Modus Ponens Generalizado (MPG) e à inferência progressiva para indicar que conclusões permite a proposição inferir. Não se esqueça de indicar as cláusulas que lhe permitiram aplicar o MPG, bem como as substituições realizadas. 9. cozinheira(ana) 10. estava_cozinha(ana) MPG(9, 4), Θ = {X/Ana} 11. mulher(ana) MPG(9, 5), Θ = {X/Ana} 12. usa_faca(ana) MPG(1, 11), Θ = {X/Ana} 13. matou(ana, Dr. Neves) MPG(10, 12, 2), Θ = {X/Ana}
b. (1,5) Utilizando inferência regressiva na BC original mais a proposição A Ana é cozinheira responda à pergunta Quem matou o Dr. Neves?. matou(x, Dr. Neves) X/Ana 2 estava_cozinha(x) X/Ana usa_faca(x) X/Ana 4 cozinheira(x) Sim X/Ana 1 3 mulher(ana) 5 cozinheira(ana) Sim homem(x) médico(x) Dado que se verifica que a substituição X/Ana, verifica a conjunção, pode-se concluir que a Ana matou o Dr. Neves
Grupo VI (1,0 valores) 1. (0,5) (EM) No cálculo situacional, cada acção é descrita pelos seguintes axiomas: a) Um axioma de possibilidade, um axioma de efeito e um axioma de quiescência. b) Um axioma de possibilidade, um axioma de efeito e vários axiomas de quiescência. c) Um axioma de impossibilidade, um axioma de efeito e vários axiomas de quiescência. d) Vários axiomas de possibilidade, um axioma de efeito e um axioma de quiescência. e) Vários axiomas de possibilidade, vários axiomas de efeito e vários axiomas de quiescência. f) Nenhuma das respostas acima é verdadeira. 2. (0,5) (EM) O Planeamento: a) Tem sido objecto de diferentes abordagens. b) É um tipo de resolução de problemas alternativo à procura. c) Usa conhecimento explícito das acções e dos seus efeitos para procurar uma solução num espaço mais abstracto de planos em vez de situações. d) Usa algoritmos de planeamento regressivo cujas soluções são planos parcialmente ordenados. e) Todas as respostas acima são verdadeiras. f) Nenhuma das respostas acima é verdadeira. Grupo VII (1,0 valores) 1. (0,5) (EM) A análise gramatical ( parsing, em Inglês) permite: a) Encontrar uma árvore analítica para uma gramática. b) Encontrar uma cadeia de símbolos a partir de uma árvore analítica. c) Levantar o conhecimento e informação (análise) do domínio de língua natural. d) Recuperar a estrutura semântica a partir de uma elocução. e) Todas as respostas acima são verdadeiras. f) Nenhuma das respostas acima é verdadeira. 2. (0,5) (EM) As gramáticas aumentadas de cláusulas definidas: a) Crescem exponencialmente com o número de categorias. b) Permitem falar de análise sintáctica como inferência lógica. c) Não permitem usar a mesma gramática para análise e geração. d) Apresentam problemas de sobre-geração. e) Todas as respostas acima são verdadeiras. f) Nenhuma das respostas acima é verdadeira.
1. (0,5) (EM) A aprendizagem: Grupo VIII (2,5 valores) a) É uma forma de gerar novo conhecimento. b) É uma forma de dotar um agente com autonomia de forma a poder lidar com ambientes desconhecidos. c) É uma forma de permitir a um agente melhorar o seu desempenho com a experiência. d) Pode ser realizada com o auxílio de diferentes algoritmos. e) Todas as respostas acima são verdadeiras. f) Nenhuma das respostas acima é verdadeira. 2. Qualquer fã de filmes de terror para adolescentes é capaz de acertar nas personagens que vão ser assassinadas ao longo do filme. Observando um conjunto de características das personagens deve ser possível construir uma árvore de decisão que permita prever quem são as personagens que vão ter esse destino. a) (1,5) Recorrendo aos dados da tabela abaixo e ao algoritmo Decision Tree Learning crie o primeiro nó de uma tal árvore de decisão. Não se esqueça de indicar os cálculos efectuados e de justificar a sua escolha para o nó. Personagem Cor do cabelo Capacidade de gritar Idade Assassinada histericamente 1 Ruivo Sim 18 x 35 Sim 2 Castanho/Preto Sim x < 18 Não 3 Castanho/Preto Sim 18 x 35 Não 4 Castanho/Preto Não x > 35 Não 5 Loiro Sim 18 x 35 Sim 6 Loiro Não x < 18 Não 7 Loiro Sim x > 35 Sim 8 Loiro Não x > 35 Não A seguir fornecem-se alguns valores que podem ser úteis para os cálculos: I(0, 1) = 0; I(1/2, 1/2) = 1; I(2/3, 1/3) = 0.918; I(3/5, 2/5) = 0.97; I(3/8, 5/8) = 0.955; Cor do cabelo (cc) Ruivo 1 caso (1 sim, 0 não) Cast/Preto 3 casos (0 sim, 3 não) Loiro 4 casos (2 sim, 2 não) Ganho (cc) = 0.955 1/8 I(1, 0) 3/8 I(0, 1) ½ I(½, ½) = 0.955 0 0 ½ = 0.455
Capacidade de gritar histericamente (cgh) sim 5 casos (3 sim, 2 não) não 3 casos (0 sim, 3 não) Ganho (cgh) = 0.955 5/8 I(3/2, 2/5) 3/8 I(0, 1) = 0.955 5/8*9.7 0 = 0.349 Idade (i) 18 x 35 3 casos (2 sim, 1 não) x < 18 2 casos (0 sim, 2 não) x > 35 3 casos (1 sim, 2 não) Ganho (cc) = 0.955 3/8 I(2/3, 1/3) 1/4 I(0, 1) 3/8 I(1/3, 2/3) = 0.955 3/8 * 0.918 0 3/8 * 0.918 = 0.266 Como o atributo cc é o de maior ganho, é este que vai ser colocado no primeiro nó da árvore de decisão: Ruivo Cor do cabelo Cast/Preto Assassinada? Sim Loiro Assassinada??????? Assassinada? Não
b) (0.5) Sem efectuar mais cálculos indique ainda o que teria de fazer para completar a sua árvore de decisão. Teria de fazer novos cálculos e descobrir, dos atributos restantes (cgh e i), qual o que traria maior ganho. Os novos cálculos seriam feitos tendo por base a subtabela constituída pelas linhas em que o atributo Cor do cabelo tem o valor loiro, afinal o único valor para o qual não foi possível tomar uma decisão em relação ao destino das personagens.