SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Planejamento como
Verificação de Modelos
Deyvison Nogueira
Hugo Venâncio
Liana Carvalho
Marcos Paulo
Marília Cristina
O que é Planejamento Automatizado?
● Planejamento é o processo de escolha e organização de
ações através da antecipação dos resultados esperados.
○ Busca alcançar, através da execução de ações, objetivos previamente
estabelecidas.
● Planejamento Automatizado é a subárea da IA que estuda
esse processo de raciocínio, por meio da computação.
○ Desenvolvimento de sistemas inteligentes que exigem
comportamento autônomo, em ambientes modeláveis.
2
Planejamento
● Clássico
● Não-determinístico
3
Planejamento Clássico
● O estado muda apenas quando o agente executa uma ação
● Os efeitos das ações do agente são conhecidos
● A meta é alcançar um determinado estado final
Domínio
Mundo dos blocos 4
Planejamento Clássico
● O estado muda apenas quando o agente executa uma ação
● Os efeitos das ações do agente são conhecidos
● A meta é alcançar um determinado estado final
Problema
Mundo dos blocos 5
Planejamento Clássico
● O estado muda apenas quando o agente executa uma ação
● Os efeitos das ações do agente são conhecidos
● A meta é alcançar um determinado estado final
Plano
(sequência)
Mundo dos blocos 6
7
Planejamento sob incerteza
● Os efeitos das ações do agente são incertos
● O agente precisa observar o ambiente
Mundo do robô
Sequência: π = ⟨entrar-no-elevador,
ir-segundo-andar⟩
Política: π = { (saguao, entrar-no-elevador),
(elevador, ir-segundo-andar) }
Estratégias para seleção de ações
→ Influência direta na qualidade das soluções
● Pessimista → Solução Forte
π = { (s0
, ir-s1
), (s1
, ir-s2
), (s2
, ir-s6
), (s6
, ir-s5
) }
● Tentativa e erro → Solução Forte-cíclica
π = { (s0
, ir-s1
), (s1
, ir-s5
)}
● Otimista → Solução Fraca
π = { (s0
, ir-s4
), (s4
, ir-s5
)} 8
Mundo do robô
Verificação de Modelos
● O problema de verificação
● Estrutura de Kripke
● Lógica temporal
9
Verificação de modelos
10
Verificação formal de sistemas
consiste em verificar se K ⊧ φ, onde:
● K é um modelo formal do sistema e
● φ é uma descrição da propriedade a ser verificada
● o modelo do sistema é uma estrutura de Kripke
● a propriedade é especificada em lógica temporal
Estrutura de Kripke
11
● Um conjunto finito de estados
● Uma função de transição de estados
● Uma função de rotulação de estados
Estrutura de Kripke Árvore de Computação
A lógica temporal CTL (Lógica de Árvore Computacional)
12
Sintaxe: EX, EG, EF, EU e AX, AG, AF, AU
Semântica:
s ⊧ EX p
s ⊧ AX p
s ⊧ EG p s ⊧ EF p s ⊧ E[p U q]
s ⊧ AG p s ⊧ AF p s ⊧ A[p U q]
Exemplo de verificação baseada em CTL
13
● EF ⇔ ∨ EX EF
● EG ⇔ ∧ EX EG
● E[ U ] ⇔ ∨ ( ∧ EX E[ U ])
Verificação de EF p:
Exemplo de verificação baseada em CTL
14
● EF ⇔ ∨ EX EF
● EG ⇔ ∧ EX EG
● E[ U ] ⇔ ∨ ( ∧ EX E[ U ])
Verificação de EF p:
● X = {s0
, s1
, s2
, s3
}
Y = {s1
}
Exemplo de verificação baseada em CTL
15
● EF ⇔ ∨ EX EF
● EG ⇔ ∧ EX EG
● E[ U ] ⇔ ∨ ( ∧ EX E[ U ])
Verificação de EF p:
● X = {s0
, s1
, s2
, s3
}
Y = {s1
}
● X = {s1
}
Y = {s0
, s1
}
Exemplo de verificação baseada em CTL
16
● EF ⇔ ∨ EX EF
● EG ⇔ ∧ EX EG
● E[ U ] ⇔ ∨ ( ∧ EX E[ U ])
Verificação de EF p:
● X = {s0
, s1
, s2
, s3
}
Y = {s1
}
● X = {s1
}
Y = {s0
, s1
}
● X = {s0
, s1
}
Y = {s0
, s1
, s2
}
Exemplo de verificação baseada em CTL
17
● EF ⇔ ∨ EX EF
● EG ⇔ ∧ EX EG
● E[ U ] ⇔ ∨ ( ∧ EX E[ U ])
Verificação de EF p:
● X = {s0
, s1
, s2
, s3
}
Y = {s1
}
● X = {s1
}
Y = {s0
, s1
}
● X = {s0
, s1
}
Y = {s0
, s1
, s2
}
● X = {s0
, s1
, s2
}
Y = {s0
, s1
, s2
}
(Ponto Fixo)
O Planejamento como
verificação de modelos
● O arcabouço de verificação de modelos
● Domínio e problema de planejamento
● Planejamento fraco e forte
18
Planejamento como verificação de modelos (VM)
19
consiste em verificar se (K, s0
) ⊧ φ, onde:
● K é um modelo do domínio de planejamento
● s0
é o estado inicial do problema
● φ é a meta do problema
A verificação da propriedade (meta) é executada até que o
estado inicial seja alcançado.
Domínio de Planejamento
20
● Um conjunto finito de estados
● Uma função de transição de estados (com ações)
● Uma função de rotulação de estados
Domínio D Mundo do robô
Domínio de Planejamento
21
● Um conjunto finito de estados
● Uma função de transição de estados (com ações)
● Uma função de rotulação de estados
Domínio D Estrutura de execução Dπ para
uma política π
π = { (s0
, a04
), (s4
, a45
) }
Planejamento como verificação de modelos (VM)
22
Problema de planejamento em VM
● Um domínio de planejamento
● Um estado inicial
● Uma fórmula proposicional (meta)
Qualidade das soluções em CTL
Seja π uma política para um problema com meta . π é:
● fraca ⇔ (K (Dπ), s0
) ⊧ EF
● forte ⇔ (K (Dπ), s0
) ⊧ AF
● forte-cíclica ⇔ (K (Dπ), s0
) ⊧ AG EF
Validando políticas com CTL
Planejamento fraco
23
PréImagemFraca(Y) = { (s, a): s ∈ S, a ∈ A e T (s, a) ∩ Y ≠ ∅}
● Estados que fazem transição para algum elemento de Y
Planejamento fraco para alcançar s5
, a partir de s0
:
● π = { }
Planejamento fraco
24
PréImagemFraca(Y) = { (s, a): s ∈ S, a ∈ A e T (s, a) ∩ Y ≠ ∅}
● Estados que fazem transição para algum elemento de Y
Planejamento fraco para alcançar s5
, a partir de s0
:
● π = { (s4
, a45
), (s6
, a65
) }
Planejamento fraco
25
PréImagemFraca(Y) = { (s, a): s ∈ S, a ∈ A e T (s, a) ∩ Y ≠ ∅ }
● Estados que fazem transição para algum elemento de Y
Planejamento fraco para alcançar s5
, a partir de s0
:
● π = { (s4
, a45
), (s6
, a65
), (s0
, a04
), (s2
, a26
) }
Estado inicial encontrado!!!
Planejamento forte
26
PréImagemForte(Y) = { (s, a): s ∈ S, a ∈ A e ∅ ≠ T (s, a) ⊆ Y }
● Estados que fazem transição somente para elemento de Y
Planejamento forte para alcançar s5
, a partir de s0
:
● π = { }
Planejamento forte
27
PréImagemForte(Y) = { (s, a): s ∈ S, a ∈ A e ∅ ≠ T (s, a) ⊆ Y }
● Estados que fazem transição somente para elemento de Y
Planejamento forte para alcançar s5
, a partir de s0
:
● π = { (s4
, a45
), (s6
, a65
) }
Planejamento forte
28
PréImagemForte(Y) = { (s, a): s ∈ S, a ∈ A e ∅ ≠ T (s, a) ⊆ Y }
● Estados que fazem transição somente para elemento de Y
Planejamento forte para alcançar s5
, a partir de s0
:
● π = { (s4
, a45
), (s6
, a65
), (s2
, a26
) }
Planejamento forte
29
PréImagemForte(Y) = { (s, a): s ∈ S, a ∈ A e ∅ ≠ T (s, a) ⊆ Y }
● Estados que fazem transição somente para elemento de Y
Planejamento forte para alcançar s5
, a partir de s0
:
● π = { (s4
, a45
), (s6
, a65
), (s2
, a26
), (s1
, a12
) }
Planejamento forte
30
PréImagemForte(Y) = { (s, a): s ∈ S, a ∈ A e ∅ ≠ T (s, a) ⊆ Y }
● Estados que fazem transição somente para elemento de Y
Planejamento forte para alcançar s5
, a partir de s0
:
● π = { (s4
, a45
), (s6
, a65
), (s2
, a26
), (s1
, a12
), (s0
, a01
) }
Estado inicial encontrado!!!
Por fim…
31
Obrigado!
32
Referências
● Inteligência Artificial - 3ª Ed. 2013 - Peter Norvig, Stuart Russell
● LAGO, SILVIO: Planejamento sob incerteza para metas de alcançabilidade
estendidas - Qualificação de Doutorado e Slides, IME-USP, 2007
● MENEZES, VIVIANE: Mudanças em problemas de Planejamento sem
Solução - Tese de Doutorado, USP, 2014
33

