Baseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento. Capítulo 11 (disponível online)

Tamanho: px
Começar a partir da página:

Download "Baseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento. Capítulo 11 (disponível online)"

Transcrição

1 Baseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento Capítulo 11 (disponível online)

2 O que é o planeamento? Um sistema de planeamento consiste num algoritmo que resolve problemas que são representados por estados e acções em Lógica Proposicional ou Lógica de 1ª Ordem Esta representação torna possível a criação de heurísticas eficientes e o desenvolvimento de algoritmos poderosos e flexíveis À semelhança do que acontece com os problemas de satisfação de restrições!

3 Planeamento: exemplo

4 Agentes de Planeamento Capítulo 3: agentes baseados em procura Capítulo 10: agentes baseados em lógica Neste capítulo: problemas de planeamento (clássicos) complexos Problemas clássicos: ambientes completamente observáveis, determinísticos, estáticos (mudança ocorre apenas quando o agente actua) e discretos (em tempo, acção, objectos e efeitos) Problemas não clássicos: parcialmente observáveis e estocásticos

5 Planeamento O problema de planeamento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens para planeamento

6 O que é o Planeamento Geração de sequências de acções para realizar tarefas e atingir objectivos Estados, acções e objectivos Procura de soluções num espaço abstracto de planos Aplicações práticas Desenho e manufacturação Operações militares Jogos Exploração de espaço

7 Agente Planeador Recebe uma percepção e devolve uma acção Na prática determina um plano e vai devolvendo uma acção do plano de cada vez Tem um contador de tempo Cada acção corresponde a um instante de tempo Comunica com uma Base de Conhecimento Para aceder ao estado actual Para ter acesso à descrição das acções Para formular o objectivo em cada instante de tempo Para actualizar o estado em função de cada acção

8 Agente Planeador

9 Procura vs. Planeamento Algoritmo de procura para comprar leite e pão é claramente ineficiente

10 Dificuldade dos problemas do mundo real Considere-se um agente que resolve problemas usando um método de procura Que acções são relevantes? Procura tradicional (exaustiva) Compra de um livro com 10 dígitos de ISBN 10 biliões de nós!!! Procura para trás (usada em planeamento!) Se o objectivo é Ter(ISBN ), e considerando que Comprar(x) Ter(x) então é necessário Comprar(ISBN ) O que são boas funções heurísticas? Boas estimativas do custo do estado? Dependentes ou independentes do problema? Como decompor um problema? A maioria dos problemas do mundo real são quase decomponíveis Decomposição reduz complexidade do problema

11 Planeamento O problema de planeamento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens para planeamento

12 Linguagem de planeamento O que é uma boa linguagem? Uma linguagem suficientemente expressiva para descrever uma grande variedade de problemas Uma linguagem suficientemente restritiva para permitir que algoritmos eficientes operem sobre ela Um algoritmo de planeamento deve ser capaz de explorar a estrutura lógica do problema Linguagem STRIPS (STanford Reasearch Institute Problem Solver) representação básica Linguagem ADL (Action Description Language)

13 Linguagem de planeamento Representação de estados Representação de objectivos Representação de acções

14 Linguagem STRIPS Acções descritas em termos de pré-condições e efeitos Estados inicial e final são conjunções de literais positivos

15 Linguagem ADL Não é tão restritiva como a linguagem STRIPS Permite o uzo de disjunção, negação e quantificadores

16 Características gerais da linguagem STRIPS (1) Representação de estados Decomposição do mundo em condições lógicas e representação de um estado como uma conjunção de literais positivos Literais proposicionais: Pobre Desconhecido Literais sem variáveis e sem funções: Em(Avião1, Melbourne) Em(Avião2, Sydney) Assumir que o mundo é fechado: as condições que não são mencionadas são falsas

17 Características gerais da linguagem STRIPS (2) Representação de objectivos Estados parcialmente especificados e representados como uma conjunção de literais positivos sem variáveis Rico Famoso Um objectivo é satisfeito se o estado contém todos os literais do objectivo Rico Famoso Miserável

