Planejamento sob Incerteza para Metas de Alcan¸cabilidade Estendidas
Silvio do Lago Pereira & Leliane Nunes de Barros
DCC-IME-USP
Sum´ ario
1
Introdu¸c˜ao
2
Fundamentos
3
O problema
4
A solu¸c˜ao
5
Conclus˜ao
Planejamento automatizado
Planejamento sob incerteza
Planejamento Automatizado ´e uma ´area da IA que visa desenvolver algoritmos para sintetizar planos a partir da an´alise de uma descri¸c˜ao formal da dinˆamica do ambiente, do estado inicial e da meta do agente.
Planejamento sob incerteza (plano ∼ pol´ıtica de comportamento)
controlador
planejador ambiente
agente
PSfrag replacements
estado inicial
meta
dinˆamica do ambiente
plano estado corrente
a¸c˜ao
evento ex´ogeno
Dom´ınios de planejamento
Problemas e qualidades de solu¸c˜ ao
s0
s1 s
2
s3 s
4 s
5 s
6 escada
Qualidades de solu¸c˜oes: fraca, forte-c´ıclica e forte
Que garantia de alcan¸car a meta uma solu¸c˜ao particular oferece?
Dom´ınios de planejamento
Problemas e qualidades de solu¸c˜ ao
s0
s1 s
2
s3 s
4 s
5 s
6 escada
Qualidades de solu¸c˜oes: fraca, forte-c´ıclica e forte
Que garantia de alcan¸car a meta uma solu¸c˜ao particular oferece?
π1={(s0,entrar-em-s4),(s4,entrar-em-s5)}
Dom´ınios de planejamento
Problemas e qualidades de solu¸c˜ ao
s0
s1 s
2
s3 s
4 s
5 s
6 escada
Qualidades de solu¸c˜oes: fraca, forte-c´ıclica e forte
Que garantia de alcan¸car a meta uma solu¸c˜ao particular oferece?
π1={(s0,entrar-em-s4),(s4,entrar-em-s5)}
π2={(s0,entrar-em-s1),(s1,entrar-em-s5)}
Dom´ınios de planejamento
Problemas e qualidades de solu¸c˜ ao
s0
s1 s
2
s3 s
4 s
5 s
6 escada
Qualidades de solu¸c˜oes: fraca, forte-c´ıclica e forte
Que garantia de alcan¸car a meta uma solu¸c˜ao particular oferece?
π1={(s0,entrar-em-s4),(s4,entrar-em-s5)}
π2={(s0,entrar-em-s1),(s1,entrar-em-s5)}
π3={(s0,entrar-em-s1),(s1,entrar-em-s2),(s2,entrar-em-s6),(s6,entrar-em-s5)}
Sobre esse trabalho
Motiva¸c˜ ao e objetivos
IPC-2006:
“The competition will focus only on planning forgoal reachability”estado-da-arte ainda est´ a voltado para metas com expressividade limitada por´em, metas mais expressivas tˆem despertado grande interesse na ´ area
Objetivos
tratar problemas de planejamento para metas mais expressivas
usar um m´etodo formal para garantir a qualidade das solu¸c˜ oes
sintetizar planos usando t´ecnicas de verifica¸c˜ ao de modelos
Verifica¸c˜ ao de Modelos
O arcabou¸co
Verifica¸c˜ ao de modelos
consiste em decidir se
K⊧ϕ, onde:K
´e um modelo formal do sistema (estrutura de Kripke)
ϕ
´e uma propriedade a ser verificada (f´ ormula de l´ ogica temporal)
verificador sucesso ou
contra-exemplo
PSfrag replacements K ϕ
Estrutura de Kripke
K=⟨S,L,T⟩com assinatura
Pe ´ arvore de computa¸c˜ ao
s0
s1
s4
s s
s2
3
5
p
q
r p,q
p,r
q,r
p
q p,q p,r
p,r
p,r p,r q,r
r p,r p,r r
p q,r
r p,r
s0
s s s
s
s s s s s
s s
s s s s
0 1
2
2 2
3 4
4
4 4 4
4 5
4 5
Verifica¸c˜ ao de Modelos
CTL -
Computation Tree LogicOperadores temporais
◯: sucessor
◻: invariante
◇: finalmente
⊔: at´e que
Semˆ antica
s⊧∃ ◯p s⊧∃ ◻p s⊧∃ ◇p s⊧∃(p⊔q)
PSfrag replacements
ps
p p
PSfrag replacements
ps
p
PSfrag replacements
s p
q
PSfrag replacements
ps
s⊧∀ ◯p s⊧∀ ◻p s⊧∀ ◇p s⊧∀(p⊔q)
p p
PSfrag replacements
ss
p p
p p
p
p p
PSfrag replacements
ss
p p
p
PSfrag replacements
ss
q p
q q
p
PSfrag replacements
ss
Planejamento baseado em Verifica¸c˜ ao de Modelos
Dom´ınios, pol´ıticas e estruturas
Dom´ınio de planejamento
D=⟨S,L,T⟩com assinatura
(P,A)s0
s1
s s2
3
c a
b
a r a
r
r
s4
s s5
6
g b
a b c
a (a)
Estrutura de execu¸c˜ ao
Dπe estrutura de Kripke correspondente
K(Dπ)s0
s1
s2 c
a r a
r
r g s5
b (b)
PSfrag replacements
π1={(s0,a),(s1,b),(s2,c)}
s0
s1
s2
r
r
r g s5
(c)
PSfrag replacements
π1={(s0,a),(s1,b),(s2,c)}Planejamento baseado em Verifica¸c˜ ao de Modelos
Problemas, solu¸c˜ oes e valida¸c˜ ao
Um problema de planejamento para meta de alcan¸cabilidade simples
´e definido por uma tupla
P=⟨D,s0, φ⟩, onde:D=⟨S,L,T⟩
´e um dom´ınio com assinatura
(P,A) s0∈S´e o estado inicial do ambiente
φ
´e uma f´ ormula proposicional sobre
PCaracteriza¸c˜ ao das classes de solu¸c˜ oes em
ctlSeja
πuma pol´ıtica para
P=⟨D,s0, φ⟩. Ent˜ao,
π´e uma solu¸c˜ ao:
fraca para
P ⇔(K(Dπ),s0)⊧∃ ◇φforte para
P ⇔(K(Dπ),s0)⊧∀ ◇φforte-c´ıclica para
P⇔(K(Dπ),s0)⊧∀ ◻ ∃ ◇φValida¸c˜ ao de pol´ıticas usando
ctlverificador
PSfrag replacements
K(Dπ) ϕ
sucesso ou
ϕ contra-exemplo
Nosso prop´ osito
S´ıntese como efeito colateral da verifica¸c˜ ao de modelos
Planejamento como verifica¸c˜ ao de modelos consiste em decidir se
(D,s0)⊧ϕ, onde:D
´e um modelo do ambiente de planejamento
s0´e o estado inicial do ambiente
ϕ
´e uma meta de alcan¸cabilidade estendida
planejador
PSfrag replacements
D s0
ϕ K(Dπ)
ϕ
plano ou fracasso
Uma meta de alcan¸cabilidade estendida ´e um par
(ϕ1, ϕ2), onde:ϕ1
´e uma condi¸c˜ ao a ser preservada
ϕ2´e uma condi¸c˜ ao a ser alcan¸cada
Nosso prop´ osito
Planejamento para metas de alcan¸cabilidade estendidas
Subclasses de metas de alcan¸cabilidade estendidas da forma
(ϕ1, ϕ2)simples
⇔ϕ1´e a constante
⊺linear
⇔ϕ1´e uma f´ ormula proposicional ramificada
⇔ϕ1´e uma f´ ormula temporal
PSfrag replacements
alcan¸cabilidade estendida
alcan¸cabilidade estendida ramificada alcan¸cabilidade estendida linear
alcan¸cabilidade simples
ctl
x metas de alcan¸cabilidade estendidas
tarefa linear ramificada especifica¸c˜ ao sim
✓n˜ ao
Xs´ıntese n˜ ao
Xn˜ ao
Xvalida¸c˜ ao sim
✓n˜ ao
XInadequa¸c˜ ao de CTL para o nosso prop´ osito
Exemplo 1 - Problema com meta da subclasse linear
Dom´ınio D
1: alcan¸car g , garantidamente, preservando r
s0
s1
s s2
3
c a
b
a r a
r
r
s4
s s5
6
g b
a b c
a s0
s1
s2 c
a r a
r
r g s5
b
PSfrag replacements
π1={(s0,a),(s1,b),(s2,c)}
✓ Especifica¸c˜ao: ∀(r ⊔ g )
X S´ıntese: (K(D
1), s
0) / ⊧ ∀(r ⊔ g )
✓ Valida¸c˜ao: (K(D
π11), s
0) ⊧ ∀(r ⊔ g )
Inadequa¸c˜ ao de CTL para o nosso prop´ osito
Exemplo 2 - Problema com meta da subclasse ramificada
Dom´ınio D
2: alcan¸car g , garantidamente, preservando a propriedade de sempre poder alcan¸car r em no m´aximo dois passos
s0
s1
s s2
3
a a
b
c
r r
s4
s s5
6
g b
b c
a
s0
s3 b
c r
s s5
6 g
PSfrag replacements
bπ2={(s0,b),(s3,c),(s6,b)}
X Especifica¸c˜ao: ∀((r ∨ ∀ ◯ r ∨ ∀ ◯ ∀ ◯ r ) ⊔ g )
X S´ıntese: (K(D
2), s
0) / ⊧ ∀((r ∨ ∀ ◯ r ∨ ∀ ◯ ∀ ◯ r ) ⊔ g ) X Valida¸c˜ao: (K(D
2π2), s
0) / ⊧ ∀((r ∨ ∀ ◯ r ∨ ∀ ◯ ∀ ◯ r ) ⊔ g )
Nem toda pol´ıtica pode ser validada ap´os ter sido sintetizada!
A l´ ogica temporal α -CTL
Sintaxe e semˆ antica
Novos operadores temporais [JAAMAS-2008]
ctl
:
∀ ◯pvale em
sse todo sucessor de
ssatisfaz
pα-ctl
:
∀ ⊙pvale em
sse todo
α-sucessor des, paraα∈A, satisfaz
pIntens˜ ao das f´ ormulas
JpKD ={s∈S∶p∈L(s)}
J¬pKD =S∖JpKD Jϕ1∧ϕ2KD =Jϕ1KD∩Jϕ2KD
Jϕ1∨ϕ2KD =Jϕ1KD∪Jϕ2KD
J∃ ⊙ϕ1KD =T∃−(Jϕ1KD)={s∈S∶a∈A
e
T(s,a)∩Y ≠∅}J∀ ⊙ϕ1KD =T∀−(Jϕ1KD)={s∈S∶a∈A
e
∅≠T(s,a)⊆Y} J∃ϕ1KD =νY.(Jϕ1KD∩T∃−(Y))J∀ϕ1KD =νY.(Jϕ1KD∩T∀−(Y))
J∃(ϕ1Dϕ2)KD=µY.(Jϕ2KD∪(Jϕ1KD∩T∃−(Y))) J∀(ϕ1Dϕ2)KD=µY.(Jϕ2KD∪(Jϕ1KD∩T∀−(Y)))
A l´ ogica temporal α -CTL
Verifica¸c˜ ao de modelos
O verificador
Vactl[SBMF-2007]
Vactl(ϕ,D)
1C←S∖Intens˜ao[D](ϕ) 2 seC=∅ent~ao devolva sucesso 3 sen~ao devolvaC
Exemplo - Verifica¸c˜ ao de
∀(rDg) {s5}s0 s1
s s2
3 c a
b
a r a
r
r
s4
s s5
6 g b
a b c
a
Teoremas e propriedades formais
Intens˜ao[D](ϕ)
devolve o conjunto
JϕKDVactl(D, ϕ)
devolve sucesso
⇔(D,s)⊧ϕ,para
∀s∈SA l´ ogica temporal α -CTL
Verifica¸c˜ ao de modelos
O verificador
Vactl[SBMF-2007]
Vactl(ϕ,D)
1C←S∖Intens˜ao[D](ϕ) 2 seC=∅ent~ao devolva sucesso 3 sen~ao devolvaC
Exemplo - Verifica¸c˜ ao de
∀(rDg) {s5,s2}s0 s1
s s2
3 c a
b
a r a
r
r
s4
s s5
6 g b
a b c
a
Teoremas e propriedades formais
Intens˜ao[D](ϕ)
devolve o conjunto
JϕKDVactl(D, ϕ)
devolve sucesso
⇔(D,s)⊧ϕ,para
∀s∈SA l´ ogica temporal α -CTL
Verifica¸c˜ ao de modelos
O verificador
Vactl[SBMF-2007]
Vactl(ϕ,D)
1C←S∖Intens˜ao[D](ϕ) 2 seC=∅ent~ao devolva sucesso 3 sen~ao devolvaC
Exemplo - Verifica¸c˜ ao de
∀(rDg) {s5,s2,s1}s0 s1
s s2
3 c a
b
a r a
r
r
s4
s s5
6 g b
a b c
a
Teoremas e propriedades formais
Intens˜ao[D](ϕ)
devolve o conjunto
JϕKDVactl(D, ϕ)
devolve sucesso
⇔(D,s)⊧ϕ,para
∀s∈SA l´ ogica temporal α -CTL
Verifica¸c˜ ao de modelos
O verificador
Vactl[SBMF-2007]
Vactl(ϕ,D)
1C←S∖Intens˜ao[D](ϕ) 2 seC=∅ent~ao devolva sucesso 3 sen~ao devolvaC
Exemplo - Verifica¸c˜ ao de
∀(rDg) {s5,s2,s1,s0}⇐ponto-fixo m´ınimos0 s1
s s2
3 c a
b
a r a
r
r
s4
s s5
6 g b
a b c
a
Teoremas e propriedades formais
Intens˜ao[D](ϕ)
devolve o conjunto
JϕKDVactl(D, ϕ)
devolve sucesso
⇔(D,s)⊧ϕ,para
∀s∈SA l´ ogica temporal α -CTL
S´ıntese de modelos
O planejador
Pactl[JAAMAS-2008, JCSS-2009]
Pactl(D,s0, ϕ)
1M←Modelo[D](min, ϕ) 2C←Cobertura(M)
3 ses0∈C ent~ao devolvaPol´ıtica(M) 4 devolva fracasso
s
s s a
b
s b
c
0 1
2 3
s5
Teoremas e propriedades formais
Pactl
(D,s0, ϕ)devolve fracasso⇔(D,s0) /⊧ϕ(D,s0)⊧∃(ϕ1Dϕ2)⇒
Pactl
devolve uma solu¸c˜ao fraca (D,s0)⊧∀(ϕ1Dϕ2)⇒Pactl
devolve uma solu¸c˜ao forte(D,s0)⊧∀∃(ϕ1Dϕ2)⇒
Pactl
devolve uma solu¸c˜ao forte-c´ıclica A solu¸c˜ao fraca devolvida porPactl
´e ´otima no melhor caso A solu¸c˜ao forte devolvida porPactl
´e ´otima no pior casoPlanejamento baseado em α - ctl
Outros resultados
Tratamento de outros tipos de metas [WoLLIC-2008, LJIGPL-2008]
compara¸c˜ ao entre
α-ctle
p-ctlespecifica¸c˜ ao de outros tipos de metas estendidas planejamento para metas do tipo “try-your-best”
Planejamento probabil´ıstico forte [ICAPS-2008, MICAI-2008]
descarta a¸c˜ oes que causam falhas ou ciclos (ordena¸c˜ ao topol´ ogica) usa equa¸c˜ oes de Bellman para escolher melhor a¸c˜ ao em cada etapa permite metas de alcan¸cabilidade estendidas
s1 s
3
s0 a (1.0) s2
s5 s4 d (0.5) b (0.5)
d (1.0)
b (0.5)
d (0.1) d (0.9)
b (0.8) b (0.2)
c (0.7) b (0.9) b (0.1)
a (1.0)
c (0.3) d (0.5) a (1.0)
c (0.9) c (0.1)
g s
1 s3
s0 s2
s5 s4
g d d
d a
a a
b b
b b
c
c
PSfrag replacements
1a 2a 3a 4a