Mais conteúdo relacionado

Mais de Marcos Paulo Maia dos Santos

Inclusão Digital - Conceitos básicos de informática
Inclusão Digital - Conceitos básicos de informáticaInclusão Digital - Conceitos básicos de informática
Inclusão Digital - Conceitos básicos de informáticaMarcos Paulo Maia dos Santos
 
Linguagens não recursivamente enumeráveis e Hierarquia de Chomsky
Linguagens não recursivamente enumeráveis e Hierarquia de ChomskyLinguagens não recursivamente enumeráveis e Hierarquia de Chomsky
Linguagens não recursivamente enumeráveis e Hierarquia de ChomskyMarcos Paulo Maia dos Santos
 
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticos
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticosRegressão simbólica - Resolvendo problemas de planejamento não-determinísticos
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticosMarcos Paulo Maia dos Santos
 
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)Marcos Paulo Maia dos Santos
 
Applied plotting, charting & data representation in Python (pt. 2)
Applied plotting, charting & data representation in Python (pt. 2)Applied plotting, charting & data representation in Python (pt. 2)
Applied plotting, charting & data representation in Python (pt. 2)Marcos Paulo Maia dos Santos
 

Mais de Marcos Paulo Maia dos Santos (10)

Inclusão Digital - Conceitos básicos de informática
Inclusão Digital - Conceitos básicos de informáticaInclusão Digital - Conceitos básicos de informática
Inclusão Digital - Conceitos básicos de informática
 
