rolf drechlser’s slides used davio gates and kronecker decision diagrams lecture 5
Post on 21-Dec-2015
228 views
TRANSCRIPT
![Page 1: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/1.jpg)
Rolf Drechlser’s slides usedRolf Drechlser’s slides used
Davio Gates and Kronecker Decision
DiagramsLecture 5
![Page 2: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/2.jpg)
Absolutely Minimum Background on Binary Decision Diagrams (BDD) and Kronecker
Functional Decision Diagrams
• BDDs are based on recursive Shannon expansion
F = x Fx + x’ Fx’
• Compact data structure for Boolean logic– can represents sets of objects (states) encoded as Boolean
functions
• Canonical representation– reduced ordered BDDs (ROBDD) are canonical– essential for simulation, analysis, synthesis and verification
![Page 3: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/3.jpg)
BDD Construction BDD Construction
• Typically done using APPLY operator
• Reduction rules– remove duplicate terminals– merge duplicate nodes
(isomorphic subgraphs)– remove redundant nodes
• Redundant nodes:
– nodes with identical children
10
b
10
b
c
a b
fff
a b
![Page 4: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/4.jpg)
BDD Construction – your first BDD
• Construction of a Reduced Ordered BDD
1 edge
0 edgea b c f
0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 01 1 1 1
Truth table
f = ac + bc
Decision tree
10 0 0 1 0 10
a
b
c
b
c c c
f
![Page 5: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/5.jpg)
BDD Construction – cont’dBDD Construction – cont’d
10
a
b
c
b
c c c
f f
10
a
b
c
b
c
10
a
b
c
f = (a+b)c
2. Merge duplicate nodes
1. Remove duplicate terminals
3. Remove redundant nodes
![Page 6: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/6.jpg)
Decomposition typesDecomposition types
Decomposition types are associated to the variables in Xn with the help of a decomposition type list (DTL) d:=(d1,…,dn) where di { S, pD, nD}
![Page 7: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/7.jpg)
KFDDKFDD
• Definition
![Page 8: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/8.jpg)
Three different reductions typesThree different reductions types
Type I :
Each node in a DD is a candidate for the application
xi xi xi
gfgf
![Page 9: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/9.jpg)
xi
xj xj
f g f g
Type S
Three different reductions types (cont’d)Three different reductions types (cont’d)
![Page 10: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/10.jpg)
xi
xjxj
0
f g f g
Type D
Three different reductions types (cont’d)Three different reductions types (cont’d)
This is used in
functional diagrams such as KFDDs
![Page 11: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/11.jpg)
Example for OKFDDExample for OKFDD
42131321421 xxxxxxxxxxx F=
1 x1
![Page 12: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/12.jpg)
332421421 xxxxxxxxx
4323 xxxx
134 xx
420 xx
10 3x
X1 S-node
X2 pD-node
X3 nD-node
Example for OKFDD (cont’d)Example for OKFDD (cont’d)
This diagram below explains the expansions from previous slide
![Page 13: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/13.jpg)
Example for OKFDD’s with Example for OKFDD’s with different DTL’sdifferent DTL’s
You can save a lot of nodes by a good DTL
![Page 14: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/14.jpg)
Complement Edges
They can be applied for
S-nodes
They can be applied for D-nodes
This is a powerful idea in more
advanced diagrams – any operator on
representation
![Page 15: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/15.jpg)
XOR-operation
•D-node
•S-node
Such recursive operations are a base of diagram creation
and operation
![Page 16: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/16.jpg)
AND-operationAND-operation
Such recursive operations are a base of diagram creation
and operation
![Page 17: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/17.jpg)
Restriction of Variables for S Restriction of Variables for S nodes is trivialnodes is trivial
xi
f g
S-node
f g
Xi=0 Xi=1
Cofactor for Xi=0 Cofactor for Xi=1
![Page 18: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/18.jpg)
xi
f g
pD-node
f gf
Xi=0Xi=1
Restriction of Variables for D nodes Restriction of Variables for D nodes is more complex, requires XORingis more complex, requires XORing
Please remember this
![Page 19: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/19.jpg)
xi
f g
nD-node
f gf
Xi=1 Xi=0
Restriction of Variables (cond’t)Restriction of Variables (cond’t)
![Page 20: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/20.jpg)
Optimization of OKFDD-SizeOptimization of OKFDD-Size
• Exchange of Neighboring Variables
• DTL Sifting
![Page 21: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/21.jpg)
Experimental ResultsExperimental Results
![Page 22: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/22.jpg)
Experimental Results (cont’d)Experimental Results (cont’d)
![Page 23: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/23.jpg)
DIY PROBLEM
• Use simulated annealing algorithm for choice of a better variable ordering of the OKFDD
![Page 24: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/24.jpg)
![Page 25: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/25.jpg)
![Page 26: Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d545503460f94a30e0b/html5/thumbnails/26.jpg)
Simple solution
•Solution space
X1 X2 X3 X4 X3 X4 X1 X2
A solution A solution
•Neighborhood structure
X1 X2 X3 X4
change
X1 X3 X2 X4
End of Lecture 5End of Lecture 5