Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGabriel Henrique Ramalho Dreer Alterado mais de 8 anos atrás
1
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE
2
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 2 Roteiro Lógica e Planejamento –STRIPS –Cálculo de Situações –Cálculo de Eventos Abdução + Calculo de Eventos Planejamento como Satisfação Resolução de Restrições Atualização de BD Dedutivo Comparações
3
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 3 Lógica e Planejamento Codificar problema em alguma lógica Aplicar um provador de teoremas –Extrair plano a partir das provas Vantagens –Semântica declarativa –Complexidade já determinada –Reuso de técnicas de implementações de provadores de teorema e compiladores de programas em lógica Desvantagem –Mais lento? Como representar tempo, estados e ações?
4
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 4 Exemplo de Problema A B C B A C
5
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 5 STRIPS STanford Research Institute Problem Solver Linguagem Restrita –Específica para planejamento –Hipótese do mundo fechado Algoritmo Específico para linguagem
6
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 6 STRIPS Estados e Objetivo –conjunção de literais sem variáveis e funções –sobre(A,B) Ação –ação + precondições + efeitos –Exemplo: mover(Bloco,De,Para) Precondicoes: Limpo(Para) Limpo(Bloco) Sobre(Bloco,De) Efeitos: sobre(Bloco,De) sobre(Bloco,Para)
7
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 7 Calculo de Situações Linguagem de Propósito Geral –lógica da primeira ordem –hipótese do mundo aberto Representação baseada em situações e ações do(A,S) –A: ação –S: estado anterior –do(A,S): novo estado –função parcial –predicado independente do domínio –permite implementar raciocínio monotónico reusando máquinas de inferência monotónicas –reifica fórmulas da lógica ao nível meta como termos lógicos Máquina de inferência: provador de teorema da lógica da 1 a ordem
8
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 8 Calculo de Situações Estado Inicial: Sobre(B,A,S 0 ) Sobre(C,Mesa,S 0 ) Limpo(B,S 0 ) Limpo(C,S 0 ) Descrição Geral: Limpo(y,s) Sobre(x,y,s) (y=Mesa) Efeitos: Sobre(x,z,do(move(x,y,z),s)) (x=z) Limpo(z,s) Limpo(x,s) Sobre(x,y,s) Frame Problem: Limpo(u,do(move(x,y,z),s)) (u=z), limpo(u,s)
9
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 9 Calculo de Situações Estado Final + Axiomas + Estado Inicial Objetivo Tenta Provar Objetivo –Sobre(A,C,s) Limpo(A,s) Limpo(B,s) Sobre(B,Mesa,s) Sobre(C,Mesa,s) Estado obtido representa ações –do(mover(A,Mesa,C), do(mover(B,A,Mesa),s 0 ))
10
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 10 Calculo de Situações Lado Negativo –Problema do Frame Representação Explicita –Expressividade limitada Sem representação de intervalos de tempo Sem ações concorrentes Lado Positivo –Lógica madura –Vários provadores de teorema
11
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 11 Calculo de Eventos Linguagem de Propósito Geral –Lógica de Horn da primeira ordem –Mundo Fechado –Duas classes de cláusulas: As independentes do dóminio axiomatizando raciocínio monotónico em cima de raciocínio monotónico As particulares a cada domínio –Ambas reificam fórmulas da lógica ao nível meta como termos lógicos Representação explicita do Tempo Máquina de Inferência subjacente: Prolog
12
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 12 Calculo de Eventos Mudanças modeladas como eventos –Happens(E,T) –Evento E acontece no tempo T Estados modelados usando Fluentes e proposições estáticas –HoldsAt(F,T) –F é verdade no tempo T –E declarado como fato lógico é sempre verdade Estado Inicial –Initially(F) –Inicialmente F é verdade
13
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 13 Calculo de Eventos Conseqüências e Condições da ação –Initiates(F,F,T) Condições Evento E Torna F verdadeiro no tempo T –Terminates(E,F,T) Condições Evento E Torna F falso no tempo T –Condições: conjunção de literais
14
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 14 Calculo de Eventos Axiomas independentes do domínio: –Resolvem Problema do Frame HoldsAt(f,t) Initially(f) Clipped(0,f,t) HoldsAt(f,t2) Happens(a,t1) t1< t2 Initiates(a,f,t1) Clipped(t1,f,t2) Clipped(t1,f,t2) Happens(a,t) Terminates(a,f,t) t1<t t<t2
15
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 15 Calculo de Eventos Axiomas específicas do mundo do blocos Estado Inicial: Sobre(B,A,0) Sobre(C,Mesa,0) Limpo(B,0) Limpo(C,0) Regras: Initiates(mover(x,y,z),sobre(x,z),t) HoldsAt(Limpo(z),t) HoldsAt(Limpo(x),t) HoldsAt(Sobre(x,y),t) (x=z) Terminates(mover(x,y,z),sobre(x,y),t) HoldsAt(Limpo(z),t) HoldsAt(Limpo(x),t) HoldsAt(Sobre(x,y),t) (x=z)
16
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 16 POP x Cálculo de Eventos Clipped e declipped negadosCausal-links / protected intervals Happens(a,t) ordenados por before(t1,t2) Elementos do Plano Ação a descrita por predicados: Initiates(a,f,t) :- Terminates(a,f,t) :- Releases(a,f,t) :- Mudanças no Estado Um conjunto de fluentes (f 1,...,f n )Descrição do Estado Estado InicialInitially(f)
17
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 17 Roteiro Lógica e Planejamento –STRIPS –Cálculo de Situações –Cálculo de Eventos Abdução + Calculo de Eventos Planejamento como Satisfação Resolução de Restrições Atualização de BD Dedutivo Comparações
18
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 18 Calculo de Eventos (Initiates + Terminates) Ações Estado Inicial Axiomas Objetivo Ações: Happens(a,t) Solução por Abdução: -Dado: -Conclusão: objetivo a atingir -Premissas conhecidas: Estado Inicial, Descrição do Domínio (Initiates e Terminates), e Axiomas Gerais do Cálculo -Abduzir: -Premissa desconhecida: ações a efetuar (i.e., plano)
19
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 19 Abdução Premissas Conhecidas + Premissas Desconhecidas Conclusão Inverso da dedução: tenta descobrir causa a partir do efeito Sobre(A,B) Limpo(C) ? Sobre(A,C) ? = Limpo(A)
20
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 20 Abdução + Calculo de Eventos Efeitos das Ações Ações Axiomas Estado Inicial Objetivo –tenta abduzir ações –happens, before Exemplo: Meta-Interpretador Prolog
21
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 21 Meta-Interpretador Demo([]). Demo([G|GS]) :- axiom(G,Gs2), append(Gs2,Gs1,Gs3), demo(Gs3). Demo([not(G)|Gs]) :- not demo([G]), demo(Gs). Onde: Axiom(H,[B1,...,Bn]) se H :- B1,...,Bn
22
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 22 Meta-Interpretador holds_at(F,T3) : happens(A,T1,T2), T2 < T3, initiates(A,F,T1), not clipped(T1,F,T2). demo([holds_at(F,T3)|Gs1]) : axiom(initiates(A,F,T1),Gs2), axiom(happens(A,T1,T2),Gs3), axiom(before(T2,T3),[]), demo([not clipped(T1,F,T3)]), append(Gs3,Gs2,Gs4), append(Gs4,Gs1,Gs5), demo(Gs5).
23
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 23 Meta-Interpretador Transformando em Meta-Interpretador para abdução –Resíduo Inicial –Resíduo Final –Literais Negados abdemo([],R,R,N). abdemo([G|Gs],R1,R3,N) : abducible(G), abdemo_nafs(N,[G|R1],R2), abdemo(Gs,R2,R3,N). abdemo([G|Gs1],R1,R2,N) : axiom(G,Gs2), append(Gs2,Gs1,Gs3), abdemo(Gs3,R1,R2,N). abdemo([not(G)|Gs],R1,R3,N) : abdemo_naf([G],R1,R2), abdemo(Gs,R2,R3,[[G]|N]).
24
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 24 Meta-Interpretador abdemo_nafs: –para cada item N da lista de negados –provar que N Resíduo Fatos é verdade –N é uma lista [p 0,...,p n ] onde N :- p 0,...,p n –É necessário provar apenas que um p i é verdadeiro
25
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 25 Meta-Interpretador holds_at(F,T3) : happens(A,T1,T2), T2 < T3, initiates(A,F,T1), not clipped(T1,F,T2). abdemo([holds_at(F,T3)|Gs1],R1,R4,N) : axiom(initiates(A,F,T1),Gs2), escolhendo uma açao abdemo_nafs(N,[happens(A,T1,T2),before(T2,T3)|R1],R2), adicionando ação ao plano abdemo_nafs([clipped(T1,F,T3)],R2,R3), protected link append(Gs2,Gs1,Gs3), demo(Gs3,R3,R4,[clipped(T1,F,T3)|N]).
26
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 26 Meta-Interpretador Ordenando ações –para provar holdsAt –holdsAt(F,T3) : happens(A,T1,T2), T2 < T3, initiates(A,F,T1), not clipped(T1,F,T2). –Para provar clipped –clipped(t1,f,t2) :- happens(a,t) and terminates(a,f,t) and before(t1,t) and before(t,t2) –indiretamente, provar que before(t1,t2) é falso –Solução: adicionar before(t2,t1) ao resíduo, checando se no há inconsistência
27
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 27 Meta-Interpretador Unsoundness –fluent range restricted terminates(sell,have(X),T) : holdsAt(have(X),T), buys(Y,X), holdsAt(at(Y),T). –em algum exemplos de state constraints holds_at(happy,T) : holds_at(rich,T) initiates(rob_bank,rich,T). initially(neg(rich)). initially(neg(happy)). Incompleteness –informação incompleta do estado inicial initiates(vaccinate1,immune,T) : holds_at(type1,T). initiates(vaccinate2,immune,T) : holds_at(neg(type1),T).
28
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 28 Roteiro Lógica e Planejamento –STRIPS –Cálculo de Situações –Cálculo de Eventos Abdução + Calculo de Eventos Planejamento como Satisfação Resolução de Restrições Atualização de BD Dedutivo Comparações
29
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 29 Planejamento como Satisfação Codificar o plano como fórmula proposicional Determinar se a fórmula pode ser satisfeita Plano extraído da prova da fórmula Assume-se que o plano tem n passos
30
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 30 Planejamento como Satisfação Transformar problema de planejamento em problema de satisfação Definir tamanho máximo do plano Se necessário, incluir ações dummy Converter predicados para refletir tempo –p(a 1,...,a n ) p(a 1,...,a n,a n+1 ) –a n+1 representa o tempo Fórmula a ser satisfeita inclui: –estado inicial, objetivo, efeitos das ações
31
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 31 Estado Inicial: –Sobre(B,A,1) Sobre(C,Mesa,1) Limpo(B,1) Limpo(C,1) Efeitos: –Sobre(x,z,do(move(x,y,z),s)) (x=z) Limpo(z,s) Limpo(x,s) Sobre(x,y,s) –Instanciar para cada caso –(Sobre(a,mesa,do(move(a,b,mesa),2)) (a=mesa) Limpo(mesa,2) Limpo(a,2) Sobre(a,b,2)) (Sobre(b,mesa,do(move(b,a,mesa),2)) (b=mesa) Limpo(mesa,2) Limpo(b,2) Sobre(b,a,2)) ... Apenas uma ação em cada passo – Mover_a_b_mesa,2) Mover(b,a,mesa,2) Pelo menos uma ação em cada passo –Mover(a,b,mesa,2) Mover(b,a,mesa,2)... Planejamento como Satisfação
32
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 32 Planejamento como Satisfação é a fórmula inicial –CNF: (ab)(cd) é o plano Satisfacao(,) enquanto ( = ) escolher um literal P tal que P ou P ocorra em enquanto existir um {L} em (L é uma cláusula com um literal) <- união {L} para cada cláusula C em se L C então <- \ {C} se L C então ( \ {C}) (C \ {L}) end exit with
33
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 33 Fórmula Inicial D (D A B) (D A B) (D A B) (D A B) Após eliminar D = (A B)(AB)(AB), = {D} Após escolher A = BB, o que é uma contradição Escolhemos A = B, = {D, A} Escolhendo B = , = {D, A, B} Plano satisfeito Planejamento como Satisfação
34
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 34 Roteiro Lógica e Planejamento –STRIPS –Cálculo de Situações –Cálculo de Eventos Abdução + Calculo de Eventos Planejamento como Satisfação Resolução de Restrições Atualização de BD Dedutivo Comparações
35
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 35 Constraint Logic Programming Estado é definido por variáveis Xi com valores num domínio Di Restrições são definidas sobre os valores das variáveis Uso de algoritmos e heurísticas de propósito geral
36
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 36 parcPLAN Utiliza algoritmo em vários passos –passo 1: inclusão de ações –passo 2: resolução de restrições –Passo 3: finalização do plano Ações podem ter um intervalo utiliza "least commitment" Ações definidas pôr –condições, efeitos e restrições
37
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 37 parcPLAN Exemplo: Acao: move(Bloco,De,Para,Inicio,Fim) Condição: clear(To,T2,Fim), clear(Bloco,T3,T4), on(Bloco,De,T1,Inicio) Efeitos on(Bloco,Para, Fim,T5) clear(De,T6,T7) Restrições Bloco!=De, Bloco!=Para T6 = Inicio + 2, T2 < Fim - 2, T3< Inicio, Fim < T4, Inicio + 5 <= Fim
38
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 38 parcPLAN Action Introduction Collapsing Scheduling/ Resource Reasoning Plano Problema Falha
39
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 39 parcPLAN Introduzir Ação –escolher um objetivo –escolher ação que tenha como efeito o objetivo –unificar com efeito –adicionar condições da ação ao objetivo –adicionar restrições –calcular custo
40
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 40 parcPLAN Segunda Parte –Quando todos os objetivos podem ser unificados com a base –utilizar resolução de restrições –cada objetivo é associado a um "finite domain variable" –objetivos mais restritos são instanciados primeiro Se falhar –Tentar achar nova ação –Que seja mais geral
41
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 41 parcPLAN Terceira Parte –finalizar plano –restrições de tempo e recursos restantes Se falhar –tentar novo colapso
42
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 42 Roteiro Lógica e Planejamento –STRIPS –Cálculo de Situações –Cálculo de Eventos Abdução + Calculo de Eventos Planejamento como Satisfação Resolução de Restrições Atualização de BD Dedutivo Comparações
43
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 43 Transaction Logic Permite atualização na base de fatos Transações Atômicas –Atualização da base é desfeita em caso de erro P.ins, P.del –P é um predicado –Ex: sobre(A,B).del T1 T2 –Conjunção serial de transações –T2 é executada após T1, na mesma transação –Ex: Mover(B,A,Mesa) Mover(A,Mesa,C)
44
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 44 Transaction Logic STRIPS Ação mover(Bloco,De,Para) Precondições: Limpo(Para) Limpo(Bloco) Sobre(Bloco,De) Efeitos: sobre(Bloco,De) sobre(Bloco,Para) Transaction Logic mover(Bloco,De,Para) Limpo(Para) Limpo(Bloco) Sobre(Bloco,De) sobre(Bloco,De).del Sobre(Bloco,Para).ins
45
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 45 Transaction Logic conseguir_mover(X,Y,Z) [conseguir_limpar(X) & conseguir_limpar(Z) & conseguir_sobre(X,Y)] mover(X,Y,Z) conseguir_mover(X,Y,Z) sobre(X,Z) limpo(Y) conseguir_limpar(X) limpo(X) conseguir_limpar(X) conseguir_mover(Y,X,Z) conseguir_sobre(X,Y) sobre(X,Y) conseguir_sobre(X,Y) conseguir_mover(X,Z,Y) ?- [conseguir_sobre(a,c) & conseguir_limpo(b) & conseguir_ limpo(a)] sobre(a,c) limpo(b) limpo(a)
46
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 46 Roteiro Lógica e Planejamento –STRIPS –Cálculo de Situações –Cálculo de Eventos Abdução + Calculo de Eventos Planejamento como Satisfação Resolução de Restrições Atualização de BD Dedutivo Comparações
47
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 47 Comparação LinguagemAlgoritmoTempo STRIPSEspecíficaEspecializado para planejamento Implícito Cálculo de SituaçõesGeral - lógica da 1 1 a ordem Provador de Teorema Geral Implícito Cálculo de EventosGeral - lógica de horn da 1 a ordem Máquina de inferência para Abductive Logic Programming Explícito SatisfaçãoLógica proposicionalSatisfação de Fórmula Lógica Explícito parcPLANEspecíficaEspecifico para planejamento reusando máquina de inferência para CLP Explícito Transaction LogicGeralMáquina de inferência para Transaction Logic Programming Explícito
48
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 48 2a tabela de comparação linhas: abordagens colunas: features de PDDL suportados Hierarquia de expressividade N dimensionais a partir de STRIPS até extensão de ADL
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.