planejamento sob incerteza para metas de alcançabilidade …slago/slago-ctdia2008.pdf · dom nio...
TRANSCRIPT
Introducao Fundamentos O problema A solucao Conclusao
Planejamento sob Incerteza para
Metas de Alcancabilidade Estendidas
Silvio do Lago Pereira & Leliane Nunes de Barros
DCC-IME-USP
Introducao Fundamentos O problema A solucao Conclusao
Sumario
1 Introducao
2 Fundamentos
3 O problema
4 A solucao
5 Conclusao
Introducao Fundamentos O problema A solucao Conclusao
Planejamento automatizadoPlanejamento sob incerteza
Planejamento Automatizado e uma area da IA que visa desenvolveralgoritmos para sintetizar planos a partir da analise de uma descricaoformal da dinamica do ambiente, do estado inicial e da meta do agente.
Planejamento sob incerteza (plano ∼ polıtica de comportamento)
controladorplanejador ambiente
agente
PSfrag replacements
estado inicial
meta
dinamica do ambiente
planoestado corrente
acao
evento exogeno
Introducao Fundamentos O problema A solucao Conclusao
Domınios de planejamentoProblemas e qualidades de solucao
s0
s1 s
2
s3
s4
s5
s6
escada
Qualidades de solucoes: fraca, forte-cıclica e forte
Que garantia de alcancar a meta uma solucao particular oferece?
Introducao Fundamentos O problema A solucao Conclusao
Domınios de planejamentoProblemas e qualidades de solucao
s0
s1 s
2
s3
s4
s5
s6
escada
Qualidades de solucoes: fraca, forte-cıclica e forte
Que garantia de alcancar a meta uma solucao particular oferece?
π1 = {(s0, entrar-em-s4), (s4, entrar-em-s5)}
Introducao Fundamentos O problema A solucao Conclusao
Domınios de planejamentoProblemas e qualidades de solucao
s0
s1 s
2
s3
s4
s5
s6
escada
Qualidades de solucoes: fraca, forte-cıclica e forte
Que garantia de alcancar a meta uma solucao particular oferece?
π1 = {(s0, entrar-em-s4), (s4, entrar-em-s5)}
π2 = {(s0, entrar-em-s1), (s1, entrar-em-s5)}
Introducao Fundamentos O problema A solucao Conclusao
Domınios de planejamentoProblemas e qualidades de solucao
s0
s1 s
2
s3
s4
s5
s6
escada
Qualidades de solucoes: fraca, forte-cıclica e forte
Que garantia de alcancar a meta uma solucao 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)}
Introducao Fundamentos O problema A solucao Conclusao
Sobre esse trabalhoMotivacao e objetivos
IPC-2006: “The competition will focus only on planning for goal reachability”
estado-da-arte ainda esta voltado para metas com expressividade limitada
porem, metas mais expressivas tem despertado grande interesse na area
Objetivos
tratar problemas de planejamento para metas mais expressivasusar um metodo formal para garantir a qualidade das solucoessintetizar planos usando tecnicas de verificacao de modelos
Introducao Fundamentos O problema A solucao Conclusao
Verificacao de ModelosO arcabouco
Verificacao de modelos
consiste em decidir se K ⊧ ϕ, onde:
K e um modelo formal do sistema (estrutura de Kripke)
ϕ e uma propriedade a ser verificada (formula de logica temporal)
verificador sucesso ou
contra-exemplo
PSfrag replacementsK
ϕ
Estrutura de Kripke K = ⟨S,L,T ⟩ com assinatura P e arvore de computacao
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,rp,r
q,r
rp,r
p,rr
p
q,r
r p,r
s0
s s s
s
sssssss
s s s s
0
1
2
2 2
3 4
4
44 4
4 5
4
5
Introducao Fundamentos O problema A solucao Conclusao
Verificacao de ModelosCTL - Computation Tree Logic
Operadores temporais
◯: sucessor◻: invariante◇: finalmente⊔: ate que
Semantica
s ⊧ ∃ ◯ p s ⊧ ∃ ◻ p s ⊧ ∃◇ p s ⊧ ∃(p ⊔ q)
p
PSfrag replacements
s
p
p
p
PSfrag replacements
s
p
PSfrag replacements
sp
q
p
PSfrag replacements
s
s ⊧ ∀◯ p s ⊧ ∀ ◻ p s ⊧ ∀◇ p s ⊧ ∀(p ⊔ q)
p pPSfrag replacements
s
s
p
p
pp
pp p
PSfrag replacements
s
s
p
p
p
PSfrag replacements
s
s
q
p
q q
pPSfrag replacements
s
s
Introducao Fundamentos O problema A solucao Conclusao
Planejamento baseado em Verificacao de ModelosDomı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
ar
r
r
s4
s
s5
6
g
b
ba
c
a
(a)
Estrutura de execucao Dπ e estrutura de Kripke correspondente K(Dπ)
s0
s1
s2 c
a
ar
r
r s5g
b
(b)
PSfrag replacementsπ1 = {(s0, a), (s1,b), (s2, c)}
s0
s1
s2
r
r
r s5g
(c)
PSfrag replacements
π1 = {(s0, a), (s1,b), (s2, c)}
Introducao Fundamentos O problema A solucao Conclusao
Planejamento baseado em Verificacao de ModelosProblemas, solucoes e validacao
Um problema de planejamento para meta de alcancabilidade 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 formula proposicional sobre P
Caracterizacao das classes de solucoes em ctl
Seja π uma polıtica para P = ⟨D, s0, φ⟩. Entao, π e uma solucao:
fraca para P ⇔ (K(Dπ), s0) ⊧ ∃◇ φ
forte para P ⇔ (K(Dπ), s0) ⊧ ∀◇ φ
forte-cıclica para P⇔ (K(Dπ), s0) ⊧ ∀ ◻ ∃◇ φ
Validacao de polıticas usando ctl
verificador
PSfrag replacements
K(Dπ)
ϕ
sucesso ouϕ
contra-exemplo
Introducao Fundamentos O problema A solucao Conclusao
Nosso propositoSıntese como efeito colateral da verificacao de modelos
Planejamento como verificacao 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 alcancabilidade estendida
planejador
PSfrag replacements
Ds0
ϕ
K(Dπ)
ϕ
plano ou
fracasso
Uma meta de alcancabilidade estendida e um par (ϕ1, ϕ2), onde:
ϕ1 e uma condicao a ser preservada
ϕ2 e uma condicao a ser alcancada
Introducao Fundamentos O problema A solucao Conclusao
Nosso propositoPlanejamento para metas de alcancabilidade estendidas
Subclasses de metas de alcancabilidade estendidas da forma (ϕ1, ϕ2)
simples ⇔ ϕ1 e a constante ⊺linear ⇔ ϕ1 e uma formula proposicionalramificada ⇔ ϕ1 e uma formula temporal
PSfrag replacements
alcancabilidade estendida
alcancabilidade estendida ramificada
alcancabilidade estendida linear
alcancabilidade simples
ctl x metas de alcancabilidade estendidas
tarefa linear ramificada
especificacao sim ✓ nao X
sıntese nao X nao X
validacao sim ✓ nao X
Introducao Fundamentos O problema A solucao Conclusao
Inadequacao de CTL para o nosso propositoExemplo 1 - Problema com meta da subclasse linear
Domınio D1: alcancar g , garantidamente, preservando r
s0
s1
s
s2
3
c
a
b
a
ar
r
r
s4
s
s5
6
g
b
ba
c
a
s0
s1
s2 c
a
ar
r
r s5g
b
PSfrag replacementsπ1 = {(s0, a), (s1,b), (s2, c)}
✓ Especificacao: ∀(r ⊔ g)
X Sıntese: (K(D1), s0) /⊧ ∀(r ⊔ g)
✓ Validacao: (K(Dπ1
1 ), s0) ⊧ ∀(r ⊔ g)
Introducao Fundamentos O problema A solucao Conclusao
Inadequacao de CTL para o nosso propositoExemplo 2 - Problema com meta da subclasse ramificada
Domınio D2: alcancar g , garantidamente, preservando a propriedade desempre poder alcancar r em no maximo dois passos
s0
s1
s
s2
3
a
a
bc
r r
s4
s
s5
6
g
b
b
c
a
s0
s3
bc
r
s
s5
6
g
bPSfrag replacements
π2 = {(s0,b), (s3, c), (s6,b)}
X Especificacao: ∀((r ∨ ∀◯ r ∨ ∀◯∀◯ r) ⊔ g)
X Sıntese: (K(D2), s0) /⊧ ∀((r ∨ ∀◯ r ∨ ∀◯∀◯ r) ⊔ g)
X Validacao: (K(Dπ2
2 ), s0) /⊧ ∀((r ∨ ∀◯ r ∨ ∀◯ ∀◯ r) ⊔ g)
Nem toda polıtica pode ser validada apos ter sido sintetizada!
Introducao Fundamentos O problema A solucao Conclusao
A logica temporal α-CTLSintaxe e semantica
Novos operadores temporais [JAAMAS-2008]
ctl: ∀◯ p vale em s se todo sucessor de s satisfaz p
α-ctl: ∀⊙ p vale em s se todo α-sucessor de s, para α ∈ A, satisfaz p
Intensao das formulas
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∃(ϕ1 D ϕ2)KD = µY .(Jϕ2KD ∪ (Jϕ1KD ∩ T−
∃ (Y )))
J∀(ϕ1 D ϕ2)KD = µY .(Jϕ2KD ∪ (Jϕ1KD ∩ T−
∀ (Y )))
Introducao Fundamentos O problema A solucao Conclusao
A logica temporal α-CTLVerificacao de modelos
O verificador Vactl [SBMF-2007]
Vactl(ϕ,D)1 C ← S ∖ Intensao[D](ϕ)2 se C = ∅ ent~ao devolva sucesso
3 sen~ao devolva C
Exemplo - Verificacao de ∀(r D g)
{s5}
s0
s1
s
s2
3
c
a
b
a
ar
r
r
s4
s
s5
6
g
b
ba
c
a
Teoremas e propriedades formais
Intensao[D](ϕ) devolve o conjunto JϕKDVactl(D, ϕ) devolve sucesso ⇔ (D, s) ⊧ ϕ, para ∀s ∈ S
Introducao Fundamentos O problema A solucao Conclusao
A logica temporal α-CTLVerificacao de modelos
O verificador Vactl [SBMF-2007]
Vactl(ϕ,D)1 C ← S ∖ Intensao[D](ϕ)2 se C = ∅ ent~ao devolva sucesso
3 sen~ao devolva C
Exemplo - Verificacao de ∀(r D g)
{s5, s2}
s0
s1
s
s2
3
c
a
b
a
ar
r
r
s4
s
s5
6
g
b
ba
c
a
Teoremas e propriedades formais
Intensao[D](ϕ) devolve o conjunto JϕKDVactl(D, ϕ) devolve sucesso ⇔ (D, s) ⊧ ϕ, para ∀s ∈ S
Introducao Fundamentos O problema A solucao Conclusao
A logica temporal α-CTLVerificacao de modelos
O verificador Vactl [SBMF-2007]
Vactl(ϕ,D)1 C ← S ∖ Intensao[D](ϕ)2 se C = ∅ ent~ao devolva sucesso
3 sen~ao devolva C
Exemplo - Verificacao de ∀(r D g)
{s5, s2, s1}
s0
s1
s
s2
3
c
a
b
a
ar
r
r
s4
s
s5
6
g
b
ba
c
a
Teoremas e propriedades formais
Intensao[D](ϕ) devolve o conjunto JϕKDVactl(D, ϕ) devolve sucesso ⇔ (D, s) ⊧ ϕ, para ∀s ∈ S
Introducao Fundamentos O problema A solucao Conclusao
A logica temporal α-CTLVerificacao de modelos
O verificador Vactl [SBMF-2007]
Vactl(ϕ,D)1 C ← S ∖ Intensao[D](ϕ)2 se C = ∅ ent~ao devolva sucesso
3 sen~ao devolva C
Exemplo - Verificacao de ∀(r D g)
{s5, s2, s1, s0}⇐ ponto-fixo mınimo
s0
s1
s
s2
3
c
a
b
a
ar
r
r
s4
s
s5
6
g
b
ba
c
a
Teoremas e propriedades formais
Intensao[D](ϕ) devolve o conjunto JϕKDVactl(D, ϕ) devolve sucesso ⇔ (D, s) ⊧ ϕ, para ∀s ∈ S
Introducao Fundamentos O problema A solucao Conclusao
A logica temporal α-CTLSıntese de modelos
O planejador Pactl [JAAMAS-2008, JCSS-2009]
Pactl(D, s0, ϕ)1 M ←Modelo[D](min, ϕ)2 C ← Cobertura(M)3 se s0 ∈ C ent~ao devolva Polıtica(M)4 devolva fracasso
s
s
sa
bs b
c
0
1
23
s5
Teoremas e propriedades formais
Pactl(D, s0, ϕ) devolve fracasso⇔ (D, s0) /⊧ ϕ
(D, s0) ⊧ ∃(ϕ1 D ϕ2)⇒Pactl devolve uma solucao fraca
(D, s0) ⊧ ∀(ϕ1 D ϕ2)⇒Pactl devolve uma solucao forte
(D, s0) ⊧ ∀� ∃(ϕ1 D ϕ2)⇒Pactl devolve uma solucao forte-cıclica
A solucao fraca devolvida por Pactl e otima no melhor caso
A solucao forte devolvida por Pactl e otima no pior caso
Introducao Fundamentos O problema A solucao Conclusao
Planejamento baseado em α-ctlOutros resultados
Tratamento de outros tipos de metas [WoLLIC-2008, LJIGPL-2008]
comparacao entre α-ctl e p-ctl
especificacao de outros tipos de metas estendidas
planejamento para metas do tipo “try-your-best”
Planejamento probabilıstico forte [ICAPS-2008, MICAI-2008]
descarta acoes que causam falhas ou ciclos (ordenacao topologica)usa equacoes de Bellman para escolher melhor acao em cada etapapermite metas de alcancabilidade estendidas
s1 s3
s0 s2a (1.0)
s5
s4d (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 s1 s3
s0s2
s5
s4
g
d
d
d
a
a ab
bb
b
c
c
PSfrag replacements
1a2a3a4a
Introducao Fundamentos O problema A solucao Conclusao
ConclusaoResumo e Contribuicoes
A sıntese de planos pode ser obtida como um efeito colateral da verificacao deuma propriedade ϕ (meta) num modelo D (domınio). Assim, a validade de umplano e consequencia direta de um processo de sıntese bem fundamentado emmetodos formais.
Contribuicoes originais desse trabalho
definicao da classe de metas de alcancabilidade estendidas, que sao maisexpressivas que aquelas tratadas no planejamento classico
definicao da logica temporal α-ctl, cuja semantica permite o tratamentoadequado de metas de alcancabilidade estendidas
formulacao de um arcabouco formal para planejamento sob incerteza parametas de alcancabilidade estendidas, com diferentes requisitos dequalidade (fraca, forte ou forte-cıclica)
criacao de um algoritmo para planejamento probabilıstico forte parametas de alcancabilidade estendidas, que integra ideias de vm e mdps