Title: EE 5940: Circuits, Computation and Biology
1EE 5940 Circuits, Computation and Biology
Prof. Marc Riedel, ECE, Univ. Minnesota
A Decision Diagram
The Goddess Durga
2Analysis of Digital Circuits
Large domain, small range.
inputs
3Analysis of Digital Circuits
Large domain, small range.
inputs
2m possibilities
2 possibilities
4Analysis of Systems of Chemical Equations
Large domain, small range?
For m species, each with max. quantity N
inputs
?
Yes/No
Nm possibilities
Yes/No possibilities
5Data Structures
Truth Tables
Example
4 rows
2 variables
8 rows
3 variables
264 rows
64 variables
6Data Structures
Decision Diagrams
Example
x1
x2
x3
f
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
7Data Structures
Decision Diagrams
Optimize by merging nodes
x3
x3
x3
x3
8Data Structures
Decision Diagrams
S
Optimize by merging nodes
x1
1
0
x2
1
x3
x3
x3
0
1
0
1
1
9Data Structures
Decision Diagrams
Optimize by merging nodes
x2
x2
10Data Structures
Decision Diagrams
S
Optimize by merging nodes
x1
0
x2
1
0
x3
1
0
11Data Structures
Logic Operations
AND
12Decision Diagrams
Properties
- Canonical unique up to variable ordering
- Compact represent functions of up to 1000
variables - Efficient perform logic operations in
linear-time
13Ordered Binary Decision Diagrams
(a.k.a. Branching Programs)
Example
Directed Acyclic Graph variables are inspected
in order.
14Reducing OBDDs
Terminal Rule eliminate duplicate terminals.
15Reducing OBDDs
Elimination Rule eliminate a node if its 0 and
1 edges lead to the same node.
16Reducing OBDDs
Merging Rule merge two nodes that reference
the same variable and point to the same
successors.
17Reduced OBDDs
Question
What is the optimal strategy for eliminate and
merge operations?
18Reduced OBDDs
Strategy eliminate and merge nodes repeatedly,
in any order, until no further simplifications
are possible.
Is the result unique?
19Uniqueness (proof)
By induction on the number of variables.
Induction Hypothesis Assume that any two ROBDDs
for a function with k 1 variables, k gt 0, are
isomorphic.
Inductive Step Show that any two ROBDDs for a
function with k variables are isomorphic.
20Inductive Step
21Inductive Step
Show that this mapping is well-defined and
one-to-one.
22Inductive Step
23Mapping Well-Defined
low(v)
high(v)
Counter Example (Unreduced BDDs)
24Mapping One-To-One
Counter Example (Unreduced BDDs)
25Logic Operations
26Logic Operations
27Logic Operations
Compute
0
1
0
1
28Logic Operations
29Logic Operations
30Logic Operations
31Logic Operations
32Logic Operations
0
1
33Logic Operations
0
1
34Logic Operations
0
1
35Logic Operations
0
1
36Logic Operations
Simplify
0
1
37Logic Operations
Simplify
38Variable Ordering
39Analysis
- Functional Analysis determine what is computed.
- Timing Analysis determine how long it takes
to compute it.
l1 1
l4 3
10
a
11
12
l3 2
10
b
10
c
02
l2 1
a
10
l5 2
c
10
01
10
b
12
40Analysis
- Functional Analysis determine what is computed.
- Timing Analysis determine how long it takes
to compute it.
Explicit analysis
41Analysis
- Functional Analysis determine what is computed.
- Timing Analysis determine how long it takes
to compute it.
Explicit analysis
00
00
00
OR
AND
AND
01
02
01
42Analysis
- Functional Analysis determine what is computed.
- Timing Analysis determine how long it takes
to compute it.
Explicit analysis
00
00
00
00
10
00
OR
AND
AND
02
01
02
01
01
03
m inputs
explict evaluation intractable
43Analysis
- Functional Analysis determine what is computed.
- Timing Analysis determine how long it takes
to compute it.
Symbolic analysis
binary, multi-terminal decision diagrams.
00
10
00
OR
AND
AND
02
01
03
(See Timing Analysis of Cyclic Circuits, IWLS,
04)
44Analysis of Systems of Chemical Equations
Large domain, small range?
For m species, each with max. quantity N
inputs
?
Yes/No
Nm possibilities
Yes/No possibilities
45Biochemical Reactions
Lingua Franca of computational biology.
Reaction
1 molecule of type A combines with 2
molecules of type B to produce 2 molecules of
type C.
Reaction is annotated with a rate constant and
physical constraints (localization, gradients,
etc.)
46Biochemical Reactions
Lingua Franca of computational biology.
Reaction
Species
- Elementary molecules (e.g., hydrogen,
phosphorous, ...)
- Complex molecules (e.g., proteins,
enzymes, RNA ...)
Reaction
- Conglomeration of steps (e.g., transcription
of gene product)
47Biochemical Reactions
Lingua Franca of computational biology.
Coupled Set Reactions
Goal given initial conditions, analyze
(predict) the evolution of such a system.
48System of Chemical Equations
Discrete Quantities of Molecular Species
Types of Questions
- Can a certain state, S1, be transformed into
another state, S2? If so, in how many different
ways? S2
- Can S1 be transformed into S2 without passing
through a third state S3?
- Can S1 be reached from at least one state in a
set of states T? From all the states in a set of
states U?
49Decision Diagrams
e.g., set of possible initial states
50System of Chemical Equations
State Evolution
R1 occurs
or
R2 occurs
state before
state after
or
R3 occurs
51Decision Diagrams
reaction 1 occurs
52Decision Diagrams
reaction 2 occurs
53Decision Diagrams
reaction 3 occurs
54Decision Diagrams
Reachable States After The Next Reaction
S1
or
S2
or
S3
55Decision Diagrams
Evolution of Reachable States
S
Track evolution of a large number of states in
parallel.
56Yes/No Questions
Can ask (and answer) arbitrarily complicated
yes/no questions pertaining to reachability
C1 state S is reachable after 100 reactions
C2 state T is reachable from state U or
from state V but not from both
C3 state X is never reachable