Binary Decision Diagrams Example

Binary Decision Diagrams Example

Binary Decision Diagrams Example Directed acyclic graph non-terminal node What function is represented by the graph? terminal node ROBDDs Slide 2 Shannon Decomposition ABC + A C low edge high edge BC C Apply the decomposition recursively ROBDDs Slide 3 Ordered BDD ABC + AC ROBDDs Slide 4 Reduced Ordered BDD Merge isomorphic subtrees ROBDDs Slide 5 Reduced Ordered BDD Remove redundant nodes X X ROBDDs Slide 6 ROBDD ROBDDs Slide 7 ROBDD ROBDDs Slide 8 BDD A Binary Decision Diagram (BDD) is a rooted, directed acyclic graph • with one or two terminal nodes of out-degree zero labeled 0 or 1, and a set of variable nodes u of out-degree two. • The two outgoing edges are given by two functions low(u) and high(u). (In pictures, these are shown as dotted and solid lines, respectively.) A variable var(u) is associated with each variable node. ROBDDs Slide 9 ROBDD • A BDD is Ordered (OBDD) if on all paths through the graph the variables respect a given linear order x1 < x2 < … < xn. An OBDD is Reduced (ROBDD) if 1. (uniqueness) no two distinct nodes u and v have the same variable name and low- and high- successor, i.e., var(u) = var(v); low(u) = low(v); high(u) = high(v) implies u = v; and 2. (non-redundant tests) no variable node u has identical low- and high-successor, i.e., low(u) = high(u) ROBDDs Slide 10 Canonicity • For any function f : Bn →B there is exactly one ROBDD u with variable ordering x1 < x2 < u … < xn such that f = f(x1, … , xn). Proof: ROBDDs Slide 11 Consequences of Canonicity • How do you represent a tautology? (i.e. all variable assignments yield 1) • How do you know that the function is satisfiable? (i.e. there is at least one assignment for the variables such that the function evaluates to 1) ROBDDs Slide 12 Variable Order x1x2y1y2 ∨ x1x2y1y2 ∨ x1x2y1y2 ∨ x1x2 y1y2 ROBDDs Slide 13 Constructing and manipulating BDDs • Nodes will be represented as numbers 0, 1, 2, … with 0 and 1 reserved for the terminal nodes. • The variables in the ordering x1 < x2 < … < xn are represented by their indices 1, 2, …, n. • The ROBDD is stored in a table T:u →(i, l, h) which maps a node u to its three attributes var(u) = i, low(u) = l, and high(u) = h. ROBDDs Slide 14 Example ROBDDs Slide 15 The H Table • In order to ensure that the OBDD being constructed is reduced, it is necessary to determine from a triple (i, l, h) whether there exists a node u with var(u) = i, low(u) = l, and high(u) = h. For this purpose we assume the presence of a table H : (i, l, h) → u mapping triples (i, l, h) of variable indices i, and nodes l, h to nodes u. The table H is the “inverse" of the table T, i.e., for variable nodes u, T(u) = (i, l, h), if and only if, H(i, l, h) = u. ROBDDs Slide 16 Operations on T and H ROBDDs Slide 17 The Function Mk What is the complexity of Mk? ROBDDs Slide 18 The Build Function ROBDDs Slide 19 Example • Show build Build(A ⊕ B ⊕ C) • What is the running time of Build? • Can it be improved? • How? ROBDDs Slide 20 Apply ROBDDs Slide 21 The Function Apply Complexity? ROBDDs Slide 22 The Function Apply Dynamic programming Complexity? ROBDDs Slide 23 Example f = ABCD i v l h 0 5 1 5 2 4 0 1 3 3 0 2 4 2 3 0 5 1 0 4 add function g = ABCD ROBDDs Slide 24 Example f = ABCD g = ABCD i v l h 0 5 1 5 2 4 0 1 3 3 0 2 4 2 3 0 5 1 0 4 6 2 0 3 7 1 6 0 ROBDDs Slide 25 Example • APPLY(f,g,+) This is a forest (many trees) i v l h 0 5 1 5 2 4 0 1 3 3 0 2 How many 4 2 3 0 nodes can a 5 1 0 4 forest have? 6 2 0 3 7 1 6 0 8 1 6 4 ROBDDs Slide 26 Restrict x2 = 0 ROBDDs Slide 27 Restrict ROBDDs Slide 28 SatCount • Count the number of assignment for which the function is true ROBDDs Slide 29 AnySat • Find an assignment for which the function is true ROBDDs Slide 30 AllSat • Find all assignments for which the function is true ROBDDs Slide 31 Simplify ROBDDs Slide 32 Optimizations • deleted nodes – memory management • negated edges • variable reordering – sifting ROBDDs Slide 33.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    33 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us