Professional Documents
Culture Documents
Steve Hostettler
Université de Genève
2 novembre 2007
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 1 / 38
Summary
Introduction
Binary Decision Diagrams
ROBDD Example
OBDD & ROBDD : Definition
Operations on ROBDD
Solving problems
Model checking
ROBDD & Petri nets
Conclusion
Q&A
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 2 / 38
Introduction
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 3 / 38
Binary Decision Diagrams
Is a DAG which represents both a Boolean expression and its
solutions. Based on the Shannon Expansion theorem :
F (x1, x2, .., xn) = x1.F (x2, .., xn) + x1.F (x2, .., xn)
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 4 / 38
ROBDD Example : Build the BDD
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 5 / 38
ROBDD Example : Factorize nodes
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 6 / 38
ROBDD Example : Factorize nodes
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 7 / 38
ROBDD Example : Factorize nodes
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 8 / 38
ROBDD Example : Remove useless nodes
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 9 / 38
ROBDD Example : Remove useless nodes
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 10 / 38
ROBDD Example : Remove useless nodes
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 11 / 38
ROBDD Example : The result
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 12 / 38
Reduce BDD on the fly
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 13 / 38
OBDD : Definition
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 14 / 38
ROBDD : Definition
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 15 / 38
ROBDD (cont’d)
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 16 / 38
Operations on ROBDD
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 17 / 38
Solving problems
Define the problem as a set of boolean equations.
Build a ROBDD of the equation and then check if there is a solution.
The N-Queens problem : How to put n queens on a standard n x n
chess board ?
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 18 / 38
Solving problems (cont’d)
Let Ci,j be the constraint for the position i,j and Qi,j the presence of
a queen at position i,j :
^ ^
C 1i,j = Qi,j . ¬Qk,j .¬Qk,j+i−k .¬Qk,j+k−i . ¬Qi,l
1≤k≤n,k6=i 1≤l≤n,l6=j
^ _
Ci,j = C 1i,j . ( C 1k,j )
1≤l≤n 1≤k≤n
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 20 / 38
Encoded state machines
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 21 / 38
Encoding states
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 22 / 38
Encoding transitions
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 23 / 38
The τ and the τ −1 functions
The τ ( resp. τ −1 )
function is build using
the transition (resp.
reverse transition)
relation.
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 24 / 38
CTL
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 25 / 38
EX (φ)
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 26 / 38
E (φUntilθ)
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 27 / 38
EG (φ)
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 28 / 38
EX (¬warming )
Let’s compute the set of states that satisfy EX (¬warming ) :
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 29 / 38
EX (¬warming ) τ −1 ∩ ¬warning
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 30 / 38
EX (¬warming ) The result
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 31 / 38
ROBDD & safe Petri nets
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 32 / 38
ROBDD for bounded & weighted Petri nets
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 33 / 38
Another example
C0 : a = 1 ∧ b = 1 ; C1 : a ≤ 2 ∧ b ≥ 2 ; C2 : a = 3 ∧ b = 2 ; C3 : a ≤ 2
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 34 / 38
Another example cont’d
x1 x10 x0 x00 m a1 a0 b1 b0
0 0 0 1 1 0 1 0 1
0 0 0 1 1 1 1 1 0
0 1 0 0 1 1 0 0 1
0 1 0 0 1 1 1 0 1
0 1 0 1 1 1 0 1 0
0 1 0 1 1 1 1 1 0
1 0 0 1 0 0 1 - -
1 0 0 1 0 0 0 - -
1 0 1 0 0 0 1 - -
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 35 / 38
Parallelism
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 36 / 38
Conclusion
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 37 / 38
Q&A
Steve Hostettler (Université de Genève) Reduce Ordered Binary Decision Diagram 2 novembre 2007 38 / 38