Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica...

48
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE

Transcript of Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica...

Page 1: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1

Planejamento Baseado em Lógica

André NovaesCIn - UFPE

Page 2: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 3: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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?

Page 4: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 4

Exemplo de Problema

A

B

C

B

A

C

Page 5: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 6: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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)

Page 7: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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 1a ordem

Page 8: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 8

Calculo de SituaçõesEstado Inicial:Sobre(B,A,S0) Sobre(C,Mesa,S0) Limpo(B,S0) Limpo(C,S0)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)

Page 9: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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),s0))

Page 10: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 11: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 12: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 13: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 14: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 15: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 15

Calculo de EventosAxiomas 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)

Page 16: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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 (f1,...,fn)Descrição do Estado

Estado Inicial Initially(f)

Page 17: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 18: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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)

Page 19: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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)

Page 20: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 21: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 21

Meta-InterpretadorDemo([]).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

Page 22: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 22

Meta-Interpretadorholds_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).

Page 23: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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]).

Page 24: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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 [p0,...,pn] onde N :- p0,...,pn

– É necessário provar apenas que um pi é verdadeiro

Page 25: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 25

Meta-Interpretadorholds_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çaoabdemo_nafs(N,[happens(A,T1,T2),before(T2,T3)|R1],R2), adicionando ação ao planoabdemo_nafs([clipped(T1,F,T3)],R2,R3), protected linkappend(Gs2,Gs1,Gs3), demo(Gs3,R3,R4,[clipped(T1,F,T3)|N]).

Page 26: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 27: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 27

Meta-Interpretador• Unsoundness

– fluent range restrictedterminates(sell,have(X),T) :

holdsAt(have(X),T),buys(Y,X),holdsAt(at(Y),T).

– em algum exemplos de state constraintsholds_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).

Page 28: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 29: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 30: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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(a1,...,an) p(a1,...,an,an+1)– an+1representa o tempo

• Fórmula a ser satisfeita inclui:– estado inicial, objetivo, efeitos das ações

Page 31: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 32: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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 endendexit with

Page 33: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 33

Fórmula InicialD (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çãoEscolhemos A = B , = {D, A}Escolhendo B = , = {D, A, B}Plano satisfeito

Planejamento como Satisfação

Page 34: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 35: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 36: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 37: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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)Efeitoson(Bloco,Para, Fim,T5)clear(De,T6,T7) RestriçõesBloco!=De, Bloco!=ParaT6 = Inicio + 2, T2 < Fim - 2, T3< Inicio, Fim < T4, Inicio + 5 <= Fim

Page 38: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 38

parcPLAN

Action Introduction Collapsing Scheduling/Resource Reasoning

PlanoProblema

Falha Falha

Page 39: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 40: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 41: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 42: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 43: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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)

Page 44: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 44

Transaction Logic• STRIPS

Açãomover(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

Page 45: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 45

Transaction Logicconseguir_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)

Page 46: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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

Page 47: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

Planejamento Baseado em Lógica – André Novaes – CIn UFPE 47

ComparaçãoLinguagem Algoritmo Tempo

STRIPS Específica Especializado para planejamento

Implícito

Cálculo de Situações Geral - lógica da 1 1a ordem

Provador de Teorema Geral

Implícito

Cálculo de Eventos Geral - lógica de horn da 1a ordem

Máquina de inferência para Abductive Logic Programming

Explícito

Satisfação Lógica proposicional Satisfação de Fórmula Lógica

Explícito

parcPLAN Específica Especifico para planejamento reusando máquina de inferência para CLP

Explícito

Transaction Logic Geral Máquina de inferência para Transaction Logic Programming

Explícito

Page 48: Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.

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