460 likes | 558 Views
Raciocínio Abdutivo usando Cálculo de Eventos e sua correspondência com Sistemas de Planejamento. Exame de Qualificação Silvio do Lago Pereira. Introdução. Planejamento Sistemas corretos versus práticos Raciocínio e representação O artigo de Green O artigo de Shanahan. .
E N D
Raciocínio Abdutivo usando Cálculo de Eventos e sua correspondência com Sistemas de Planejamento Exame de Qualificação Silvio do Lago Pereira
Introdução • Planejamento • Sistemas corretos versus práticos • Raciocínio e representação • O artigo de Green • O artigo de Shanahan
Sistemas de planejamento lógicos Sistemas de planejamento algorítmicos Objetivo • Mostrar que
Suposições • Sobre o mundo: • tempo atômico • efeitos determinísticos • onisciência • causa de mudança única • Sobre o agente: • representa e mantém o estado do mundo • representa ações e os efeitos produzidos por elas • delibera sobre a construção de um plano de ações • raciocina sobre interação de ações e metas
Organização • Representação de conhecimento • Planejamento clássico • Planejamento abdutivo • Metodologia
Representação de Conhecimento Cálculo de Situações Representação STRIPS Cálculo de Eventos
S0 Do(,S0) n+1, ..., n+j Axiomas de efeito 1, ..., n 1 , ..., i -1, i+k, ..., n Axiomas de quadro Cálculo de Situações Holds(i,S0) Holds(n+1,Do(,S0))
Mundo dos Blocos • Situações: S0 e S1 • Fluentes: Sobre(x,y) e Livre(x) • Ação: Move(x,y)
O problema do Quadro • Novo fluente: Cor(x,c) • Nova ação: Pinta(x,c) • Num domínio com m ações e n fluentes, temos O(mn) axiomas de quadro
Circunscrição • Lei do senso comum da inércia • A conjectura de McCarthy • A idéia básica da circunscrição • CIRC[;] def q[(q) q] • Raciocínio não-monotônico
Exemplo • Seja := Livre(B) Livre(C) Sobre(C,A). • Por exemplo, temos |=Livre(B), mas não temos |=Livre(A), nem |=Livre(A). • Temos CIRC[;Livre] |=Livre(A). • De modo geral, temos CIRC[;Livre] |=x[Livre(x) (xB xC)].
Representação STRIPS • Evita os axiomas de quadro • Baseado em estados do mundo • Ações são representadas por operadores OPERADOR(Move(C, A, M), PRECONDS: {Sobre(C,A), Livre(C)}, EFEITOS: {Sobre(C,M), Sobre(C,A), Livre(A)})
Semântica Seja uma ação e um estado do mundo: • é aplicável a sse PRECONDS() • O estado resultante da aplicação a é EFEITOS() EFEITOS()
Representação ADL • É uma extensão da representação STRIPS OPERADOR(Move(x, y, z), PRECONDS: {Pasta(x), Em(x,y) , xz}, EFEITOS: {Em(x,z), Em(x,y), v(Objeto(v) (Dentro(v,x) (Em(v,z) Em(v,y)) ))} )
Cálculo de Eventos • Ontologia: eventos, intervalos de tempo e fluentes • Linguagem: • Initiates(,,), Terminates(,,) e Releases(,,) • InitiallyP() e InitiallyN() • Happens(,1,2) • HoldsAt(,) • Clipped(1,,2) e Declipped(1,,2)
Axiomas EC (EC1) HoldsAt(f,t) InitiallyP(f) Clipped(0,f,t) (EC2)HoldsAt(f,t) Happens(a,t1,t2) Initiates(a,f,t1) t2t Clipped(t1,f,t)
(EC3)HoldsAt(f,t) InitiallyN(f) Declipped(0,f,t) (EC4)HoldsAt(f,t) Happens(a,t1,t2) Terminates(a,f,t1) t2t Declipped(t1,f,t)
(EC5)Clipped(t1,f,t2) a, t3, t4 [ Happens(a,t3,t4) t1t3 t4t2 (Terminates(a,f,t3) Releases(a,f,t3))] (EC6)Declipped(t1,f,t2) a, t3, t4 [ Happens(a,t3,t4) t1t3 t4t2 (Initiates(a,f,t3) Releases(a,f,t3))] (EC7)Happens(a,t1,t2) t1 t2
Planejamento Clássico Busca no espaço de estados Busca no espaço de planos Representação de Conhecimento e paradigmas de busca Algoritmos de planejamento
Busca no Espaço de Estados
Planejamento Progressivo Algoritmo PROG(, , , ) Entrada: A descrição das ações . A descrição do estado corrente . A descrição de um estado meta . Um plano parcialmente especificado . Saída: FALHA ou um plano completo . 1. Se então devolva . 2. Seja A := { | PRECONDS() }. 3. Escolha A. 3.1. Seja := PROG(, +EFEITOS+()EFEITOS(), , ). 3.2. Se FALHA então devolva . 3.3. Retroceda. 4. Devolva FALHA.
Planejamento Regressivo Algoritmo REGR(, , , ) Entrada: A descrição das ações . A descrição do estado inicial . A descrição do estado corrente . Um plano parcialmente especificado . Saída: FALHA ou um plano completo . 1. Se então devolva . 2. Seja A := { | EFEITOS() EFEITOS()}. 3. Escolha A. 3.1. Seja := REGR(, , +PRE()+EFEITOS()EFEITOS+(), ). 3.2. Se FALHA então devolva . 3.3. Retroceda. 4. Devolva FALHA.
Busca no Espaço de Planos • O espaço de planos como um grafo • nós: planos parcialmente especificados • arestas: operações de refinamento do plano • Ordem das ações no plano • total • parcial
Planejamento de ordem total como busca no espaço de planos Planejamento regressivo como busca no espaço de estados Planejamento de Ordem Total
Ameaça Plano Vazio Vínculo Causal p c A0 A0 A0 p c A A A t Planejamento de Ordem Parcial
Representação de Conhecimento e Paradigmas de Busca • Cálculo de Situações Planejamento de ordem total como busca no espaço de estados • Cálculo de Eventos Planejamento de ordem parcial como busca no espaço de planos
Algoritmos de Planejamento • UCPOP - suporta a representação ADL • SNLP - planejamento sistemático • HTN - decomposição hierárquica
Planejamento Abdutivo Abdução Planejamento Abdutivo com EC Meta-interpretador Abdutivo para EC
Abdução Sejam a descrição de um domínio e 0 a descrição de uma observação. Abdução consiste em encontrar um conjunto de sentenças , explicação abdutiva de 0, tal que • é consistente • |=0
SLDA-Refutação Sejam um conjunto de cláusulas definidas e 0 uma cláusula objetivo. Uma SLDA-refutação é uma seqüência 0,0, , n,n onde cada i+1,i+1 é obtido a partir de i,i. Seja o literal selecionado de i: • se é abdutível, i+1 := i e i+1 := i{} • senão, a resolução é efetuada e i+1 := i
Exemplo (1) grama-molhadachoveu (2) grama-molhadairrigada (3) sapatos-molhadosgrama-molhada (4)sapatos-molhados , { } 0 (5)grama-molhada , { } R(4,3) (6)choveu , { } R(5,1) (7)irrigada, { } R(5,2) (8) , { irrigada } A(7)
SLDNFA-Refutação • Negação e a hipótese do mundo fechado • Pode-se inferir de um programa lógico se não existe uma SLD-refutação para a partir de • Interferências entre negação e abdução
Planejamento Abdutivo com Cálculo de Eventos • Domínio :Initiates, Terminates e Releases • Situação inicial :InitiallyN e InitiallyP • Meta :()HoldsAt • Plano :Happens e< • Planejamento: CIRC[; Initiates,Terminates,Releases] CIRC[;Happens] EC |=
Meta-interpretador Abdutivo para Cálculo de Eventos (1) demo([]). (2) demo([G|Gs1]) :- axiom(G,Gs2), append(Gs2,Gs1,Gs3), demo(Gs3). (3) demo([not(G)|Gs]) :- not demo(G), demo(Gs).
Meta-interpretador Abdutivo (1) abdemo([],R,R). (2) abdemo([G|Gs],R1,R2) :- abducible(G), abdemo(Gs,[G|R1],R2). (3) abdemo([G|Gs1],R1,R2) :- axiom(G,Gs2), append(Gs2,Gs1,Gs3), abdemo(Gs3,R1,R2).
Estendendo Abdução com Negação por Falha (1) abdemo([],R,R,N,N). (2) abdemo([G|Gs],R1,R3,N1,N2) :- abducible(G), abdemo_nafs(N1,[G|R1],R2), abdemo(Gs,R2,R3,N1,N2). (3) abdemo([G|Gs1],R1,R2,N1,N2) :- axiom(G,Gs2), append(Gs2,Gs1,Gs3), abdemo(Gs3,R1,R2,N1,N2). (4) abdemo([not(G)|Gs],R1,R2,N1,N2) :- abdemo_naf([G],R1,R2), abdemo(Gs,R2,R3,[[G]|N1],N2).
(5) abdemo_nafs([],R,R). (6) abdemo_nafs([N|Ns],R1,R3) :- abdemo_naf(N,R1,R2), abdemo_nafs(Ns,R2,R3). (7) abdemo_naf([G|Gs1],R,R) :- not resolve(G,R,Gs2). (8) abdemo_naf([G1|Gs1],R1,R2) :- findall(Gs2,(resolve(G1,R1,Gs3), append(Gs3,Gs1,Gs2)),Gss), abdemo_nafs(Gss,R1,R2). ( 9) resolve(G,R,[]) :- member(G,R). (10) resolve(G,R,Gs) :- axiom(G,Gs).
Compilação de Axiomas A cláusula 1, 2, , n Pode ser compilada como demo([|Gs1]) :- axiom(1,Gs2), append(Gs2,[2,,n|Gs1],Gs3), demo(Gs3).
Compilando os Axiomas do Cálculo de Eventos holds_at(F,T3) :- happens(A,T1,T2), T2<T3, initiates(A,F,T1), not clipped(T1,F,T2).
Compilando os Axiomas do Cálculo de Eventos 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).
Tratamento de Informação Incompleta • Informação incompleta e negação por falha • Tratamento no meta-nível • O predicado before • O predicado holds_at
O Sistema de Planejamento AECP abdemo([holds_at(F1,T3)|Gs1],R1,R5,N1,N4) :- abresolve(initiates(A,F1,T1),R1,Gs2,R1), abresolve(happens(A,T1,T2),R1,[],R2), abresolve(before(T2,T3),R2,[],R3), add_neg([clipped(T1,F1,T3)],N1,N2), abdemo_nafs(N2,R3,R4,N2,N3), append(Gs2,Gs1,Gs3), abdemo(Gs3,R4,R5,N3,N4).
Exemplos de Análises • Tarefas de refinamento • Sistematicidade • Representação ADL • Multicontribuidores • Decomposição hierárquica • Planejamento de ordem total • Ações de percepção
Metodologia Atividades Cronograma
Atividades • Estudar e implementar algoritmos eficientes da literatura de planejamento • Alterar o meta-interpretador AECP de modo a implementar esses algoritmos, mantendo o propósito original de sua especificação • Comparar os passos de planejamento nos sistemas algorítmicos com aqueles observados nos sistemas lógicos