18 Características gerais da linguagem STRIPS (3) Representação de acções Acção = PRÉ-CONDIÇÃO + EFEiTO Acção(Voar(a,de,para), PRÉ-CONDIÇÃO: Em(a,de) Avião(a) Aeroporto(de) Aeroporto(para) EFEITO: Em(a,de) Em(a,para) = esquema de acção (ou operador) Nome da acção e lista de parâmetros Pré-condição (conj. de literais sem funções): o que tem de ser verdadeiro para a acção ser executada Efeito (conj. de literais sem funções): o que é verdadeiro (P) e o que é falso ( P) após a acção ser executada Conjunto de literais pode ser separado em lista de adições e lista de remoções

19 STRIPS: exemplo de operador

20 Semântica da linguagem Como é que as acções afectam os estados? Uma acção é aplicável em qualquer estado que satisfaça a pré-condição Aplicabilidade de uma acção pode envolver uma substituição θ para as variáveis na PRÉ-CONDIÇÃO Em(A1,JFK) Em(A2,SFO) Avião(A1) Avião(A2) Aeroporto(JFK) Aeroporto(SFO) Satisfaz : Em(a,de) Avião(a) Aeroporto(de) Aeroporto(para) Por exemplo com θ ={a/a1,de/jfk,para/sfo} Logo a acção Voar(A1,JFK,SFO) é aplicável.

21 Semântica da linguagem O resultado de executar uma acção num estado s é um estado s s é o mesmo que s excepto Qualquer literal positivo P no efeito de a é adicionado a s Qualquer P correspondente a um literal negativo no efeito ( P) é removido de s Em(A1,JFK) Em(A2,SFO) Avião(A1) Avião(A2) Aeroporto(JFK) Aeroporto(SFO) Em STRIPS assume-se o seguinte: (para representar ausência de mudança) Qualquer literal que NÃO esteja no efeito permanece inalterado Uma solução é uma sequência de acções que a partir do estado inicial conduz a um estado objectivo

22 Expressividade e extensões STRIPS é uma linguagem muito simples Só literais positivos nos estados Assume mundo fechado Efeito P Q significa inserir P e remover Q Não há variáveis nos objectivos Objectivos são conjunções Efeitos são conjunções Não suporta igualdade Não suporta tipos Símbolos de função não são permitidos: implicam um número infinito de estados e acções

23 Expressividade e extensões Extensão recente: Action Description Language (ADL) Literais positivos e negativos nos estados Assume mundo aberto Efeito P Q significa inserir P e Q e apagar P e Q Variáveis quantificadas nos objectivos Objectivos com conjunções e disjunções Existência de efeitos condicionais (e.g. P:E significa que P é efeito só se E for verdadeiro) Suporta igualdade Variáveis podem ter tipos Acção(Voar(a:Avião, de:aeroporto, para:aeroporto), PRECONDIÇÃO: Em(a,de) (de para) EFEITO: Em(a,de) Em(a,para)) Linguagem + usada: Planning Domain Definition Language (PDDL)

24 STRIPS: transporte aéreo de carga Início(Em(C1, SFO) Em(C2,JFK) Em(A1,SFO) Em(A2,JFK) Carga(C1) Carga(C2) Avião(A1) Avião(A2) Aeroporto(JFK) Aeroporto(SFO)) Objectivo(Em(C1,JFK) Em(C2,SFO)) Acção(Carregar(c,a,l) PRÉ-CONDIÇÃO: Em(c,l) Em(a,l) Carga(c) Avião(a) Aeroporto(l) EFEITO: Em(c,l) Dentro(c,a)) Acção(Descarregar(c,a,l) PRÉ-CONDIÇÃO: Dentro(c,a) Em(a,l) Carga(c) Avião(a) Aeroporto(l) EFEITO: Em(c,l) Dentro(c,a)) Acção(Voar(a,de,para) PRÉ-CONDIÇÃO: Em(a,de) Avião(a) Aeroporto(de) Aeroporto(para) EFEITO: Em(a,de) Em(a,para)) [Possível solução: Carregar(C1,A1,SFO), Voar(A1,SFO,JFK), Descarregar(C1,A1,JFK), Carregar(C2,A2,JFK), Voar(A2,JFK,SFO), Descarregar(C2,A2,SFO)]

25 STRIPS: mundo dos blocos Início(On(A, Table) On(B,Table) On(C,Table) Block(A) Block(B) Block(C) Clear(A) Clear(B) Clear(C)) Objectivo(On(A,B) On(B,C)) Acção(Move(b,x,y) PRÉ-CONDIÇÃO: On(b,x) Clear(b) Clear(y) Block(b) EFEITO: On(b,y) Clear(x) On(b,x) Clear(y)) Acção(MoveToTable(b,x) PRÉ-CONDIÇÃO: On(b,x) Clear(b) Block(b) EFEITO: On(b,Table) Clear(x) On(b,x)) Acções irrelevantes são possíveis: e.g., Move(B,C,C) problema facilmente resolvido em ADL com Se não existisse o predicado Clear teríamos que usar a linguagem ADL para poder ter literais negativos na PRÉ-CONDIÇÃO

26 ADL: pneu sobresselente Início(Em(Furado, Eixo) Em(Sobresselente,Bagageira)) Objectivo(Em(Sobresselente,Eixo)) Acção(Remove(Sobresselente,Bagageira) PRÉ-CONDIÇÃO: Em(Sobresselente,Bagageira) EFEITO: Em(Sobresselente,Bagageira) Em(Sobresselente,Chão)) Acção(Remove(Furado,Eixo) PRÉ-CONDIÇÃO: Em(Furado,Eixo) EFEITO: Em(Furado,Eixo) Em(Furado,Chão)) Acção(Colocar(Sobresselente,Eixo) PRÉ-CONDIÇÃO: Em(Sobresselente,Chão) Em(Furado,Eixo) EFEITO: Em(Sobresselente,Eixo) Em(Sobresselente,Chão)) Acção(DeixarDuranteANoite PRÉ-CONDIÇÃO: EFEITO: Em(Sobresselente,Chão) Em(Sobresselente,Eixo) Em(Sobresselente,Bagageira) Em(Furado,Chão) Em(Furado,Eixo) ) Este exemplo está para além do STRIPS: literais negativos na pré-conditição (descrição ADL)

27 Planeamento O problema de planeamento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens para planeamento

28 Procura em planeamento Algoritmos de planeamento usam procura em espaço de estados Procura tradicional: nó = estado do mundo específico/concreto Planeamento: nó = plano parcial Resolução de um problema de planeamento evolui a partir de planos vagos/incompletos para planos completos/correctos

29 Exemplo: espaço de estados para mundo dos blocos

30 Procura em espaço de estados Pode ser efectuada para a frente ou para trás Heurísticas usadas consideram sub-objectivos e relaxam o problema original

31 Planeamento com procura em espaço de estados Possibilidade de fazer procura progressiva ou regressiva Planeadores progressivos Procura progressiva em espaço de estados Considerar o efeito de todas as acções possíveis num dado estado Planeadores regressivos Procura regressiva em espaço de estados Para alcançar um objectivo, considerar o que tem de ser verdadeiro no estado anterior

32 Progressão e regressão

33 Algoritmo de progressão Formulação como um problema de procura num espaço de estados: Estado inicial = estado inicial do problema de planeamento Literais que não aparecem são falsos Acções = aquelas cujas pré-condições são satisfeitas Adicionar efeitos positivos, remover efeitos negativos Teste objectivo = se o estado verifica o objectivo Custo de transição = cada acção tem custo 1 Não há funções logo qualquer procura em grafo completa é uma algoritmo de planeamento completo Causas de ineficiência: (1) acções irrelevantes (2) procura eficiente dependente de uma boa heurística

34 Algoritmo de regressão Como determinar os predecessores? Quais são os estados para os quais aplicar uma dada acção leva ao objectivo? Estado objectivo = Em(C1, B) Em(C2, B) Em(C20, B) Acção que tem o primeiro objectivo como efeito: Descarregar(C1,a,B) Funciona apenas se as pré-condições são satisfeitas Estado anterior = Em(C1, a) Em(a, B) Em(C2, B) Em(C20, B) Sub-objectivo Em(C1,B) já não está presente neste estado Acções não devem anular objectivos alcançados Principal vantagem: só são consideradas acções relevantes Tipicamente factor de ramificação muito inferior ao da procura progressiva

35 Algoritmo de regressão Processo genérico para obter predecessores Dado um objectivo G Dada uma acção A que é relevante (para alcançar objectivos) e consistente (não invalida objectivos já alcançados) Um predecessor é obtido do seguinte modo: Quaisquer efeitos positivos de A que aparecem em G são removidos Cada pré-condição de A é adicionada aos objectivos, a não ser que já lá esteja Qualquer algoritmo de procura tradicional pode efectuar esta procura Termina quando predecessor é satisfeito pelo estado inicial Em Lógica de 1ª Ordem a satisfação pode implicar uma substituição

36 Heurísticas para procura em espaço de estados As procuras progressiva e regressiva não são eficientes sem uma boa heurística Quantas acções são necessárias para alcançar este objectivo? Solução exacta é NP difícil encontrar uma boa heurística Duas abordagens para encontrar uma heurística admissível: Uma solução óptima para um problema relaxado Remover todas as pré-condições das acções Assumir sub-objectivos independentes O custo de alcançar um conjunto de sub-objectivos é (aproximadamente) igual à soma dos custos de resolver os problemas independentemente

37 Planeamento O problema de planeamento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens para planeamento

38 Planeamento de ordem parcial Planeamento com procura progressiva e regressiva resulta em planos de procura totalmente ordenados Não é possível obter as vantagens da decomposição de problemas Decisões devem ser feitas de modo a encontrar sequências de acções para todos os sub-problemas Estratégia do compromisso mínimo Adiar decisões durante a procura

39 Exemplo dos sapatos Goal(RightShoeOn LeftShoeOn) Init() Action(RightShoe, PRECOND: RightSockOn, EFFECT: RightShoeOn) Action(RightSock, PRECOND:, EFFECT: RightSockOn) Action(LeftShoe, PRECOND: LeftSockOn, EFFECT: LeftShoeOn) Action(LeftSock, PRECOND:, EFFECT: LeftSockOn) Plano: combinar duas sequências de acções (1)leftsock, leftshoe (2)rightsock, rightshoe

40 Planeamento de ordem parcial(pop) Acções num plano com ordem de execução não determinada; planos com ordem total são uma linearização da ordem parcial

41 POP como problema de procura Estados são (tipicamente) planos inacabados Plano vazio contém apenas acções iniciar e terminar Cada plano tem 4 componentes: Um conjunto de acções (etapas do plano) Um conjunto de restrições de ordem: A < B Ciclos representam contradições Um conjunto de ligações causais Um plano não pode ser estendido com a adição de uma nova acção C que entra em conflito com uma ligação causal (se o efeito de C é p então C não pode vir depois de A e antes de B) Um conjunto de pré-condições abertas Pré-condições que ainda não foram alcançadas através de uma acção

42 POP como problema de procura Um plano é consistente se e só se não existem ciclos nas restrições de ordem e não existem conflitos com as ligações causais Um plano consistente sem pré-condições abertas é uma solução Um plano de ordem parcial é executado ao executar repetidamente qualquer uma das próximas acções possíveis Esta flexibilidade é vantajosa em ambientes não cooperativos

43 POP: como funciona Considerar problemas de planeamento proposicionais: O plano inicial contém Iniciar e Terminar, a restrição de ordem Iniciar < Terminar, não há ligações causais, todas as pré-condições em Terminar estão abertas Função sucessores: Escolher uma pré-condição p de uma acção B Gerar um plano sucessor para todas as formas consistentes de escolher uma acção A que permite obter p Teste objectivo

44 Exemplo: sapatos e peúgas

45 Consistência Ao gerar um plano sucessor: A relação causal e a restrição de ordem A < B é adicionada ao plano Se A é novo então adicionar também Start < A e A < Finish ao plano Resolver conflitos entre novas ligações causais e as acções existentes Resolver conflitos entre a acção A (se for nova) e todas as ligações causais existentes

46 Resumo do processo Operadores em planos parciais Adicionar uma ligação do plano existente para uma pré-condição aberta Adicionar uma acção para alcançar uma précondição Ordenar uma acção em relação a outra para evitar possíveis conflitos Gradualmente passar de planos vagos/ incompletos para planos completos/correctos Retroceder se uma pré-condição não pode ser alcançada ou se um conflito não for resolúvel

47 Resolução de conflitos Conflito: objectivos previamente adquiridos por ligação causal são anulados São resolvidos com restrições de ordem (<) Resolução de conflitos para relação causal Demoção: OperadorConflito < A Promoção: B < OperadorConflito

48 Promoção e Demoção S 1 c S 2 S 3 c S 3 S c 1 c S 1 c S 2 S 2 S 3 c (a) (b) Demotion (c) Promotion

49 Algoritmo POP

50 Algoritmo POP (cont.)

51 Exemplo: mundo dos blocos

52 Exemplo: mundo dos blocos

53 Exemplo: mundo dos blocos

54 Exemplo: mundo dos blocos PROMOÇÃO

55 Exemplo: mundo dos blocos

56 Exemplo: Pneu sobresselente Init(At(Flat, Axle) At(Spare,Trunk)) Goal(At(Spare,Axle)) Action(Remove(Spare,Trunk) PRECOND: At(Spare,Trunk) EFFECT: At(Spare,Trunk) At(Spare,Ground)) Action(Remove(Flat,Axle) PRECOND: At(Flat,Axle) EFFECT: At(Flat,Axle) At(Flat,Ground)) Action(PutOn(Spare,Axle) PRECOND: At(Spare,Ground) At(Flat,Axle) EFFECT: At(Spare,Axle) At(Spare,Ground)) Action(LeaveOvernight PRECOND: EFFECT: At(Spare,Ground) At(Spare,Axle) At(Spare,Trunk) At(Flat,Ground) At(Flat,Axle) )

57 Resolução do problema Plano inicial: START com EFEITO = Estado Inicial Finish com PRÉ-CONDIÇÃO = Objectivo

58 Resolução do problema Plano inicial: Start com EFEITO e Finish com PRÉ-CONDIÇÃO Escolher uma pré-condição aberta: At(Spare, Axle) Somente a acção PutOn(Spare, Axle) é aplicável Adicionar ligação causal: Adicionar restrição de ordem: PutOn(Spare, Axle) < Finish

59 Resolução do problema Escolher uma pré-condição aberta: At(Spare, Ground) Somente Remove(Spare, Trunk) é aplicável Adicionar ligação causal: Adicionar restrição de ordem: Remove(Spare,Trunk)<PutOn(Spare,Axle)

60 Resolução do problema Escolher uma pré-condição aberta: At(Flat, Axle) LeaveOverNight é aplicável Conflito: Para o resolver, adicionar restrição (DEMOÇÃO): LeaveOverNight < Remove(Spare, Trunk) Adicionar ligação causal:

61 Resolução do problema Escolher uma pré-condição aberta : At(Spare, Trunk) Somente Start é aplicável Adicionar ligação causal: Conflito: da ligação causal com o efeito At(Spare,Trunk) em LeaveOverNight Não é possível encontrar uma solução mesmo com restrições de ordem Retrocesso é a única saída!

62 Resolução do problema Remover LeaveOverNight, Remove(Spare, Trunk) e ligações causais Repetir passo com Remove(Spare,Trunk) Adicionar também Remove(Flat,Axle)

63 Mais um exemplo Op(ACTION: Go(there), PRECOND: At(here), EFFECT: At(there) At(here)) Op(ACTION: Buy(x), PRECOND: At(store) Sells(store,x) EFFECT: Have(x)) Start At(Home) Sells(SM, Banana) Have(Drill) Have(Milk) Sells(SM,Milk) Sells(HWS,Drill) Have(Banana) At(Home) Finish

64 Mais um exemplo Start Restrições de Ordem At(s), Sells(s,Drill) At(s), Sells(s,Milk) At(s), Sells(s,Bananas) Buy(Drill) Buy(Milk) Buy(Bananas) Have(Drill), Have(Milk), Have(Bananas), At(Home) Finish Start Relações Causais (incluem restrições de ordem) At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Milk) At(SM), Sells(SM,Bananas) Buy(Drill) Buy(Milk) Buy(Bananas) Have(Drill), Have(Milk), Have(Bananas), At(Home) Finish