Linguagens não recursivamente enumeráveis e Hierarquia de Chomsky
Linguagens não recursivamente enumeráveis e Hierarquia de ChomskyLinguagens não recursivamente enumeráveis e Hierarquia de Chomsky
Linguagens não recursivamente enumeráveis e Hierarquia de Chomsky
 
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticos
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticosRegressão simbólica - Resolvendo problemas de planejamento não-determinísticos
Regressão simbólica - Resolvendo problemas de planejamento não-determinísticos
 
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
 
Introdução a ciência de dados com Python
Introdução a ciência de dados com PythonIntrodução a ciência de dados com Python
Introdução a ciência de dados com Python
 
Applied plotting, charting & data representation in Python (pt. 2)
Applied plotting, charting & data representation in Python (pt. 2)Applied plotting, charting & data representation in Python (pt. 2)
Applied plotting, charting & data representation in Python (pt. 2)
 
Resolução de problemas por meio de busca
Resolução de problemas por meio de buscaResolução de problemas por meio de busca
Resolução de problemas por meio de busca
 
Planejamento em Inteligência Artificial
Planejamento em Inteligência ArtificialPlanejamento em Inteligência Artificial
Planejamento em Inteligência Artificial
 
Diagramas de decisão binária
Diagramas de decisão bináriaDiagramas de decisão binária
Diagramas de decisão binária
 
Linguagens de programação - Go
Linguagens de programação - GoLinguagens de programação - Go
Linguagens de programação - Go
 

