PROCURA E PLANEAMENTO Primeiro Exame 10 de Janeiro de 2012 9:00-11:30 Este exame é composto por 16 páginas contendo 6 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. Cotações Grupos I II III IV V VI Grupo I (4,0 valores) 1. As Estratégias com Discrepâncias constituem um tipo de estratégias de procura que aprendeu na disciplina. 1.1) (0,5) Em que se baseia a utilização destas estratégias? 1.2) (0,5) Diga quais as três estratégias que estou dentro deste tipo e compare-as entre sis. Nome: Número: 1
2. A figura a seguir representa um espaço de estados em que o custo das acções está associado ao seu arco e o valor heurístico está representado junto do seu nó respectivo. Os quadrados representam estados objectivo. Considere que o estado inicial é o A e que em caso de empate a estratégia de procura escolhe o estado mais à esquerda. A h=12 Estado Final 1 1 4 h=9 h=8 B h=8 C 1 D 2 1 3 2 2 1 E F G I J K h=7 h=10 h=3 h=8 1 h=7 h=10 H h=6 1.3) (1,0) Resolva o problema usando a estratégia de procura IDA* indicando a ordem de pela qual os estados são escolhidos para expansão. Nome: Número: 2
1.4) (1,0) Resolva o problema usando a estratégia de procura ILDS considerando apenas os dois melhores sucessores de cada estado de acordo com o seu valor heurístico. Use a representação apresentada nas aulas práticas para este tipo de problema. 1.5) (1,0) Resolva o mesmo problema usando uma procura SMA* com um limite de 3 nós. Indique a ordem pela qual os estados são gerados e re-gerados. Nome: Número: 3
Grupo II (3 valores) 1. (1,0) Explique a diferença entre funções de peso que podem ser calculadas recursivamente e funções de peso que não podem ser calculadas recursivamente socorrendo-se de exemplos concretos. Diga que algoritmos de procura podem lidar com funções de peso que não podem ser calculadas recursivamente. Nome: Número: 4
2. (2,0) A figura seguinte corresponde a um grafo AND/OR, estando os nós AND representados por triângulos, os nós OR representados por círculos, e os nós terminais representados por quadrados. A B C D E F G H I J K L M N O P Q R S T U V X Z Considere ainda que a qualidade de um grafo-solução cuja raiz é o nó n é dada pela seguinte função, em que a qualidade de um nó terminal é definida pela função v, e os sucessores de um determinado nó são representados por n 1 n i : v( n) se n for um nó terminal Q( n) = Q( ni ) se n for um nó AND i max Q( ni ) se n for um nó OR i A função v está definida, para os nós terminais do grafo acima, de acordo com a seguinte tabela: J K M N P Q R S T U V X Z 3 2 5 1 1 3 2 1 5 4 2 1 2 A função Q está definida, para os nós não terminais do grafo acima, de acordo com a seguinte tabela: A B C D E F G H I L O 1 1 2 1 2 2 1 1 2 1 3 Execute uma procura AO* no grafo AND/OR apresentado acima, desenhando cada um dos subgrafos explorados nas várias iterações do algoritmo. Assinale em cada subgrafo a base de solução considerada antes de se expandir o próximo nó, bem como o valor da função de Nome: Número: 5
avaliação para cada nó gerado. A heurística utilizada é indicada na tabela seguinte, onde se apresenta a estimativa para a qualidade do grafo-solução cuja raiz é o nó indicado na primeira linha da tabela. Considere que a função f 2 escolhe o nó com o maior valor heurístico. Assuma que todos os nós terminais estão marcados como resolúveis. Nome: Número: 6
Grupo III (2,0 valores) 1. (1,2) Um problema complexo pode ser resolvido mais eficazmente através da utilização de sub-objectivos, os quais podem ser de três tipos: independentes, sequenciáveis e nãosequenciáveis. Para cada um destes tipos, explique em que consiste, dê um exemplo e apresente as suas vantagens e desvantagens. 1.1) Sub-objectivos independentes - Definição - Exemplo - Vantagens e desvantagens 1.2) Sub-objectivos sequenciáveis - Definição - Exemplo - Vantagens e desvantagens 1.3) Sub-objectivos não-sequenciáveis - Definição - Exemplo - Vantagens e desvantagens Nome: Número: 7
2. (0,8) Que entende por macro-operadores e quais as suas vantagens e desvantagens nos processos de procura. Nome: Número: 8
Grupo IV (4,0 valores) 1. (0,75) É possível resolver um problema modelado como um Problema de Satisfação de Restrições sem procura isto é sem ter que desfazer escolhas nas atribuições de valores a variáveis? Justifique a sua resposta. 2. A figura seguinte corresponde a um mapa em que estão assinaladas diferentes áreas. Pretende-se pintar cada uma das áreas com vários tons de vermelho: Claro, Médio ou Escuro, de forma a que duas áreas adjacentes não estejam pintadas do mesmo tom. Para além disso o tom de A tem que ser mais claro que o de D e o tom de D tem que ser mais claro que o de C. D A E C B F 2.1) (0,75) Indique quais as variáveis envolvidas e respectivos domínios. Apresente também as restrições em causa bem como o grafo de restrições do problema. Nome: Número: 9
2.2) (0,75) Realize uma procura com retrocesso sem fazer propagação de restrições. Aplique o algoritmo apenas até criar 12 linhas, na representação escolhida na disciplina. As variáveis e os valores devem ser escolhidos usando uma ordenação alfabética crescente. 2.3) (0,75) Realize uma procura com retrocesso utilizando o algoritmo Olhar-em-frente ( Forward checking ). As variáveis e os valores devem ser escolhidos usando uma ordenação alfabética crescente. Nome: Número: 10
2.4) (1,0) Aplique o algoritmo AC-3 ao problema, indicando claramente os domínios obtidos no final do algoritmo. Nome: Número: 11
Grupo V (4,0 valores) 1. (0,75) Os Grafos de Planeamento são estruturas de informação especiais para fornecer melhores heurísticas a um planeador computacional. a. Como são compostos? b. O que são ligações mutex? E porque podem ser consideradas um mecanismo de abstracção? c. Quando é que se diz que o grafo estabilizou? d. Como podem ser usados para produzir estimativas heurísticas? e. Como podem ser usados para produzir uma solução? Nome: Número: 12
2. (0,75) Explique detalhadamente qual a diferença entre uma procura em espaço de estados e uma procura num espaço de planos. Refira todos os conceitos relevantes. 3. A figura em baixo define um problema do mundo dos blocos e dois operadores STRIPS. C B A Inicio B C A Fim OP : (ACTION : Move(b,x,y), PRECOND : On(b,x) Clear(b) Clear(y), EFFECT: On(b,y) Clear(x) On(b,x) Clear(y)) OP : (ACTION : MoveToTable(b,x), PRECOND : On(b,x) Clear(b), EFFECT: On(b,TABLE) Clear(x) On(b,x)) 3.1) (2,5) Usando o algoritmo POP e os operadores STRIPS definidos encontre o plano parcialmente ordenado que é solução do problema apresentado. Identifique de forma clara as ameaças e a forma como foram resolvidas. Nome: Número: 13
Nome: Número: 14
Grupo VI (3,0 valores) 4. Considere a seguinte definição do tipo node para representar um nó de um grafo num algoritmo de procura em Common Lisp: (defstruct node parent state) O campo parent guarda o nó pai de um nó, isto é, o nó cuja expansão deu origem a este nó; no caso do estado inicial, o valor do campo parent é o valor NIL. O campo state corresponde ao estado que este nó representa. Considere também a função gera-sucessores recebe um estado e que gera todos os sucessores desse estado, a função f que avalia a qualidade de um estado, a função objectivo? que identifica se um estado é objectivo e a função caminho que dada uma instância do tipo node devolve a lista com os estados (e não nós) desde o estado inicial até ao estado do nó fornecido (incluindo ambos). 4.1) (1,5) Defina em ANSI Common Lisp a função PLP que implementa uma procura em largura primeiro, esta função deve receber um nó correspondente ao estado inicial. A função deve devolver o caminho desde o estado inicial até ao estado final se encontrar uma solução ou NIL se não encontrar qualquer solução. Note que o seu código deve gerir adequadamente uma lista de abertos. Nome: Número: 15
4.2) (1,5) Defina em ANSI Common Lisp a função SI que implementa uma estratégia de procura por sondagem iterativa. Esta função esta função deve receber um nó correspondente ao estado inicial e o número máximo de sondas a realizar e devolve a lista com os estados no caminho desde o estado inicial até ao melhor estado encontrado. Nome: Número: 16