65 Mais um exemplo At(x) Go(HWS) Start At (x) Go(SM) At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Milk) At(SM), Sells(SM,Bananas) Buy(Drill) Buy(Milk) Buy(Bananas) Have(Drill), Have(Milk), Have(Bananas), At(Home) Finish

66 Mais um exemplo Conflito não se resolve retroceder e fazer outra escolha At(Home) Start Go(HWS) Go(SM) At (Home) At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Milk) At(SM), Sells(SM,Bananas) Buy(Drill) Buy(Milk) Buy(Bananas) Have(Drill), Have(Milk), Have(Bananas), At(Home) Finish

67 Mais um exemplo At(Home) Go(HWS) 2. by promotion Start 1. Tentar ir de HWS para SM (i.e. alternativa para At(x)) At (HWS) Go(SM) At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Milk) At(SM), Sells(SM,Bananas) At(SM) Buy(Drill) Buy(Milk) Buy(Bananas) Go(Home) Have(Drill), Have(Milk), Have(Bananas), At(Home) Finish

68 Mais um exemplo Se em 2 usássemos At(HWS) ou At(Home), os conflitos não poderiam ser resolvidos.

69 Alguns pormenores O que acontece quando é usada uma representação em LPO que inclui variáveis? Complica o processo de detectar e resolver conflitos Podem ser solucionados introduzindo restrições de desigualdade CSPs: heurística da variável com mais restrições pode ser usada para os algoritmos de planeamento seleccionarem uma PRÉ-CONDIÇÃO

70 Planeamento O problema de planeamento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens para planeamento

71 Grafos de planeamento Estrutura de dados usada para obter estimativas mais precisas para as heurísticas Solução também pode ser directamente extraída usando o algoritmo GRAPHPLAN

72 Grafos de planeamento S 0 A 0 Consiste numa sequência de níveis que correspondem a instantes de tempo no plano S 0 é o estado inicial Cada nível (S i + A i ) consiste num conjunto de literais e num conjunto de acções S i = Literais ( ) = todos os literais que podem ser verdadeiros nesse instante de tempo, dependendo das acções executadas no instante de tempo anterior A i = Acções ( ) = todas as acções que podem ter as suas précondições satisfeitas nesse instante de tempo, dependendo dos literais verdadeiros nesse instante

73 Grafos de planeamento Significado de podem? Registo de apenas um sub-conjunto restrito de possíveis interacções negativas entre acções Funciona apenas para problemas proposicionais Exemplo em STRIPS: Init(Have(Cake)) Goal(Have(Cake) Eaten(Cake)) Action(Eat(Cake), PRECOND: Have(Cake) EFFECT: Have(Cake) Eaten(Cake)) Action(Bake(Cake), PRECOND: Have(Cake) EFFECT: Have(Cake))

74 Exemplo do bolo Início em S 0 Representa o estado inicial A 0 contém as acções cujas pré-condições são satisfeitas por S 0 Inacção é representada pela persistência de acções () Conflitos entre acções são representadas por relações mutex Representadas pelas linhas curvas a cinzento Representam exclusividade mútua: neste caso acção Eat(Cake) tem como efeitos Have(Cake) Eaten(Cake)

75 Exemplo do bolo S 1 contém todos os literais resultantes das acções em A 0 S 1 contém também relações mutex Contradições: Have(Cake) e Have(Cake), Eaten(Cake) e Eaten(Cake) Outros casos: Have(Cake) e Eaten(Cake), Have(Cake) e Eaten(Cake) Consequência de só poder ser escolhida uma acção em A 0

