graph based algorithms for boolean function manipulation
play

Graph-Based Algorithms for Boolean Function Manipulation Sofia - PowerPoint PPT Presentation

Graph-Based Algorithms for Boolean Function Manipulation Sofia Cassel March 9, 2012 Sofia Cassel () Graph-Based Algorithms for Boolean Function Manipulation March 9, 2012 1 / 9 Boolean Algebra Building blocks: 0 , 1 (true, false) x y x


  1. Graph-Based Algorithms for Boolean Function Manipulation Sofia Cassel March 9, 2012 Sofia Cassel () Graph-Based Algorithms for Boolean Function Manipulation March 9, 2012 1 / 9

  2. Boolean Algebra Building blocks: 0 , 1 (true, false) x ∧ y x ∨ y x → y x ↔ y Any Boolean expression can be written using these (and parentheses) Truth table : represents assignment of truth values to variables Tautology : always true regardless of truth assignments Satisfiable : there is a truth assignment that renders the formula true Normal forms: CNF , DNF Satisfiability: NP-complete Sofia Cassel () Graph-Based Algorithms for Boolean Function Manipulation March 9, 2012 2 / 9

  3. If-then-else normal form (INF) "if x then t 1 else t 0 " denotes ( x → t 1 ) ∧ ( ¬ x → t 0 ) t = x → t 1 , t 0 Boolean expression built from an if-then-else operator and { 0 , 1 } : all tests performed on variables Every Boolean formula has an INF Example (INF) ¬ p : if p then ⊥ else ⊤ Sofia Cassel () Graph-Based Algorithms for Boolean Function Manipulation March 9, 2012 3 / 9

  4. Shannon expansion Represent a Boolean function as the sum of two subfunctions: f = x i · f | x i = 1 + ¬ x i · f | x i = 0 f is expanded around variable x i f | x i = b = the restriction of f to the case where x i = b Use Shannon expansion to generate an INF from any Boolean expression: ◮ Expression contains no variables → 0 , 1 (true, false) ◮ Expression contains variables → Do Shannon expansion Result of Shannon expansion: binary decision tree A binary decision tree can be transformed into a BDD! Sofia Cassel () Graph-Based Algorithms for Boolean Function Manipulation March 9, 2012 4 / 9

  5. Binary Decision Diagrams Definition (BDD) A BDD is a rooted DAG with: one or two terminal nodes, outdegree 0, labeled 0 or 1 a set of nonterminal nodes u of outdegree 2. The edge are high ( u ) ; low ( u ) ; the associated variable is var ( u ) Introduced by Lee & Akers Sofia Cassel () Graph-Based Algorithms for Boolean Function Manipulation March 9, 2012 5 / 9

  6. Ordered and Reduced BDDs Introduced by Bryant [this paper] OBDD : a BDD where variables are ordered Minimality depends on ordering of variables ROBDD : a reduced OBDD All identical nodes are shared All redundant tests are eliminated Example [on blackboard] Sofia Cassel () Graph-Based Algorithms for Boolean Function Manipulation March 9, 2012 6 / 9

  7. Operations on ROBDDs Apply : Takes graphs representing f 1 and f 2 and an operator op , produces graph representing f 1 op f 2 Start at the root of both graphs ( v 1 , v 2 ) Reduce if necessary. Restriction : restricts a Boolean function with respect to truth value of a variable x i Replace each node with variable x i by the corresponding branch Transforms f into f | x i = b where b is a constant Composition , Satisfy Sofia Cassel () Graph-Based Algorithms for Boolean Function Manipulation March 9, 2012 7 / 9

  8. BDDs in Verification Used in hardware verification (equivalence of circuits) Used in model checking to determine whether model M satisfies set of properties P Every Boolean expression has a unique canonical BDD representation Sofia Cassel () Graph-Based Algorithms for Boolean Function Manipulation March 9, 2012 8 / 9

  9. References Randal E. Bryant (1986): Graph-Based Algorithms for Boolean Function Manipulation [the main paper] Henrik Reif Andersen (1997, rev. 1998): An Introduction to Binary Decision Diagrams [additional material] Sofia Cassel () Graph-Based Algorithms for Boolean Function Manipulation March 9, 2012 9 / 9

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend