Inteligência Artificial Alameda e Taguspark · construir uma árvore de decisão que permita...

6
- 1 - Inteligência Artificial Alameda e Taguspark Segundo Teste 05 de Janeiro de 2009 9H00-10H30 Nome:_________________________________________Número:_________ Este teste tem 8 perguntas e 6 páginas. Escreva o número em todas as páginas. Deve ter na mesa apenas o enunciado do teste, canetas ou lápis e a sua identificação. Pode utilizar o verso das folhas como rascunho. As respostas das perguntas de escolha múltipla que contam para avaliação são apenas as identificadas nesta página . Para estas perguntas é dada uma cotação negativa no caso de a resposta estar errada: se existirem n alternativas e a cotação for c, então respostas erradas contribuem negativamente para a classificação final com –c/(n-1). Excepção são as perguntas do grupo 8, em que cada resposta errada contribui negativamente para a classificação final com –c/n. Pergunta Resposta 2 A B C D E F G H 3 A B C D E 8.a 1 – V F, 2 – V F, 3 – V F, 4 – V F, 5 – V F, 6 – V F, 7 – V F, 8 – V F 8.b 1 – V F, 2 – V F, 3 – V F, 4 – V F, 5 – V F, 6 – V F, 7 – V F, 8 – V F 8.c 1 – V F, 2 – V F, 3 – V F, 4 – V F, 5 – V F, 6 – V F, 7 – V F, 8 – V F 8.d 1 – V F, 2 – V F, 3 – V F, 4 – V F, 5 – V F, 6 – V F, 7 – V F, 8 – V F 1a ___ 1b ___ 4a ___ 4b ___ 4c ___ 5a ___ 5b1 ___ 5b2 ___ 5c ___ 6a ___ 6b ___ 7 ___

Transcript of Inteligência Artificial Alameda e Taguspark · construir uma árvore de decisão que permita...

- 1 -

Inteligência Artificial Alameda e Taguspark

Segundo Teste 05 de Janeiro de 2009

9H00-10H30

Nome:_________________________________________Número:_________ Este teste tem 8 perguntas e 6 páginas. Escreva o número em todas as páginas. Deve ter na mesa apenas o enunciado do teste, canetas ou lápis e a sua identificação. Pode utilizar o verso das folhas como rascunho. As respostas das perguntas de escolha múltipla que contam para avaliação são apenas as identificadas nesta página. Para estas perguntas é dada uma cotação negativa no caso de a resposta estar errada: se existirem n alternativas e a cotação for c, então respostas erradas contribuem negativamente para a classificação final com –c/(n-1). Excepção são as perguntas do grupo 8, em que cada resposta errada contribui negativamente para a classificação final com –c/n.

Pergunta Resposta

2 A B C D E F G H

3 A B C D E

8.a 1 – V F, 2 – V F, 3 – V F, 4 – V F, 5 – V F, 6 – V F, 7 – V F, 8 – V F

8.b 1 – V F, 2 – V F, 3 – V F, 4 – V F, 5 – V F, 6 – V F, 7 – V F, 8 – V F

8.c 1 – V F, 2 – V F, 3 – V F, 4 – V F, 5 – V F, 6 – V F, 7 – V F, 8 – V F

8.d 1 – V F, 2 – V F, 3 – V F, 4 – V F, 5 – V F, 6 – V F, 7 – V F, 8 – V F

1a ___ 1b ___ 4a ___ 4b ___ 4c ___ 5a ___ 5b1 ___ 5b2 ___ 5c ___ 6a ___ 6b ___ 7 ___

- 2 -

1. (3.0) Considere o problema do puzzle Kakuro. a. (1.5) Formule o puzzle que se segue como um problema de satisfação de restrições, indicando as

variáveis, os domínios das variáveis e as restrições.

Variáveis X1...X8 com domínios [1..9]. (Variáveis numeradas sequencialmente da esquerda para a direita e de cima para baixo.) AllDiff(X1,X2), AllDiff(X3,X4,X5), AllDiff(X6,X7,X8), AllDiff(X3,X6), AllDiff(X1,X4,X7), AllDiff(X2,X5,X8), X1+X2=4, X3+X4+X5=7, X6+X7+X8=6, X3+X6=4, X1+X4+X7=7, X2+X5+X8=6

b. (1.5) Considere novamente o puzzle anterior, mas agora parcialmente preenchido.

Quais as atribuições (variável + valor) inferidas com a aplicação de:

− Forward checking:

X1=1, X8=1

− Consistência de arcos: X1=1, X3=1, X4=4, X6=3, X7=2, X8=1 2. (1.0) Indique qual das seguintes afirmações no contexto de CSPs está incorrecta:

A. Num CSP binário cada restrição relaciona duas variáveis. B. Num CSP as variáveis podem ser discretas ou contínuas. C. Numa procura com retrocesso para um CSP só é necessário considerar atribuições a uma variável em

cada nó. D. A consistênca de arcos detecta conflitos mais cedo do que o forward checking. E. O retrocesso inteligente impede que o mesmo conflito venha a aparecer noutro ramo da árvore de

procura F. A procura local para CSPs permite a geração de estados que violam restrições do problema. G. A heurística do menor número de conflitos escolhe o valor que viola o menor número de restrições, e no

caso de existirem vários valores nestas condições escolhe um deles aleatoriamente. 3. (1.0) Seja c1 a categoria dos números pares, c2 a dos números ímpares e c3 a dos números primos. Seja s =

{c1, c2, c3}. Considere ainda as relações Subconjunto, Disjuntos, DecomposiçãoExaustiva e Partição estudadas. Indique qual das seguintes afirmações é correcta:

A. Disjuntos(s) B. DecomposiçãoExaustiva(s, c1) C. DecomposiçãoExaustiva(c3, c1) D. Subconjunto(c1, c3) E. Partição({c1, c2}, c3)

- 3 -

4. (3.0) Considere uma situação S0 em que: a) existe uma caixa C, vazia, na posição P1; b) existe um objecto A, na posição P2; c) existe uma posição P3 que está desocupada. Considere ainda a acção Move(caixa,origem,destino), que move uma caixa da posição origem para a posição destino se a caixa estiver vazia. Considere finalmente os seguintes predicados: a) Em(obj,pos,sit) com o significado de que o objecto obj está na posição pos na situação sit; b) Vazia(caixa,sit) com o significado de que a caixa caixa está vazia na situação sit; c) Desocupada(pos,sit), com o significado de que a posição pos está desocupada na situação sit.

a. (1.0) Usando os predicados definidos anteriormente, descreva a situação S0. Descrição parcial de S0: Em(C,P1,S0) Em(A,P2,S0) Desocupada(P3,S0) Vazia(C,S0)

b. (1.0) Usando lógica, identifique as condições necessárias para que se possa executar a acção Move(c,p1,p2) (utilize o predicado Poss(acção,sit) com o significado de que é possível executar a acção).

Poss(Move(c,p1,p2),s) ⇒ Em(c,p1,s) ∧ Vazia(c,s) ∧ Desocupada(p2,s)

c. (1.0) Usando lógica, descreva as condições necessárias e suficientes para que, sendo possível executar uma acção a na situação s, o fluente Em(c,p,Result(a,s)) seja verdadeiro (utilize a função Result(acção,sit) para representar a situação resultante da execução da acção acção na situação sit).

Poss(a,s) ⇒ (Em(c,p,Result(a,s)) ⇔ a=Move(c,p1,p) ∨ Em(c,p,s) ∧ ¬a=Move(c,p,p1)) 5. (4.0) Suponha que a figura que se segue representa um plano sem pré-condições abertas, no qual as relações

causais e as relações de ordem foram omitidas.

a. (1.5) Considerando o algoritmo POP, indique na figura as relações causais (com uma seta a cheio) e as relações de ordem (com uma seta a tracejado) existentes neste plano.

Relações Causais: LavarComChampoo -> PorAmaciador LavarComChampoo -> SecarCabelo PorAmaciador ->Finish SecarCabelo -> Finish Relações de Ordem: PorAmaciador -> SecarCabelo Existem ainda relações de ordem entre START e cada acção a, e entre cada acção a e FINISH.

- 4 -

b. (1.5) Considere que era possível o grafo gerado pelo algoritmo GraphPlan apresentado na figura

que se segue, em que apenas são indicadas acções (e literais).

b.1. (1.0) Indique na figura anterior as relações mutex existentes entre as várias acções e literais.

Uma acção nega o efeito da outra: SecarCabelo e LavarComChampô, SecarCabelo e persistência de CabeloMolhado Uma pré-condição nega outra: --- Um efeito nega uma pré-condição: novamente SecarCabelo e persistência de CabeloMolhado Literais são efeito de acções mutex: CabeloLavado e ¬CabeloMolhado, CabeloMolhado e ¬ CabeloMolhado

b.2. (0.5) Supondo a aplicação do algoritmo Graphplan, indique se seria possível acrescentar a acção PôrAmaciador a A0. Justifique a sua resposta.

Sim seria, dado que as pré-condições de PôrAmaciador são exactamente os literais de S0.

c. (1.0) Considere agora o SATPLAN, o objectivo CabeloBrilhante e o seguinte estado inicial: ¬CabeloLavado ∧ ¬CabeloMolhado ∧ ¬CabeloBrilhante. Codifique o estado inicial e o objectivo para o instante T = 0. Indique se para T = 0 é possível definir um plano que permita alcançar este objectivo a partir do estado inicial. Justifique a sua resposta.

¬CabeloLavado(S0) ∧ ¬CabeloMolhado(S0) ∧ ¬CabeloBrilhante(S0) derivadas do estado inicial ∧ CabeloBrilhante(S0) derivada do objectivo Dado que não é possível satisfazer ¬CabeloBrilhante(S0) ∧ CabeloBrilhante(S0), não é possível alcançar esse objectivo para T = 0.

- 5 -

6. (2.0) 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) Complete a tabela abaixo com base nos cálculos que se seguem, que resultam da aplicação do algoritmo Decision Tree Learning às entradas da tabela.

Personagem Cor do cabelo Capacidade de

gritar histericamente

Idade Assassinada

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

Atributo Cor do cabelo (CC): Ganho (CC) = I(3/8, 5/8) – 1/8 I(1, 0) – 3/8 I(0, 1) – ½ I(½, ½) = 0.455 Atributo Capacidade de Gritar Histéricamente (CGH): Ganho (CGH) = I(3/8, 5/8) – 5/8 I(3/5, 2/5) – 3/8 I(0, 1) = 0.349 Atributo Idade (I): Ganho (I) = I(3/8, 5/8) – 3/8 I(2/3, 1/3) – 1/4 I(0, 1) – 3/8 I(1/3, 2/3) = 0.266

b. (0.5) Com base nos dados anteriores, indique qual seria o atributo do primeiro nó de uma tal árvore de decisão. Justifique a sua resposta.

Seria a Cor do cabelo, dado que é o atributo com maior ganho. 7. (2.0) Considere a função constante que retorna sempre 1 e que dispõe de um algoritmo de aprendizagem fraca

que recebe como argumentos uma sequência de 5 exemplos X1, X2, ..., X5, estando cada exemplo Xi associado ao peso Pi tal que P1+...+P5=1. De acordo com este algoritmo, ordenam-se os cinco exemplos por ordem decrescente de peso e, para pesos iguais, por ordem crescente de índice de exemplo. O último exemplo desta ordem produz -1 e os outros quatro exemplos produzem 1. Considerando a aplicação do algoritmo AdaBoost com 2 iterações, preencha a tabela abaixo identificando os pesos e as funções de aprendizagem fracas para as 2 iterações, bem como a função de aprendizagem produzida pelo algoritmo AdaBoost. Alguns dos valores seguintes podem ser úteis para a resolução do exercício:

N ln(n) exp(-ln(n)) exp(-ln(n)/2) exp(ln(n)/2) exp(ln(n))

2 0,693 0,500 0,707 1,414 2,000

3 1,099 0,333 0,577 1,732 3,000

4 1,386 0,250 0,500 2,000 4,000

5 1,609 0,200 0,447 2,236 5,000

6 1,792 0,167 0,408 2,449 6,000

7 1,946 0,143 0,378 2,648 7,000

