O documento discute diagramas de decisão binária (BDD) e sua aplicação em verificação de modelos. BDDs representam fórmulas proposicionais de forma compacta e eficiente e permitem representar conjuntos de estados simbolicamente. Isso torna possível a verificação simbólica de modelos, que pode resolver problemas de planejamento em inteligência artificial.
2. Apresentação
Marcos Paulo Maia dos Santos
◉ Ciência da Computação
◉ LINCE - Inteligência Artificial
◉ Bolsista de Iniciação Científica
Orientadora: Profa. Dra. Maria Viviane de Menezes
Universidade Federal
do Ceará 2
4. Lógica Proposicional
◉ Linguagem para expressão de sentenças declarativas (proposições)
◉ Proposições: Verdadeiro ou Falso
φ ::= p | ⊤ | ⊥ | (¬φ) | (φ∧φ) | (φ∨φ) | (φ->φ)
4
p q ¬q
p ∧
¬q
V V F F
F V F F
V F V V
F F V F
Exemplo: Russas é quente e não chove
p = Russas é quente
q = chove
◉ p ∧ ¬q
◉ Satisfazível? Válida?
5. Árvore de Decisão Binária
◉ Estrutura de dados para representação de uma fórmula
proposicional
◉ Representa cada valoração possível para as variáveis
p
F (0)
V (1)
p p ∨ q
p q p ∨ q
0 0 F (0)
0 1 V (1)
1 0 V (1)
1 1 V (1)
5
6. Árvore de Decisão Binária
◉ Pode ficar melhor
p ∨ q
6
BDD○ Compartilhamento de subgrafos isomorfos
○ Remoção de testes redundantes
7. Diagrama de Decisão Binária
BDD → Binary Decision Diagram
◉ Grafo direcionado acíclico
◉ Vértices
◉ Arestas
T ⊥ p p ∧ q
7
11. Comparação
11
Representação de
funções booleanas
Compacta?
Teste para operações booleanas
Satisfatibilidade Validade ∧ ∨ ¬
Fórmulas
proposicionais
Frequentemente Difícil Difícil Fácil Fácil Fácil
Forma normal
disjuntiva
Às vezes Fácil Difícil Difícil Fácil Difícil
Forma normal
conjuntiva
Às vezes Difícil Fácil Fácil Difícil Difícil
Tabela-verdade Nunca Difícil Difícil Difícil Difícil Difícil
ROBDDs Frequentemente Fácil Fácil Médio Médio Fácil
Comparando eficiência de cinco representações de fórmulas booleanas [Huth & Ryan, 2004]
12. ➔ Verificação de Modelos
➔ Representação Simbólica
Verificação Simbólica
de Modelos2
12
13. Verificação de Modelos
◉ Método formal de verificação de sistemas
◉ Usada para determinar se um modelo de software ou
hardware K satisfaz uma dada propriedade φ
13
[Pereira & Barros 2007]
14. Verificação de Modelos
◉ Modelo como uma estrutura de Kripke [Kripke, 1963]
14
Menu
Pontos,
Ganhou
Jogando
Inicia
Ganha
Perde
Continua
A
B
C
◉ Propriedade em lógica temporal
○ EF (Ganhou)
○ (É possível ganhar o jogo?)
15. Verificação Simbólica de Modelos
◉ Estados individuais não estão representados, e sim conjuntos
de estados (simbolicamente)
◉ BDD como estrutura de dados básica
○ Estado: conjunção das proposições
○ Conjunto de estados: disjunção dos estados
○ Transição: conjunção dos dois estados
○ Conjunto de transições: disjunção das transições
15
C = Pontos ∧ Ganhou
{A,C} = (Pontos ∧ Ganhou) ∨ Menu
16. Verificação Simbólica de Modelos
C = Pontos ∧ Ganhou
{A,C} = (Pontos ∧ Ganhou) ∨ Menu
T (B, A) = Jogando ∧ Menu
T = (Jogando ∧ Menu)
∨ (Menu ∧ Jogando)
∨ (Pontos ∧ Ganhou ∧ Menu)
∨ (Jogando ∧ Pontos ∧ Ganhou)
16
Menu
Pontos,
Ganhou
JogandoInicia
Ganha
Perde
Continua
A
B
C
17. Considerações Finais
◉ BDDs são uma forma compacta e eficiente para representação de
fórmulas proposicionais e permitem representar conjunto de
estados com até 1020
estados [Burch et al. 1992].
17
◉ A verificação de modelos pode ser usada para resolver problemas
de Planejamento em Inteligência Artificial
○ MBP (Model Based Planner) [Cimatti et al. 2003]
○ Planejador para Metas de Alcançabilidade Estendidas [Pereira 2007]
○ Mudanças em Problemas de Planejamento sem Solução [Menezes
2014]
19. Referências
Bryant, R. E. (1986). Graph-based algorithms for boolean function
manipulation. IEEE Trans. Comput., 35(8):677–691
Burch, J. R., Clarke, E. M., McMillan, K. L., Dill, D. L., and
Hwang, L.-J. (1992). Symbolic model checking: 1020
states and
beyond. Information and computation.
Cimatti, A.; Pistore, M.; Roveri, M.; and Traverso, P. (2003). Weak,
strong, and strong cyclic planning via symbolic model checking.
Artificial Intelligence Journal 147(12):35–84.
Huth, M. & Ryan, M. (2004). Logic in Computer Science:
Modelling and reasoning about systems. Cambridge Univ Pr.
Kripke, S. (1963). Semantical considerations on modal logic. Acta
Philosophica Fennica, 16:83–94.
19
Pereira, S. L. & Barros, L. N. (2007). A logic-based agent that plans
for extended reachability goals. In Journal of Autonomous Agents
and Multi-Agent Systems, Special issue on Computational
Logic-based Agents, Canada.
Pereira, S. L. (2007). Planejamento sob incerteza para metas de
alcançabilidade estendidas. Tese (Doutorado em Ciência da
Computação) - IME-USP.
Menezes, M. V. (2014). Mudanças em Problemas de Planejamento
sem Solução. Tese (Doutorado em Ciência da Computação) -
IME-USP