76 Exemplo do bolo Em A1 podem ter lugar as duas acções Relações mutex em A1 Contradições: Have(Cake) e Have(Cake), Eaten(Cake) e Eaten(Cake) Outros casos: Bake(Cake) e Have(Cake), Bake(Cake) e Eat(Cake), Eaten(Cake) e Eat(Cake)

77 Exemplo do bolo Continuar até que dois níveis consecutivos tenham os mesmos literais: grafo está leveled off Significa que expansão adicional é desnecessária

78 Exemplo do bolo Uma relação mutex é estabelecida entre duas acções quando: Inconsistência: uma acção nega o efeito da outra e.g. acções Eat(Cake) e Have(Cake) Interferência: um dos efeitos de uma acção é a negação da précondição de outra e.g. acções Eat(Cake) e Have(Cake) Competição: uma das pré-condições de uma acção é mutuamente exclusiva em relação à pré-condição de outra e.g. acções Eat(Cake) e Bake(Cake)

79 Exemplo do bolo Relação mutex entre dois literais (suporte inconsistente) quando: Um é a negação do outro Cada par de acções possível que podia produzir esses literais é mutex Em S 1 : literais Have(Cake) e Eaten(Cake) não são possíveis porque a única forma de obter Have(Cake) (acção Have(Cake) ) é incompatível com a única forma de obter Eaten(Cake) (acção Eat(Cake)) Em S 2 : literais Have(Cake) e Eaten(Cake) já são possíveis porque podem ser adquiridos por duas acções compatíveis (Bake(Cake) e Eaten(Cake))

80 Relações mutex: resumo INCONSISTÊNCIA uma acção nega o efeito da outra INTERFERÊNCIA um efeito nega uma pré-condição COMPETIÇÃO uma pré-condição nega outra SUPORTE INCONSISTENTE literais são efeito de acções mutex

81 Grafos de planeamento e heurísticas Planeamento com grafos disponibiliza informação sobre o problema Um literal que não aparece no nível final do grafo não pode ser alcançado por nenhum plano Útil para procura por retrocesso (custo = inf) Nível pode ser usado como estimativa do custo de alcançar literais objectivo = custo de nível Problema: podem ocorrer várias acções Restrição a uma acção usando grafos em série (adicionar ligações de exclusividade mútua entre cada par de acções, excepto para acções persistentes) Heurísticas: máximo nível, soma de níveis, Planeamento com grafos é um problema relaxado

82 Observações Como evoluem em número ao longo do grafo? Número de literais Número de acções Número de ligações mutex entre literais Número de ligações mutex entre acções Estas observações são importantes para garantir que se pode obter sempre uma solução recorrendo a grafos de planeamento

83 Observação 1 p p p p q A q A q A q r q r B q r B q r r r Número de literais aumenta monotonicamente literal que aparece uma vez aparece sempre daí para a frente por causa das acções de persistência ( aumentar monotonicamente significa que literais do nível i são subconjunto dos literais do nível i+1)

84 Observação 2 p p p p q A q A q A q r q r B q r B q r r r Número de acções aumenta monotonicamente uma acção que aparece uma vez aparece sempre daí para a frente como consequência dos literais aumentarem monotonicamente

85 Observação 3 p p p q r A q r q r Ligações mutex entre literais diminuem monotonicamente (considerando que acções/literais que não aparecem são mutex) porque número de literais e acções aumenta monotonicamente

86 Observação 4 p q B p q r s p q r s A C B C A p q r s B C A Ligações mutex entre acções diminuem monotonicamente (considerando que acções/literais que não aparecem são mutex) porque número de literais e acções aumenta monotonicamente

87 Observação 5 Grafo de planeamento levels off /nivela Após a expansão de alguns níveis os últimos níveis são todos iguais Como o espaço é finito (lógica proposicional!), o o número de literais nunca dimuniu e o número de relações mutex nunca aumenta

88 Obter plano a partir de grafo Um plano válido é obtido a partir de um grafo de planeamento nas seguintes condições: Objectivos são satisfeitos Acções num mesmo nível não interferem umas com as outras (não têm ligações mutex) As pré-condições de cada acção são satisfeitas pelo plano

89 Algoritmo GraphPlan: intuição Gerar o grafo de planeamento até que todos os objectivos sejam alcançados e não se excluam mutuamente Se entretanto o grafo fica levelled off sem que tal aconteça significa que não há solução Procurar um plano válido a partir do grafo Se não for encontrado, adicionar mais um nível ao grafo

90 Algoritmo GraphPlan Como extrair uma solução directamente de um grafo? função GRAPHPLAN(problema) devolve solução ou falha grafo GRAFO-INICIAL-PLANEAMENTO(problema) objectivos OBJECTIVOS[problema] loop se objectivos são todos não mutex no último nível do grafo então solução EXTRAI-SOLUÇÃO(grafo,objectivos,COMPRIMENTO(grafo)) se solução falha então devolve solução senão se NÃO-HÁ-SOLUÇÃO-POSSÍVEL(grafo) então devolve falha grafo EXPANDE-GRAFO(grafo, problema)

91 Procura no grafo Objectivos presentes e não mutex: Escolher acção para alcançar cada objectivo Adicionar pré-condições das acções ao conjunto de objectivos

92 Exemplo: Pneu sobresselente Init(At(Flat, Axle) At(Spare,Trunk)) Goal(At(Spare,Axle)) Action(Remove(Spare,Trunk) PRECOND: At(Spare,Trunk) EFFECT: At(Spare,Trunk) At(Spare,Ground)) Action(Remove(Flat,Axle) PRECOND: At(Flat,Axle) EFFECT: At(Flat,Axle) At(Flat,Ground)) Action(PutOn(Spare,Axle) PRECOND: At(Spare,Ground) At(Flat,Axle) EFFECT: At(Spare,Axle) Ar(Spare,Ground)) Action(LeaveOvernight PRECOND: EFFECT: At(Spare,Ground) At(Spare,Axle) At(Spare,Trunk) At(Flat,Ground) At(Flat,Axle) )

93 Exemplo GRAPHPLAN Inicialmente o plano consiste em 5 literais obtidos a partir do estado inicial (assumindo que o mundo é fechado) Adicionar acções cujas pré-condições sejam satisfeitas por EXPANDE- GRAFO (A 0 ) Adicionar acções de persistência e relações mutex Adicionar os efeitos no nível S 1 Repetir até que o objectivo esteja no nível S i

94 Exemplo GRAPHPLAN Em S 2, o literal objectivo existe e é não mutex em relação a qualquer outro literal Solução pode existir e EXTRAI-SOLUÇÃO tentará encontrá-la EXTRAI-SOLUÇÃO usa um algoritmo de procura: Estado inicial = último nível do grafo e objectivos do problema de planeamento Acções = qualquer selecção de acções não conflituosas que cubram os objectivos nesse estado Objectivo = alcançar o nível S 0 tal que os objectivos sejam satisfeitos Custo = 1 por cada acção

95 Exemplo GRAPHPLAN EXPANDE-GRAFO também procura relações mutex Efeitos inconsistentes E.g. Remove(Sobresselente,Bagageira) e DeixarDuranteANoite Interferência E.g. Remover(Furado,Eixo) e DeixarDuranteANoite Competição E.g. Colocar(Sobresselente,Eixo) e Remover(Furado,Eixo) Suporte inconsistente E.g. em S2, Em(Sobresselente,Eixo) e Em(Furado,Eixo)

96 GRAPHPLAN: solução

97 Exemplo GRAPHPLAN Termina? SIM Grafos de planeamento são monotonamente crescentes ou decrescentes: Literais aumentam monotonamente: um literal que apareça num estado aparece em todos os estados seguintes Acções aumentam monotonamente Mutexes diminuem monotonamente Devido a estas propriedades e ao facto de existir um número limitado de acções e literais, qualquer procura em grafo termina

98 Planeamento O problema de planeamento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens para planeamento