8 2,079 0,125 0,354 2,828 8,000 X1 X2 X3 X4 X5

D1 (pesos 1ª iteração) 0,2 0,2 0,2 0,2 0,2

h1 1 1 1 1 -1

Pesos 2ª iteração (antes da normalização) 0,1 0,1 0,1 0,1 0,4

D2: Pesos 2ª iteração (depois da normalização) 0,125 0,125 0,125 0,125 0,5

h2 1 1 1 -1 1

H 1 1 1 -1 1 Nota: 1ª iteração: Erro: 0,2, Alfa1=½ ln((1-0,2)/0,2)= 0,693; exp(alfa1)=2; exp(-alfa1)=0,5, 2ª iteração: Erro: 0,125, Alfa2=½ ln((1-0,125)/0,125)= 0,97. H(Xi)=sinal(α1*h1(Xi)+α2*h2(Xi)).

- 6 -

8. (4.0) Considere a seguinte gramática na forma de uma DCG (Atenção: todas as respostas a estas perguntas devem ser dadas na página inicial!):

f --> sn, sv, sp. f --> sn, sv. sn --> det, nc. sn --> np. sv --> vt, sn. sv --> vi. sp --> prep, np.

nc --> [casa]. np --> ['Lisboa']. np --> ['Maria']. det --> [uma]. vt --> [adorou]. vi --> [caiu]. prep --> [em].

a. (1.0) Marque com V as frases que são aceites pela gramática e com F as que não são:

1. ‘Lisboa’ adorou ‘Maria’ em ‘Maria’ V 2. em casa adorou ‘Lisboa’ F 3. ‘Maria’ caiu em casa F 4. uma ‘Maria’ caiu em casa F 5. ‘Lisboa’ caiu em ‘Lisboa’ V 6. ‘Maria’ adorou uma casa em ‘Maria’ V 7. uma ‘Maria’ caiu em Lisboa F 8. ‘Maria’ adorou ‘Maria’ em ‘Lisboa’ V

b. (1.0) Suponha que se queria estender a gramática anterior de modo a garantir uma concordância

semântica (por exemplo, TIPO=‘pessoa’) entre o verbo “adorou” e o seu sujeito. Marque com V as frases que deverão estar numa tal gramática e com F as que não deverão estar.

1. sn(TIPO) --> det, nc(TIPO). V 2. sn(TIPO) --> np(TIPO). V 3. sv(TIPO) --> vt(TIPO), sn(TIPO). F 4. f --> sn(TIPO), sv(TIPO). V 5. np(pessoa) --> ['Maria']. V 6. det(pessoa) --> [uma]. F 7. vt(pessoa) --> [adorou]. V 8. sn --> det(TIPO), nc(TIPO). F

c. (1.0) Supondo a análise sintáctica da frase “Maria adorou Lisboa”, marque com um F os elementos

que NÃO são gerados por um algoritmo top-down (atenção que há elementos gerados que não conduzem à solução e o que está em causa neste exercício são os elementos que NUNCA seriam gerados por uma análise top-down na análise de frase dada) e com V os que poderão ser.

1. [[np:Maria][vt:adorou][np:Lisboa]] F 2. [f: [sn:[np:Maria]][sv:?][sp:?]] V 3. [f:?] V 4. [f: [sn:?][vt:adorou][np:Lisboa]] F 5. [f: [sn:?][sv:?][sp:?]] V 6. [f: [sn: [np:Maria]][sv:[vt:adorou][sn:?]][sp:?]] V 7. [f: [sn: [det:?][nc:?]][sv:?]] V 8. [f: [sn:?][sv:[vt:?,sn:Lisboa]]] F

d. (1.0) Continuando ainda com a análise sintáctica da frase “Maria adorou Lisboa”, marque com um

V os elementos gerados pelo chart-parser estudado nas aulas, e com um F os que elementos que nunca seriam gerados pelo chart-parser:

1. [0, 2, sn det nc] F 2. [0, 0, f sn sv] F 3. [0, 0, sn det nc] V 4. [0, 1, sn det nc] F 5. [0, 2, sv vt sn] F 6. [0, 2, sn np] F 7. [0, 0, S’ f] V 8. [0, 4, f sn sv ] F