Planejamento como verificação de modelos

  • 1. Planejamento como Verificação de Modelos Deyvison Nogueira Hugo Venâncio Liana Carvalho Marcos Paulo Marília Cristina
  • 2. O que é Planejamento Automatizado? ● Planejamento é o processo de escolha e organização de ações através da antecipação dos resultados esperados. ○ Busca alcançar, através da execução de ações, objetivos previamente estabelecidas. ● Planejamento Automatizado é a subárea da IA que estuda esse processo de raciocínio, por meio da computação. ○ Desenvolvimento de sistemas inteligentes que exigem comportamento autônomo, em ambientes modeláveis. 2
  • 4. Planejamento Clássico ● O estado muda apenas quando o agente executa uma ação ● Os efeitos das ações do agente são conhecidos ● A meta é alcançar um determinado estado final Domínio Mundo dos blocos 4
  • 5. Planejamento Clássico ● O estado muda apenas quando o agente executa uma ação ● Os efeitos das ações do agente são conhecidos ● A meta é alcançar um determinado estado final Problema Mundo dos blocos 5
  • 6. Planejamento Clássico ● O estado muda apenas quando o agente executa uma ação ● Os efeitos das ações do agente são conhecidos ● A meta é alcançar um determinado estado final Plano (sequência) Mundo dos blocos 6
  • 7. 7 Planejamento sob incerteza ● Os efeitos das ações do agente são incertos ● O agente precisa observar o ambiente Mundo do robô Sequência: π = ⟨entrar-no-elevador, ir-segundo-andar⟩ Política: π = { (saguao, entrar-no-elevador), (elevador, ir-segundo-andar) }
  • 8. Estratégias para seleção de ações → Influência direta na qualidade das soluções ● Pessimista → Solução Forte π = { (s0 , ir-s1 ), (s1 , ir-s2 ), (s2 , ir-s6 ), (s6 , ir-s5 ) } ● Tentativa e erro → Solução Forte-cíclica π = { (s0 , ir-s1 ), (s1 , ir-s5 )} ● Otimista → Solução Fraca π = { (s0 , ir-s4 ), (s4 , ir-s5 )} 8 Mundo do robô
  • 9. Verificação de Modelos ● O problema de verificação ● Estrutura de Kripke ● Lógica temporal 9
  • 10. Verificação de modelos 10 Verificação formal de sistemas consiste em verificar se K ⊧ φ, onde: ● K é um modelo formal do sistema e ● φ é uma descrição da propriedade a ser verificada ● o modelo do sistema é uma estrutura de Kripke ● a propriedade é especificada em lógica temporal
  • 11. Estrutura de Kripke 11 ● Um conjunto finito de estados ● Uma função de transição de estados ● Uma função de rotulação de estados Estrutura de Kripke Árvore de Computação
  • 12. A lógica temporal CTL (Lógica de Árvore Computacional) 12 Sintaxe: EX, EG, EF, EU e AX, AG, AF, AU Semântica: s ⊧ EX p s ⊧ AX p s ⊧ EG p s ⊧ EF p s ⊧ E[p U q] s ⊧ AG p s ⊧ AF p s ⊧ A[p U q]
  • 13. Exemplo de verificação baseada em CTL 13 ● EF ⇔ ∨ EX EF ● EG ⇔ ∧ EX EG ● E[ U ] ⇔ ∨ ( ∧ EX E[ U ]) Verificação de EF p:
  • 14. Exemplo de verificação baseada em CTL 14 ● EF ⇔ ∨ EX EF ● EG ⇔ ∧ EX EG ● E[ U ] ⇔ ∨ ( ∧ EX E[ U ]) Verificação de EF p: ● X = {s0 , s1 , s2 , s3 } Y = {s1 }
  • 15. Exemplo de verificação baseada em CTL 15 ● EF ⇔ ∨ EX EF ● EG ⇔ ∧ EX EG ● E[ U ] ⇔ ∨ ( ∧ EX E[ U ]) Verificação de EF p: ● X = {s0 , s1 , s2 , s3 } Y = {s1 } ● X = {s1 } Y = {s0 , s1 }
  • 16. Exemplo de verificação baseada em CTL 16 ● EF ⇔ ∨ EX EF ● EG ⇔ ∧ EX EG ● E[ U ] ⇔ ∨ ( ∧ EX E[ U ]) Verificação de EF p: ● X = {s0 , s1 , s2 , s3 } Y = {s1 } ● X = {s1 } Y = {s0 , s1 } ● X = {s0 , s1 } Y = {s0 , s1 , s2 }
  • 17. Exemplo de verificação baseada em CTL 17 ● EF ⇔ ∨ EX EF ● EG ⇔ ∧ EX EG ● E[ U ] ⇔ ∨ ( ∧ EX E[ U ]) Verificação de EF p: ● X = {s0 , s1 , s2 , s3 } Y = {s1 } ● X = {s1 } Y = {s0 , s1 } ● X = {s0 , s1 } Y = {s0 , s1 , s2 } ● X = {s0 , s1 , s2 } Y = {s0 , s1 , s2 } (Ponto Fixo)
  • 18. O Planejamento como verificação de modelos ● O arcabouço de verificação de modelos ● Domínio e problema de planejamento ● Planejamento fraco e forte 18
  • 19. Planejamento como verificação de modelos (VM) 19 consiste em verificar se (K, s0 ) ⊧ φ, onde: ● K é um modelo do domínio de planejamento ● s0 é o estado inicial do problema ● φ é a meta do problema A verificação da propriedade (meta) é executada até que o estado inicial seja alcançado.
  • 20. Domínio de Planejamento 20 ● Um conjunto finito de estados ● Uma função de transição de estados (com ações) ● Uma função de rotulação de estados Domínio D Mundo do robô
  • 21. Domínio de Planejamento 21 ● Um conjunto finito de estados ● Uma função de transição de estados (com ações) ● Uma função de rotulação de estados Domínio D Estrutura de execução Dπ para uma política π π = { (s0 , a04 ), (s4 , a45 ) }
  • 22. Planejamento como verificação de modelos (VM) 22 Problema de planejamento em VM ● Um domínio de planejamento ● Um estado inicial ● Uma fórmula proposicional (meta) Qualidade das soluções em CTL Seja π uma política para um problema com meta . π é: ● fraca ⇔ (K (Dπ), s0 ) ⊧ EF ● forte ⇔ (K (Dπ), s0 ) ⊧ AF ● forte-cíclica ⇔ (K (Dπ), s0 ) ⊧ AG EF Validando políticas com CTL
  • 23. Planejamento fraco 23 PréImagemFraca(Y) = { (s, a): s ∈ S, a ∈ A e T (s, a) ∩ Y ≠ ∅} ● Estados que fazem transição para algum elemento de Y Planejamento fraco para alcançar s5 , a partir de s0 : ● π = { }
  • 24. Planejamento fraco 24 PréImagemFraca(Y) = { (s, a): s ∈ S, a ∈ A e T (s, a) ∩ Y ≠ ∅} ● Estados que fazem transição para algum elemento de Y Planejamento fraco para alcançar s5 , a partir de s0 : ● π = { (s4 , a45 ), (s6 , a65 ) }
  • 25. Planejamento fraco 25 PréImagemFraca(Y) = { (s, a): s ∈ S, a ∈ A e T (s, a) ∩ Y ≠ ∅ } ● Estados que fazem transição para algum elemento de Y Planejamento fraco para alcançar s5 , a partir de s0 : ● π = { (s4 , a45 ), (s6 , a65 ), (s0 , a04 ), (s2 , a26 ) } Estado inicial encontrado!!!
  • 26. Planejamento forte 26 PréImagemForte(Y) = { (s, a): s ∈ S, a ∈ A e ∅ ≠ T (s, a) ⊆ Y } ● Estados que fazem transição somente para elemento de Y Planejamento forte para alcançar s5 , a partir de s0 : ● π = { }
  • 27. Planejamento forte 27 PréImagemForte(Y) = { (s, a): s ∈ S, a ∈ A e ∅ ≠ T (s, a) ⊆ Y } ● Estados que fazem transição somente para elemento de Y Planejamento forte para alcançar s5 , a partir de s0 : ● π = { (s4 , a45 ), (s6 , a65 ) }
  • 28. Planejamento forte 28 PréImagemForte(Y) = { (s, a): s ∈ S, a ∈ A e ∅ ≠ T (s, a) ⊆ Y } ● Estados que fazem transição somente para elemento de Y Planejamento forte para alcançar s5 , a partir de s0 : ● π = { (s4 , a45 ), (s6 , a65 ), (s2 , a26 ) }
  • 29. Planejamento forte 29 PréImagemForte(Y) = { (s, a): s ∈ S, a ∈ A e ∅ ≠ T (s, a) ⊆ Y } ● Estados que fazem transição somente para elemento de Y Planejamento forte para alcançar s5 , a partir de s0 : ● π = { (s4 , a45 ), (s6 , a65 ), (s2 , a26 ), (s1 , a12 ) }
  • 30. Planejamento forte 30 PréImagemForte(Y) = { (s, a): s ∈ S, a ∈ A e ∅ ≠ T (s, a) ⊆ Y } ● Estados que fazem transição somente para elemento de Y Planejamento forte para alcançar s5 , a partir de s0 : ● π = { (s4 , a45 ), (s6 , a65 ), (s2 , a26 ), (s1 , a12 ), (s0 , a01 ) } Estado inicial encontrado!!!
  • 33. Referências ● Inteligência Artificial - 3ª Ed. 2013 - Peter Norvig, Stuart Russell ● LAGO, SILVIO: Planejamento sob incerteza para metas de alcançabilidade estendidas - Qualificação de Doutorado e Slides, IME-USP, 2007 ● MENEZES, VIVIANE: Mudanças em problemas de Planejamento sem Solução - Tese de Doutorado, USP, 2014 33