99 Planeamento com lógica proposicional (SAT): intuição Traduzir um problema de planeamento para lógica proposicional e aplicar um algoritmo para SAT para encontrar um modelo que corresponde a um plano válido

100 Planeamento com lógica proposicional (SAT) Planeamento com SAT: testar a satisfação de uma frase em lógica proposicional (na forma normal conjuntiva CNF): Frase contém proposições para a ocorrência de qualquer acção Um modelo atribui verdadeiro às acções que fazem parte do plano correcto e falso às outras Uma atribuição que corresponde a uma plano incorrecto não será um modelo porque entrará em conflito com a necessidade do objectivo ser verdadeiro Se não existir nenhum plano possível então a frase será não satisfazível (não há nenhuma solução possível)

101 Algoritmo SATPLAN: intuição Objectivo é encontrar um plano exequível no menor espaço de tempo Em que cada acção ou conjunto de acções realizadas em paralelo corresponde a uma unidade de tempo Começar com T=0 e codificar em CNF o estado inicial, o objectivo e as acções para T=0 Ir incrementando o valor de T até encontrar uma solução usando um algoritmo SAT A partir da solução obter plano

102 SATPlan: arquitectura Descrição do Problema: - estado inicial - estado objectivo - acções Mapeamento Codificação Fórmula CNF Solução não encontrada => aumentar comprimento do plano Plano Descodificação Solução encontrada SAT solver

103 Algoritmo SATPLAN função SATPLAN(problema, T max ) devolve solução ou falha inputs: problema, um problema de planeamento T max, um limite superior para o comprimento do plano para T = 0 T max cnf, mapeamento TRADUZ-PARA_SAT(problema, T) atribuição SAT-SOLVER(cnf) se atribuição não é vazia então devolve falha devolve EXTRAI-SOLUÇÃO(atribuição, mapeamento)

104 cnf,mapeamento TRADUZ-PARA_SAT(problema,T) Proposições diferentes para factos em cada instante de tempo Cada proposição tem um instante de tempo associado Em(A1,SFO) 0 Em(A2,JFK) 0 Não podemos assumir que o mundo é fechado logo temos que especificar que proposições não são verdadeiras Em(A1,JFK) 0 Em(A2,SFO) 0 Proposições desconhecidas não são especificadas Estado inicial está associado ao instante 0 Objectivo está associado ao instante T (comprimento do plano)

105 cnf,mapeamento TRADUZ-PARA_SAT(problema,T) Como determinar o instante de tempo T em que o objectivo será alcançado? Começar em T=0 Verificar Em(A1,JFK) 0 Em(A2,SFO) 0 Se falha... Tentar T=1 Verificar Em(A1,JFK) 1 Em(A2,SFO) 1 Repetir este processo até que um caminho de comprimento mínimo seja alcançado Terminação é assegurada por T max

106 cnf,mapeamento TRADUZ-PARA_SAT(problema,T) Como codificar acções em lógica proposicional? Versão proposicional dos axiomas de estado sucessor Em(A1,JFK) 1 (Em(A1,JFK) 0 (Voa(A1,JFK,SFO) 0 Em(A1,JFK) 0 )) (Voa(A1,SFO,JFK) 0 Em(A1,SFO) 0 ) Este tipo de axiomas é necessário para cada avião, aeroporto e instante de tempo Se tivermos mais aeroportos temos de acrescentar mais informação Uma vez construídos estes axiomas, um algoritmo para lógica proposicional (SAT) pode começar a procurar um plano

107 atribuição SAT-SOLVER(cnf) MAS... com esta codificação podem ser encontrados vários modelos que NÃO são satisfatórios: (para T=1) Voa(A1,SFO,JFK) 0 Voa(A1,JFK,SFO) 0 Voa(A2,JFK,SFO) 0 A segunda acção não é possível Ainda que o plano seja um modelo da frase Evitar acções impossíveis através de axiomas de précondição Voa(A1,JFK,SFO) 0 Em(A1,JFK) 0 Agora existe apenas um modelo que satisfaz todos os axiomas e para o qual o objectivo é alcançado em T=1

108 atribuição SAT-SOLVER(cnf) Avião pode voar para dois destinos ao mesmo tempo... Não devia ser possível! Voa(A1,SFO,JFK) 0 Voa(A2,JFK,SFO) 0 Voa(A2,JFK,LAX) 0 A terceira acção não é possível Ainda que um plano possa conter acções irrelevantes Evitar acções irrelevantes: axiomas de exclusividade de acções (Voa(A2,JFK,SFO) 0 Voa(A2,JFK,LAX) 0 ) Evita acções simultâneas Perca de flexibilidade porque o plano tem de ser totalmente ordenado: não podem ocorrer acções no mesmo instante de tempo Usar exclusões parciais limitadas a pré-condições: duas acções não podem ocorrer simultaneamente se uma delas nega a précondição ou efeito da outra

109 Planeamento O problema de planeamento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens para planeamento

110 Análise das abordagens de planeamento Planeamento é área de grande interesse em IA Procurar uma solução Provar construtivamente a existência de uma solução O maior problema é a possibilidade de uma explosão combinatória no número de estados Métodos eficientes em investigação E.g. dividir-para-conquistar

Grafos em planeamento

Grafos em planeamento Planeamento Enquadramento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens

Leia mais

Planeamento com procura em espaço de estados

Planeamento com procura em espaço de estados Planeamento Enquadramento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens

Leia mais

Baseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento. Capítulo 11 (disponível online)

Baseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento. Capítulo 11 (disponível online) Baseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento Capítulo 11 (disponível online) O que é o planeamento? Um sistema de planeamento consiste num algoritmo

Leia mais

Baseado nos slides de Tom Lenarts (IRIDIA) Planeamento. Capítulo 11 Online

Baseado nos slides de Tom Lenarts (IRIDIA) Planeamento. Capítulo 11 Online Baseado nos slides de Tom Lenarts (IRIDIA) Planeamento Capítulo 11 Online Planeamento O problema de planeamento: linguagens Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos

Leia mais

Baseado nos slides de Tom Lenarts (IRIDIA) e Lin Zuoquan(PeckingUniversity) Capítulo 11

Baseado nos slides de Tom Lenarts (IRIDIA) e Lin Zuoquan(PeckingUniversity) Capítulo 11 Baseado nos slides de Tom Lenarts (IRIDIA) e Lin Zuoquan(PeckingUniversity) Planeamento Capítulo 11 Planeamento Enquadramento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento

Leia mais

Planeamento Clássico

Planeamento Clássico Planeamento Clássico Sumário O que é Planeamento (clássico) Linguagens Representação para Planeamento Planeamento com Procura em Espaço de Estados Procura para a frente Procura para trás Heurísticas para

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 12 Planejamento Edirlei Soares de Lima Introdução Agentes vistos anteriormente: Agentes baseados em busca. Busca cega; Busca heurística; Busca

Leia mais

lnteligência Artificial Planejamento

lnteligência Artificial Planejamento lnteligência Artificial Planejamento 1 Planejamento:Conceitos básicos A tarefa de apresentar uma seqüência de ações que alcançarão um objetivo é chamada planejamento. Vimos até agora dois exemplos de agentes

Leia mais

lnteligência Artificial

lnteligência Artificial lnteligência Artificial Planejamento 1 Planejamento:Conceitos básicos Planejador: objetiva encontrar um plano que permita um agente executar uma tarefa, a partir de uma situação inicial. Plano: seqüência

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 11 Planejamento Edirlei Soares de Lima Agentes Vistos Anteriormente Agentes Baseados em Busca. Busca cega; Busca heurística; Busca local; Agentes

Leia mais

istemas Inteligentes, Start Start Initial State LeftShoeOn, RightShoeOn Goal State Finish Finish

istemas Inteligentes, Start Start Initial State LeftShoeOn, RightShoeOn Goal State Finish Finish istemas Inteligentes, 12-13 1 Initial State Goal State On, On (a) (b) istemas Inteligentes, 12-13 2 Total Order Plans: Partial Order Plan: On On On, On istemas Inteligentes, 12-13 3 Soluções: Representações

