Title: Binary Decision Diagrams
1Binary Decision Diagrams
Graph-based Representation of Boolean Functions
- Introduced by Lee (1959).
- Popularized by Bryant (1986).
- compact (functions of 50 variables)
- efficient (linear time manipluation)
Widely used has had a significant impact on the
CAD industry.
2Binary Decision Diagrams
Graph-based Representation of Boolean Functions
1
0
BDD is defined as Directed Acyclic Graph
0
0
1
1
3Binary Decision Diagrams
Short described a cyclic structure for a BDD
variant (1960).
We suggest cycles are a general phenomenon.
0
0
1
0
1
1
4Binary Decision Diagrams
Short described a cyclic structure for a BDD
variant (1960).
We suggest cycles are a general phenomenon.
0
0
1
0
1
1
0
1
0
0
1
0
1
1
5Binary Decision Diagrams
Short described a cyclic structure for a BDD
variant (1960).
We suggest cycles are a general phenomenon.
0
0
1
0
1
1
6Binary Decision Diagrams
Short described a cyclic structure for a BDD
variant (1960).
We suggest cycles are a general phenomenon.
0
0
1
0
1
1
Future research awaits...
7Analysis of Biochemcial Systems
Result of computation is a certain token
distribution.
time t
time (t?t)
8Analysis of Biochemcial Systems
Colored tokens (multi-valued logic).
time t
time (t?t)
9Balancer
- Asynchronous token routing device
inputs
outputs
1 bit of memory
10Balancer
- Asynchronous token routing device
inputs
outputs
1 bit of memory
11Balancer
- Asynchronous token routing device
inputs
outputs
1 bit of memory
12Balancer
- Asynchronous token routing device
inputs
outputs
1 bit of memory
13Balancer
- Asynchronous token routing device
inputs
outputs
1 bit of memory
14Balancer
- Asynchronous token routing device
inputs
outputs
1 bit of memory
15Balancer
- Asynchronous token routing device
inputs
outputs
1 bit of memory
16Balancer
- Asynchronous token routing device
inputs
outputs
1 bit of memory
17Balancer
- Asynchronous token routing device
inputs
outputs
1 bit of memory
18Balancer
- Asynchronous token routing device
inputs
outputs
1 bit of memory
19Balancer
- Asynchronous token routing device
inputs
outputs
balanced token counts
1 bit of memory
20Balancer
inputs
outputs
x
y
1 bit of memory
21Counting Network
- Data structure for multiprocessor coordination
c
c
d
a
a
c
c
d
d
d
g
g
step sequence
a
b
e
e
f
g
f
b
e
a
b
b
e
g
f
f
22Counting Network
Execution trace token counts on all wires
step sequence
23Counting Network
Tokens are assigned value based on the output
wire number.
4, 8, 12, 16, . . .
3, 7, 11, 15, . . .
Counting Network
2, 6, 10, 14, . . .
1, 5, 9, 13, . . .