Professional Documents
Culture Documents
Hierarchical Set Decision Diagrams & Automatic Saturation
Hierarchical Set Decision Diagrams & Automatic Saturation
&
Automatic Saturation
With
hierarchy
DDD
1
DDD or SDD =
SDD +
referenced values
Saturation
Atpn – June 2008 3 Hierarchical Set Decision Diagrams & Automatic Saturation
s0 N(s0) N2(s0)
1 2 3 0
a b c d 1
+ h
Iteration 1 1 2 3 1
a b c d 1
1 2 3 [0,1]
BFS style iterations a b c d 1
h
+
1 2 3 [1,2]
a b c d 1
Iteration 2
[0,1,2]
1 2 3
a b c d 1
Saturation effect
Atpn – June 2008 5 Hierarchical Set Decision Diagrams & Automatic Saturation
1 2 3 0
a b c d 1
+ h
Iteration 1 1 2 3 1
a b c d 1
1 2 3 [0,1]
BFS style iterations a b c d 1
h
+
1 2 3 [1,2]
a b c d 1
Iteration 2
Useless intermediate nodes !!
[0,1,2]
1 2 3
a b c d 1
Saturation vs BFS
Atpn – June 2008 6 Hierarchical Set Decision Diagrams & Automatic Saturation
P2 (P2)
P3 (P3)
P4 (P4)
Definition
: SDD SDD
(0) = 0
d1,d2
(d1) + (d2) = (d1+d2)
… …
… …
e
DDD sharing
& SDD sharing (reminder)
Atpn – June 2008 16 Hierarchical Set Decision Diagrams & Automatic Saturation
P2 (P2)
P3 (P3)
P4 (P4)
… … … … … …
… … …
2^3 = 8 philosophes:
3 levels of depth
+ representation of a
philosopher
Sharing at every level
Philosophers & Hierarchy :
Potential of SDD
Atpn – June 2008 22 Hierarchical Set Decision Diagrams & Automatic Saturation
• Decision diagrams:[BCM'92]
• Initially BDD [Bryant86]
• Compact Structure to represent sets
• Unique table & operation cache
• Complexity linked to number of nodes
• Exploits implicit symmetries between a
elements of the set
• Intermediate peak size problem 1 4
• Very widespread success
• SMV, Smart, Uppaal, Prism, ...
a
2
1
• Data Decision Diagram, ICATPN'2002
J.M. Couvreur, P.A. Wacrenier E. Encrenaz, E. Paviot-Adet, b c
D. Poitrenaud
3 1
• integer domain variables, no ordering,
variable length paths
• Set Operations + inductive homomorphisms 1
Transitive Closure : Fixpoint
Atpn – June 2008 26 Hierarchical Set Decision Diagrams & Automatic Saturation
State space of a Petri net
Atpn – June 2008 27 Hierarchical Set Decision Diagrams & Automatic Saturation
GetL GetR
PutL PutR
Labeled Petri net : synchronisation
Atpn – June 2008 29 Hierarchical Set Decision Diagrams & Automatic Saturation
• Synchronization on transitions
P0 P1
Labeled Petri net : state space
Atpn – June 2008 30 Hierarchical Set Decision Diagrams & Automatic Saturation
P0 P1 P2
Homomorphism application (1)
Atpn – June 2008 31 Hierarchical Set Decision Diagrams & Automatic Saturation
1 1 0 0 0 0
fork idle WaitL HasL WaitR HasR 1
0
1 0 1
WaitL HasL WaitR
Homomorphism application (2)
Atpn – June 2008 32 Hierarchical Set Decision Diagrams & Automatic Saturation
1 1
h-(Idle,1) fork idle WaitL
0
WaitL Skip is true
For variable “fork”
1 1
fork h-(Idle,1) idle WaitL
0
WaitL
Homomorphism application (3)
Atpn – June 2008 33 Hierarchical Set Decision Diagrams & Automatic Saturation
1 1 0
fork h-(Idle,1) idle WaitL
0
1
WaitL
h-(Idle,1) idle
1
idle
0
Id0 WaitL
0
0
h-(Idle,1) idle 0
Returning 0 terminal cuts the branch
Homomorphism application (4)
Atpn – June 2008 34 Hierarchical Set Decision Diagrams & Automatic Saturation
0
1 1 0 0 0 0
fork idle WaitL HasL WaitR HasR 1
0
1 0 1
WaitL HasL WaitR
Branch is pruned by h-
0 1 1
1 1 0 0 0 0
fork idle WaitL HasL WaitR HasR 1
Labeled Petri net : state space
Atpn – June 2008 35 Hierarchical Set Decision Diagrams & Automatic Saturation