Leia mais

Grafos de Planejamento

Grafos de Planejamento Grafos de Planejamento O planejador Graphplan Grafo de Planejamento [Blum&Furst 1997] Grafo de níveis: seqüência de níveis que correspondem a passos de tempo no plano. Nível 0 é o estado inicial. níveli:

Leia mais

Situações como resultados de ações no mundo. Wumpus

Situações como resultados de ações no mundo. Wumpus Situation Calculus planejamento como dedução em lógica de primeira ordem Estado inicial é uma situação; Result(s, a) é uma situação, para o estado s e a ação a; Estados são situações uma situação é gerada

Leia mais

Geração de Planos (Planning) May 14, 2015

Geração de Planos (Planning) May 14, 2015 Geração de Planos (Planning) May 14, 2015 Uma vez tendo estabelecido um conjunto de estados e construído um modelo completo e correto, precisamos traçar um plano de ação de forma que o agente possa seguir

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 11 Planejamento Introdução Agentes vistos anteriormente: Agentes baseados em busca. Busca cega; Busca heurística; Busca

Leia mais

Planejamento de Ordem Parcial

Planejamento de Ordem Parcial Planejamento de Ordem Parcial Profa. Josiane David Poole, Alan Mackworth e Randy Goebel - Computational Intelligence A logical approach - cap. 8 setembro/2007 1 Planejamento de ordem parcial (POP) As ações

Leia mais

PCS 3438 / PCS 3838 Inteligência Artificial

PCS 3438 / PCS 3838 Inteligência Artificial PCS 3438 / PCS 3838 Inteligência Artificial Prof. Dr. Jaime Simão Sichman Prof. Dra. Anna Helena Reali Costa Prof. Dra. Anarosa Alves Franco Brandão Planejamento Planejamento 1. Introdução 2. Planejamento

Leia mais

Planejamento de Ordem Parcial

Planejamento de Ordem Parcial Planejamento de Ordem Parcial Profa. Josiane David Poole, Alan Mackworth e Randy Goebel - Computational Intelligence A logical approach - cap. 8 Stuart Russel e Peter Norving - Inteligência Artificial

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 10 Planejamento Edirlei Soares de Lima Agentes Vistos Anteriormente Agentes Baseados em Busca. Busca cega; Busca heurística; Busca local; Agentes

Leia mais

Capítulo 5 Planejamento no espaço de planos

Capítulo 5 Planejamento no espaço de planos Planejamento em Inteligência Artificial Capítulo 5 Planejamento no espaço de planos Leliane Nunes de Barros MAC5788 IME-USP 2005 Motivação Problema com a busca de um caminho no grafo de um sistema de transição

Leia mais

Inteligência Artificial. Inteligência Artificial

Inteligência Artificial. Inteligência Artificial Inteligência Artificial Planeamento Parte 1 Agenda Introdução Resolução de Problemas versus Planeamento Planeamento com Cálculo C Situacional Linguagem STRIPS Parte 2 Mundo de Blocos Anomalia de Sussman

Leia mais

Inteligência Artificial

Inteligência Artificial Planejamento:onceitos básicos lnteligência rtificial Planejamento tarefa de apresentar uma seqüência de ações que alcançarão um objetivo é chamada planejamento. Vimos até agora dois exemplos de agentes

Leia mais

Planejamento em IA. Blackbox Graphplan + SATplan. Leliane Nunes de Barros

Planejamento em IA. Blackbox Graphplan + SATplan. Leliane Nunes de Barros Planejamento em IA Blackbox Graphplan + SATplan Introdução SATplan métodos para compilar problemas de planejamento em fórmulas proposicionais (CNF) resolvidas por algoritmos SAT sistemáticos e estocásticos.

Leia mais

Planejamento. CAP Inteligência Artificial. INPE Período I/2006

Planejamento. CAP Inteligência Artificial. INPE Período I/2006 Planejamento CAP 354-3 Inteligência Artificial INPE Período I/2006 Definição Planejamento tarefa de apresentar uma seqüência de ações para alcançar um objetivo Um agente (agente planejador) pode: construir

Leia mais

Planejamento em Inteligência Artificial

Planejamento em Inteligência Artificial Planejamento em Inteligência Artificial Anderson Amorim Lucas Leal Maíra Freitas Ricardo Igor Thiago Bomfim Túlio Miranda Departamento de Ciência da Computação Universidade Federal da Bahia (UFBA) Introdução

Leia mais

PROCURA E PLANEAMENTO

PROCURA E PLANEAMENTO 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.

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 10 Planejamento Edirlei Soares de Lima Agentes Vistos Anteriormente Agentes Baseados em Busca. Busca cega; Busca heurística; Busca local; Agentes

Leia mais

Planejamento & Escalonamento O algoritmo FF-métrico. Aldebaran Perseke 3 de abril de 2003

Planejamento & Escalonamento O algoritmo FF-métrico. Aldebaran Perseke 3 de abril de 2003 Planejamento & Escalonamento O algoritmo FF-métrico Aldebaran Perseke aldeba@ime.usp.br 3 de abril de 2003 Planejamento & Escalonamento Problemas de planejamento e escalonamento envolvem os seguintes aspectos:

Leia mais

Planejamento de Ordem Parcial. (ou planejamento como busca no espaço de planos) Revisão baseada no livro AIMA. Leliane Nunes de Barros

Planejamento de Ordem Parcial. (ou planejamento como busca no espaço de planos) Revisão baseada no livro AIMA. Leliane Nunes de Barros Planejamento de Ordem Parcial (ou planejamento como busca no espaço de planos) Revisão baseada no livro AIMA Leliane Nunes de Barros Introdução O que é planejamento? Artigo recomendado: A Review of AI

Leia mais

Planejamento de Decomposição Hierárquica. Capítulo 12

Planejamento de Decomposição Hierárquica. Capítulo 12 1 Planejamento de Decomposição Hierárquica Capítulo 12 2 Composição de ações Initial State: At(Home) and Sells(HWS,Drill) and Sells(SM,Milk) and Sells(SM,Banana) Go(SM) Go(HWS) Buy(Milk) Buy(Banana) Buy(Drill)

Leia mais

Inteligência Artificial

Inteligência Artificial Repescagem Segundo Teste 31 de Janeiro de 2014 10:30-12:00 1.º Enunciado Esta prova é constituída por 5 enunciados separados. Preencha cuidadosamente o nome e número na primeira página de cada um dos enunciados.

Leia mais

Planejamento. CAP Inteligência Artificial. INPE Período I/2004

Planejamento. CAP Inteligência Artificial. INPE Período I/2004 Planejamento CAP 354-3 Inteligência Artificial INPE Período I/2004 Definição Planejamento tarefa de apresentar uma seqüência de ações para alcançar um objetivo Um agente (agente planejador) pode: construir

Leia mais

istemas Inteligentes,

istemas Inteligentes, istemas Inteligentes, 12-13 1 Cap. 11: PLANNING Uma vez tendo estabelecido um conjunto de estados e construído um modelo completo e correto, precisamos traçar um plano de ação de forma que o agente possa

Leia mais

IA - Planejamento I. Professor Paulo Gurgel Pinheiro. 11 de Novembro de 2010

IA - Planejamento I. Professor Paulo Gurgel Pinheiro. 11 de Novembro de 2010 IA - I Professor Paulo Gurgel Pinheiro MC906A - Inteligência Articial Instituto de Computação Universidade Estadual de Campinas - UNICAMP 11 de Novembro de 2010 1 / 54 http://www.ic.unicamp.br/ pinheiro/

Leia mais

INTELIGÊNCIA ARTIFICIAL

INTELIGÊNCIA ARTIFICIAL INTELIGÊNCIA ARTIFICIAL Segundo Exame 11 de Julho 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.

Leia mais

Grafos de Planejamento. iane Nunes de Barros. Adaptado de Lectures Slides of Automated Planning: theory and practice (

Grafos de Planejamento. iane Nunes de Barros. Adaptado de Lectures Slides of Automated Planning: theory and practice ( Grafos de Planejamento Grafo de Planejamento: motivação Uma das razões da ineficiência dos algoritmos de busca é o fator de ramificação da árvore de busca, isto é, o número de filhos de cada nó Por exemplo:

Leia mais

Satisfação de Restrições. Capítulo 5 (disponível online)

Satisfação de Restrições. Capítulo 5 (disponível online) Satisfação de Restrições Capítulo 5 (disponível online) Sumário Problemas de Satisfação de Restrições (CSPs) Procura com Retrocesso para CSPs Procura Local para CSPs Estrutura dos CSPs Problemas de Satisfação

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Algoritmos em Grafos Estruturas de Dados para Conjuntos Disjuntos Programação Linear Programação Dinâmica Algoritmos Greedy

Leia mais

Planeamento em Robótica

Planeamento em Robótica PLANEAMENTO AUTOMÁTICO - Em Inteligência Artificial, Geração Automática de Planos estuda a resolução de um problema original através da decomposição em subproblemas mais elementares, propondo uma resolução

Leia mais

PROCURA E PLANEAMENTO

PROCURA E PLANEAMENTO PROCURA E PLANEAMENTO Primeiro Exame 20 de Janeiro de 2009 17:00-19:30 Este exame é composto por 14 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.

Leia mais

Inteligência Artificial Taguspark

Inteligência Artificial Taguspark Inteligência Artificial Taguspark Repescagem do Segundo Teste 22 de Julho de 2006 9H00-10H30 Nome: Número: Este teste tem 10 perguntas e 10 páginas. Escreva o número em todas as páginas. Deve ter na mesa

Leia mais

Satisfação de Restrições. Capítulo 5 (disponível online)

Satisfação de Restrições. Capítulo 5 (disponível online) Satisfação de Restrições Capítulo 5 (disponível online) Sumário Problemas de Satisfação de Restrições (CSPs, do Inglês Constraint Satisfaction Problems ) Procura com Retrocesso para CSPs Procura Local

Leia mais

Inteligência Artificial - IA. Resolução de problemas por meio de busca

Inteligência Artificial - IA. Resolução de problemas por meio de busca Resolução de problemas por meio de busca 1 Agente reativo - definido por ação reação Agente de resolução de problemas (ou baseado em objetivos) encontra sequencias de ações que leva ao estado desejável.

Leia mais

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34 Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais

Leia mais

Agentes Lógicos. Capítulo 7 (online)

Agentes Lógicos. Capítulo 7 (online) Agentes Lógicos Capítulo 7 (online) Sumário Agentes baseados em conhecimento O mundo do Wumpus Lógica em geral Lógica proposicional (Booleana) Equivalência, validade, satisfação Regras de inferência e

Leia mais

lnteligência Artificial

lnteligência Artificial lnteligência Artificial Busca Heurística - Informada Estratégias de Busca Heurística Usam conhecimento específico do problema na busca da solução Mais eficientes que busca não informada Busca Informada

Leia mais

Inteligência Artificial Alameda e Taguspark

Inteligência Artificial Alameda e Taguspark Inteligência Artificial Alameda e Taguspark Repescagem do Segundo Teste 13 de Feveiro de 2009 17H00-17H30 Nome: Número: Este teste tem 8 perguntas e 7 páginas. Escreva o número em todas as páginas. Deve

Leia mais

Métodos de Verificação

Métodos de Verificação Método de Na construção de derivações no sistema de cálculo de sequentes: Na aplicação de cada regra, só a manipulação referente à fórmula principal é informativa. A cópia dos contextos revela-se assim

Leia mais

INTELIGÊNCIA ARTIFICIAL

INTELIGÊNCIA ARTIFICIAL INTELIGÊNCIA ARTIFICIAL Primeiro Teste 29 de Outubro de 2011 17:00-18:30 Este teste é composto por 9 páginas contendo 11 perguntas. Para perguntas com resposta de escolha múltipla, respostas erradas com

Leia mais

Inteligência Artificial Capítulo 4. Planejamento em. Espaço de Estados

Inteligência Artificial Capítulo 4. Planejamento em. Espaço de Estados Planejamento em Inteligência Artificial Capítulo 4 Planejamento em Espaço de Estados José de Jesús Pérez-Alcázar MAC 5788 - IME/USP segundo semestre de 2005 Motivação Quase todos os procedimentos de planejamento

Leia mais

1 Lógica de primeira ordem

1 Lógica de primeira ordem 1 Lógica de primeira ordem 1.1 Sintaxe Para definir uma linguagem de primeira ordem é necessário dispor de um alfabeto. Este alfabeto introduz os símbolos à custa dos quais são construídos os termos e

Leia mais

PROCURA E PLANEAMENTO

PROCURA E PLANEAMENTO PROCURA E PLANEAMENTO Primeiro Exame 13 de Janeiro de 2007 11:00-13:30 Este exame é composto por 13 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.

Leia mais

Algoritmos Greedy. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/ / 40

Algoritmos Greedy. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/ / 40 Algoritmos Greedy Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/2015 1 / 40 Algoritmos Greedy Vamos falar de algoritmos greedy. Em português são conhecidos como: Algoritmos

Leia mais

Representação do Conhecimento

Representação do Conhecimento Baseado nos slides de Tom Lenarts (IRIDIA) Representação do Conhecimento Capítulo 10 Sumário Engenharia Ontológica Categorias e objectos Acções, situações e eventos Conhecimento sobre crenças O mundo de

Leia mais

Inteligência Artificial Alameda e Taguspark

Inteligência Artificial Alameda e Taguspark 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

Leia mais

Lógica Computacional Aula 4

Lógica Computacional Aula 4 Lógica Computacional Aula 4 DCC/FCUP 2017/18 Conteúdo 1 Lógica proposicional 1 1.1 Fórmulas de Horn.......................................... 1 1.2 Satisfazibilidade............................................

Leia mais

Lógica Computacional (CC2003)

Lógica Computacional (CC2003) Lógica Computacional (CC2003) Nelma Moreira Lógica Computacional 21 Conteúdo 1 Mais Teorias (decidíveis) 1 1.1 Resolução para a lógica proposicional................ 4 1.2 Cláusulas...............................

Leia mais

Universidade Estadual de Maringá Departamento de Informática Disciplina Inteligência Artificial Profa. Josiane

Universidade Estadual de Maringá Departamento de Informática Disciplina Inteligência Artificial Profa. Josiane Universidade Estadual de Maringá Departamento de Informática Disciplina 1018 - Inteligência Artificial Profa. Josiane Lista de Exercícios para o 3º bimestre: Problemas de Satisfação de Restrição Representação

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Segundo Teste 31 de Janeiro de 2014 08:00-11:00 A 1.º Enunciado Esta prova é constituída por 3 enunciados separados. Preencha cuidadosamente o nome e número na primeira página de

Leia mais

Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da

Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da istemas de Apoio à Decisão Clínica, 09-1 1 Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da semântica. Importante: distinguir entre os fatos e sua representação

Leia mais

Inteligência Artificial 2008/09 E z D

Inteligência Artificial 2008/09 E z D /Jan/009 9h-h Inteligência Artificial 008/09 DI/FCT/UNL, Duração: 3h Exame: Época Normal GRUP I I.) Considere o seguinte grafo de estados de um problema de procura. s valores apresentados nos arcos correspondem

Leia mais

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur Capítulo 2 Lógica Proposicional Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo

Leia mais

Busca com informação e exploração. Inteligência Artificial

Busca com informação e exploração. Inteligência Artificial Busca com informação e exploração (Capítulo 4 - Russell) Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura Busca pela melhor escolha Busca gulosa pela melhor escolha Busca

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional Frases Quantificadas Quantificadores e Variáveis Fórmulas Bem Formadas: Sintaxe e Semântica Formas Aristotélicas 21 Outubro 2013 Lógica Computacional 1 Frases Quantificadas - Existem

Leia mais

Inteligência Artificial IA IV. RACIOCÍNIO BASEADO EM REGRAS

Inteligência Artificial IA IV. RACIOCÍNIO BASEADO EM REGRAS Inteligência Artificial IA Prof. João Luís Garcia Rosa IV. RACIOCÍNIO BASEADO EM REGRAS Parte 2 2004 Um Sistema de Dedução Regressivo Uma propriedade importante da lógica é a dualidade entre asserções

Leia mais

INTELIGÊNCIA ARTIFICIAL 2008/09

INTELIGÊNCIA ARTIFICIAL 2008/09 INTELIGÊNI RTIFIIL 2008/09 PROUR 1) onsidere o problema da torre de Hanoi com discos. Neste problema, existem três pinos, e e discos de diâmetros diferentes, estando no início todos os discos colocados

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional Lógica de Operadores Booleanos Interpretações Tautológicas, Lógicas e Analíticas Funcionalidade / Tabelas de Verdade dos Operadores Booleanos Consequências Tautológica, Lógica e Analítica

Leia mais

PROCURA E PLANEAMENTO

PROCURA E PLANEAMENTO PROCURA E PLANEAMENTO Primeiro Exame 31 de Janeiro de 2006 17:00-19:00 Este exame é composto por 12 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Segundo Teste 15 de Janeiro de 2014 9:00-10:30 Este teste é composto por 11 páginas contendo 7 grupos de perguntas. Para perguntas com resposta de escolha mu ltipla, respostas erradas

Leia mais

Exercícios de Procura e Planeamento 2013/2014

Exercícios de Procura e Planeamento 2013/2014 Exercícios de Procura e Planeamento 203/204 Fausto lmeida ula Prática de PP apítulo 2 apítulo 2 Estratégias ásicas de Procura Heurística Exercício onsidere o seguinte espaço de estados, com estado inicial,

Leia mais

Procura Informada. Capítulo 4

Procura Informada. Capítulo 4 Procura Informada Capítulo 4 Sumário Procura Melhor Primeiro Procura Gananciosa Procura A * Heurísticas Procura local Árvore de Procura Uma estratégia de procura determina a ordem de expansão dos nós As

Leia mais

Usar a implementação Prolog do A*

Usar a implementação Prolog do A* Usar a implementação Prolog do A* 2018/09/16 O algoritmo A* serve para resolver problemas. Basicamente, descobre a sequência de passos necessários para converter um estado inicial num estado final (ou

Leia mais

2284-ELE/5, 3316-IE/3

2284-ELE/5, 3316-IE/3 INTELIGÊNCIA ARTIFICIAL 2284-ELE/5, 3316-IE/3 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2007/2008 Resolução de Problemas No âmbito da IA, o conceito de problema pode

Leia mais

Problema do Planeamento

Problema do Planeamento Geração Automática de Planos Metodologias de Inteligência Artificial 2005/2006 Problema do Planeamento Geração automática de Planos ( Planning ) Estudo e uso dos métodos de decomposição de um problema

Leia mais

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01 . CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01 Créditos: alguns itens desta lista são adaptados do material da disciplina CS188 - Artificial Intelligence

Leia mais

Complementos de Investigação Operacional. Folha nº 1 Programação Inteira 2007/08

Complementos de Investigação Operacional. Folha nº 1 Programação Inteira 2007/08 Complementos de Investigação Operacional Folha nº Programação Inteira 2007/08 - A Eva e o Adão pretendem dividir entre eles as tarefas domésticas (cozinhar, lavar a louça, lavar a roupa, fazer as compras)

Leia mais

Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: f=7 f=7 f=1 f=2

Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: f=7 f=7 f=1 f=2 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

Leia mais

Introdução à Programação. João Manuel R. S. Tavares

Introdução à Programação. João Manuel R. S. Tavares Introdução à Programação João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Program João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de um programa.

Leia mais

Busca Cega (Exaustiva) e Heurística. Busca Aula 2

Busca Cega (Exaustiva) e Heurística. Busca Aula 2 Busca Cega (Exaustiva) e Heurística Busca Aula 2 Ao final desta aula a gente deve saber: Conhecer as várias estratégias de realizar Busca não-informada (Busca Cega) Determinar que estratégia se aplica

Leia mais

Técnicas Inteligência Artificial

Técnicas Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas Inteligência Artificial Aula 03 Métodos de Busca Parte 1 Prof. Max Pereira Solução de Problemas como Busca Um problema pode ser considerado

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/26 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional DCC/FCUP 2018/19 Conteúdo 1 Introdução à Programação em Lógica 1 1.1 Fórmulas de Horn.......................................... 1 1.2 Satisfazibilidade de Cláusulas....................................

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Primeiro Teste 29 de Outubro de 2014 18:00-19:30 Este teste é composto por 8 páginas contendo 7 grupos de perguntas. Para perguntas com resposta de escolha múltipla, respostas erradas

Leia mais

Nelma Moreira. Aula 17

Nelma Moreira. Aula 17 Lógica e Programação Nelma Moreira Aula 17 Conteúdo 1 Programação em Lógica 1 1.1 Resolução para a lógica proposicional................ 1 1.2 Cláusulas............................... 3 1.3 Conversão para

Leia mais

método de solução aproximada

método de solução aproximada método de solução aproximada Definir - Representação - Objectivo - Função de avaliação 73 Representação do problema - Definição das variáveis de decisão do modelo escolhido para o problema real. Importante

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Compleidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Reduções de Problemas X NP-Completo

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Conceitos Básicos Profa. Márcia Cristina Moraes Profa.Milene Selbach Silveira Material para estudo: Forbellone, A. e Eberspächer, H. (2005) capítulos 1 e 2 (até atribuição)

Leia mais

Buscas Informadas ou Heurísticas - Parte II

Buscas Informadas ou Heurísticas - Parte II Buscas Informadas ou Heurísticas - Parte II Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Graduação em Ciência da Computação / 2006 FUNÇÕES HEURÍSTICAS - 1/7 FUNÇÕES HEURÍSTICAS - 2/7 Solução

Leia mais

Resolução de Problemas de Busca

Resolução de Problemas de Busca Resolução de Problemas de Busca 1 Ao final desta aula a gente deve Compreender o que é um problema de busca em IA Ser capaz de formulá-lo Conhecer algumas aplicações Entender como buscar a solução do problema

Leia mais

Complementos de Investigação Operacional. Folha nº 1 Programação Inteira 2006/07

Complementos de Investigação Operacional. Folha nº 1 Programação Inteira 2006/07 Complementos de Investigação Operacional Folha nº Programação Inteira 2006/07 - A Eva e o Adão pretendem dividir entre eles as tarefas domésticas (cozinhar, lavar a louça, lavar a roupa, fazer as compras)

Leia mais

LERCI/LEIC TAGUSPARK INTELIGÊNCIA ARTIFICIAL 2005/06 PROCURA

LERCI/LEIC TAGUSPARK INTELIGÊNCIA ARTIFICIAL 2005/06 PROCURA LERI/LEI TGUSPRK INTELIGÊNI RTIFIIL 005/06 PROUR ) onsidere o espaço de estados definido pelo estado inicial,, e pela função que gera os sucessores de um estado, sucessores(n)={n, n+}. onsiderando o estado

Leia mais

Indução. Método de Prova por Indução. Jon Barwise e John Etchemendy, Capítulo: 16

Indução. Método de Prova por Indução. Jon Barwise e John Etchemendy, Capítulo: 16 Indução Método de Prova por Indução Referência: Capítulo: 16 Language, Proof and Logic Jon Barwise e John Etchemendy, 2008 1 Indução Métodos de prova já vistos relacionam-se diretamente com as propriedades

Leia mais

Inteligência Artificial

Inteligência Artificial Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Pós-Graduação

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 1 de novembro de 2018 Marco Antonio

Leia mais

Lógica Proposicional

Lógica Proposicional Lógica Proposicional Lógica Computacional Carlos Bacelar Almeida Departmento de Informática Universidade do Minho 2007/2008 Carlos Bacelar Almeida, DIUM LÓGICA PROPOSICIONAL- LÓGICA COMPUTACIONAL 1/28

Leia mais