Binary Decision Diagrams
|
|
- Emery Stephens
- 6 years ago
- Views:
Transcription
1 Binary Decision Diagrams Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant in BDDs are used to solve equivalence problems between formulas of propositional logic. Very important in the areas of hardware design and hardware optimization. 1
2 Graphs Recall some basic graph-theoretical concepts: directed graph node edge predecessor successor path cycle acyclic graph tree forest 2
3 Boolean Functions A boolean function of arity n 1 is a function {0, 1} n {0, 1}. Examples: or(x 1,x 2 ) = { 1 if x1 = 1 or x 2 = 1 0 if x 1 = 0 or x 2 = 0 3
4 if then else(x 1,x 2,x 3 ) = { x2 if x 1 = 1 x 3 if x 1 = 0 Z.B.: if then else(1, 0, 1) = 0, if then else(0, 0, 1) = 1 { 1 if x1 + x 2 = x 3 x 4 sum(x 1,x 2,x 3,x 4 ) = 0 otherwise Z.B.: sum(1, 1, 1, 0) = 1 (because = 10), sum(0, 0, 0, 1) = 0 (because = 00). 4
5 majority n (x 1,...,x n ) = 1 if the majority of x 1,...,x n has value 1 0 otherwise Z.B.: majority 4 (1, 1, 0, 0) = 0, majority 3 (1, 0, 1) = 1 parity n (x 1,...,x n ) = 1 if the number of inputs x 1,...,x n equal to 1 is even 0 otherwise Z.B.: parity 3 (1, 0, 1) = 1, parity 2 (1, 0) = 0 5
6 Formulas and boolean functions Let F be a formula, and let n be a number such that all atomic formulas occurring in F belong to {A 1,...,A n }. Example: F = A 1 A 2, n = 2, but also n = 3! We define the boolean function f n F : {0, 1}n {0, 1}: f n F(x 1,...,x n ) = truth value of F under the assignment that sets A 1,...,A n to x 1,...,x n 6
7 Example: For F = A 1 A 2 : f 3 F f 2 F (0, 1) = value of 0 1 = 0 (0, 1, 1) = value of 0 1 = 0 Remark: If all of {A 1,...,A n } occur in F, then ff n truth table of F. is essentially the Convention: We write e.g. f(x 1,x 2,x 3 ) = x 1 (x 2 x 1 ), meaning f = f 3 F for the formula F = A 1 (A 2 A 1 ). 7
8 Fact: Let F 1 and F 2 be two formulas, and let n be a number such that all atomic formulas occurring in F 1 or F 2 belong to {A 1,...,A n }. Then f n F 1 = f n F 2 iff F 1 F 2. Example: F 1 = A 1, F 2 = A 1 (A 2 A 2 ). f 2 F 1 (0, 0) = 0 = f 2 F 2 (0, 0) f 2 F 1 (0, 1) = 0 = f 2 F 2 (0, 1) f 2 F 1 (1, 0) = 1 = f 2 F 2 (1, 0) f 2 F 1 (1, 1) = 1 = f 2 F 2 (1, 1) Convention: The constants 0 and 1 represent the only two boolean functions of arity 0. 8
9 sum as binary decision tree A boolean function can be represented by a decision tree x1 1 0 x x3 x3 x3 x x4 x4 x4 x4 x4 x4 x4 x4 x
10 Variable order A decision tree can use a variable order different from the order used in the function. x3 1 0 x x4 x4 x4 x x2 x2 x2 x2 x2 x2 x2 x2 x
11 A variable order is a bijection b: {1,...,n} {x 1,...,x n } We say that b(1),b(2),b(3),...,b(n) are the first, second, third,..., n-th variable w.r.t. the order b. We denote the bijection b(1) = x i1,...,b(n) = x in by x i1 < x i2 <... < x in. 11
12 Binary decision trees A decision tree for the variable order x i1 <... < x in is a tree satisfying the following conditions: (1) All leaves are labelled by 0 or by 1. (2) All other nodes are labelled by a variable and have exactly two children, the 0-child and the 1-child. The edges leading to these children are labelled by 0 resp. by 1. (3) If the root is not a leave, then it is labelled by x i1. (4) If a node is labelled by x in then its two children are leaves. (5) If a node is labelled by x ij and j < n, then its two children are labelled by x ij+1. 12
13 Every path of a decision tree determines an assignment of the variables x i1,...x in and vice versa. The boolean function f T represented by a decision tree T is defined as follows: f T (x 1,...,x n ) = label of the leaf reached by the path corresponding to the assignment x i1 x i2... x in A binary decision forest ist a forest of decision trees with the same variable order. A decision forest represents the set of functions represented by its elements. 13
14 Binary Decision Diagrams (informally) A BDD (multibdd) is a compact representation of a binary decision tree (decision forest). A BDD (multibdd) is obtained from a decision tree (forest) through repeated application of two compression rules (see example in the next slide): Rule 1: Sharing of identical subtrees. Rule 2: Elimination of nodes for which the 0-child and the 1-child coincide (redundant nodes). The rules are applied until all subtrees are different and there are no redundant nodes. 14
15 Example: sharing of subtrees x1 1 0 x x3 x3 x3 x x4 x4 x4 x4 x4 x4 x4 x4 x All 0- und 1-leaves are merged. 15
16 Example: sharing of subtrees x1 1 0 x3 x x x4 x4 x4 x4 x4 x4 x4 x4 x3 x2 x3 1 0 All 0- und 1-leaves are merged. 16
17 Example: sharing of subtrees x1 1 0 x x2 x3 x3 x3 x3 x4 x4 x4 1 0 Identical x 4 -nodes are merged. 17
18 Example: sharing of subtrees x1 x2 x2 x3 x3 x3 x4 x4 x4 1 0 Identical x 3 -nodes are merged. 18
19 Example: removing redundant nodes x1 x2 x2 x3 x3 x3 x4 x4 x4 1 0 Redundant x 4 -node is removed 19
20 Example: removing redundant nodes x1 x2 x2 x3 x3 x3 x4 x4 1 0 Redundant x 4 -node is removed 20
21 Formal Definition of BDDs A BDD for a given variable order is an acyclic directed graph satisfying the following properties: (1) There is exactly one node without predecessors (the root) (2) There is one or two nodes without succesors, labelled by 0 or 1 (if there are two then they carry different labels). (3) All other nodes are labelled by a variable and have exactly two distinct children, the 0-child and the 1-child. The edges leading to these children are labelled by 0 resp. by 1. (4) A child of a node is labelled by 0, by 1, or by a variable larger than the label of its parent w.r.t. the variable order. (5) All descendant-closed subgraphs of the graph are non-isomorphic. 21
22 MultiBDDs A multibdd is an acyclic graph satisfying (2)-(5) together a distinguished nonempty subset of nodes called the roots. Every node without predecessors is a root, but other nodes may also be roots. A multibdd represents a set of boolean functions, one for each root. 22
23 Remarks Remark: A closed subgraph of a BDD is again a BDD. Remark: The function true n (x 1,...,x n ) given by true n (x 1,...,x n ) = 1 for every x 1,x n {0, 1} n is represented, for every n 1 and for every variable order, by the BDD consisting of one single node labelled by 1. Similarly for false n (x 1,...,x n ) 23
24 Relevance of variable orders The variable order can have large impact on the size of the BDD. Example: f(x 1,...,x 2n ) = (x 1 x n+1 ) (x 2 x n+2 ) (x n x 2n ) Size grows exponentially in n for x 1 < < x n < x n+1 < < x 2n. Size grows linearly in n for x 1 < x n+1 < x 2 < x n+2 <... < x n < x 2n. Problem in practice: finding a good order. 24
25 Canonicity of BDDs We show that for a given boolean function and a given variable order there is a unique BDD representing the function. More generally (but simpler to prove!), we show that for every set of boolean functions of the same arity and for every variable order there is a unique multibdd representing the set. 25
26 The functions f[0] und f[1] Lemma I: Let f be a boolean function of arity n 1. There are exactly two boolean functions f[0] und f[1] of arity (n 1) satisfying f(x 1,...,x n ) = ( x 1 f[0](x 2,...,x n )) (x 1 f[1](x 2,...,x n )) ( ) Proof: The functions f[0] and f[1] defined by f[0](x 2,...,x n ) = f(0,x 2,...,x n ) and f[1](x 2,...,x n ) = f(1,x 2,...,x n ) satisfy (*). Let f 0 and f 1 be arbitrary functions satisfying (*). Then f(x 1,...,x n ) = ( x 1 f 0 (x 2,...,x n )) (x 1 f 1 (x 2,...,x n )) By the properties of and we have f(0,x 2,...,x n ) = f 0 (x 2,...,x n ) and together with f(0,x 2,...,x n ) = f[0](x 2,...,x n ) we get f 0 = f[0]. The proof that f 1 = f[1] holds is analogous. 26
27 Let f: {0, 1} n {0, 1} be a boolean function, let B be a BDD with variable order x 1 < x 2 <... < x n, and let v be the root of B. Define the nodes v[0] and v[1] as follows: (1) If v is labelled by x 1, then v[0] and v[1] are the 0-child and the 1-child of v. (2) Otherwise, v[0] = v = v[1]. Lemma II: B represents the function f iff v[0] and v[1] represent the functions f[0] and f[1], respectively. Proof: Easy. 27
28 Theorem: Let F be a nonempty set of boolean functions of arity n and let x i1 <... < x in be a variable order. There is exactly one multibdd that follows this order and represents F. Proof: We consider the order x 1 < x 2 <... < x n, for other orders the proof is similar. Proof by induction on the arity n. Basis: n = 0. There are exactly two boolean functions with n = 0, namely the constants 0 and 1, and two BDDs K 0,K 1 consisting of one single node labelled by 0 or by 1. The set {0} is represented by K 0, the set {1} by K 1, and the set {0,1} by the multibdd consisting of K 0 and K 1. 28
29 Step: n > 0. Let F = {f 1,...,f k }. Define F = {f 1 [0],f 1 [1],...,f k [0],f k [1]}, where f i [0] and f i [1] are as in Lemma I. By induction hypothesis there is exactly one multibdd B with roots v 10,v 11,...,v k0,v k1 representing F. I.e., for every function f i [j] the root v ij represents f i [j]. 29
30 Let B be the multibdd with roots v 1,...v n obtained from B after executing the following steps for i = 1, 2,..., k: If v i0 = v i1 then set v i := v i0. (In this case v i0 represents f i.) If v i0 v i1 and B has a node v such with v i0 as 0-child and v i1 as 1-child then set v i := v. If v i0 v i1 and B contains no such node then add a new node v i having v i0 as 0-Kind and v i1 as 1-Kind. (So v i represents f i, see Lemma II.) Clearly, B represents F. We now show that B is the only multibdd representing F. 30
31 Let B be an arbitrary multibdd with roots ṽ 1,...ṽ n representing F. By Lemma II, B contains nodes ṽ1 [0],ṽ 1 [1],...,ṽ k [0],ṽ k [1] representing the functions of F. By induction hypothesis, the multibdd containing these nodes and all its descendants is the multibdd B. In particular, we have v ij = ṽ i [j] for every i {1,...,k} and j {0, 1}. Let v i and ṽ i be the roots of B and B, representing f i. By Lemmas I und II, v i0 and ṽ i [0] represent f[0], and v i1 and ṽ i [1] represent f[1]. Since v i [0] = ṽ i [0] and v i [1] = ṽ i [1] we get v i = ṽ i. So B and B are equal. 31
32 Computing BDDs from Formulas Goal: Given a formula F over the atomic formulas A 1,...,A n and a variable order for {x 1,...,x n }, compute a BDD representing f F (x 1,...,x n ). Naive procedure: Compute the decision tree of f F and reduce it using the compression rules. Problem: The decision tree is too large! Better procedure (idea): Compute recursively the multibdd representing {f F[Ai /0],f F[Ai /1]} for a suitable A i, and derive from it the BDD for f F, where F[A i /0] bzw. F[A i /0] are the formulas obtained by replacing every occurrence of A i by 0 resp. by 1. In the next slides we formalize this idea. 32
33 Let S = {F 1,...,F n } be a nonempty set of formulas. We define a procedure multibdd(s) that returns the roots of a multibdd representing the set {f F1,...,f Fn }. K 0 denotes the BDD with only one node labelled by 0. K 1 denotes the BDD with only one node labelled by 1. A proper formula is a formula containing at least one occurrence of a variable (i.e., not only 0 and 1). An atomic formula A i is smaller than A j if x i appears before x j in the variable order. 33
34 The function multibdd(s) if S contains no proper formulas then if all formulas of S are equivalent to 0 then return {K 0 } else if all formulas in S are equivalent to 1 then return {K 1 } else return {K 0,K 1 } else choose a proper formula F S. Let A i be the smallest atomic formula occurring in F. Let B = multibdd( (S \ {F }) {F[A i /0],F[A i /1]} ). Let v 0,v 1 be the roots of B representing F[A i /0],F[A i /1]. if v 0 = v 1 then return B else add a new node v with v 0,v 1 as 0- and 1-child (if such a node does not exist yet); return (B \ {v 0,v 1 }) {v} 34
35 Equivalence problems Given two formulas F 1, F 2, the following algorithm decides whether F 1 F 2 holds: Choose a suitable variable order x 1 <... < x n. Compute a multibdd for {F 1,F 2 }. Check whether the roots v F1,v F2 are equal. For digital circuits: the BDDs are not derived from formulas, but directly from the circuits. 35
36 Operations on BDDs Given: two formulas F,G over the atomic formulas A 1,...,A n, a variable order for {x 1,...,x n }, a multibdd with two roots v F,v G representing the functions f F (x 1,...,x n ) and f F (x 1,...,x n ), and a binary boolean operation (e.g.,,, ) Goal: compute a BDD for the function f F G (x 1,...,x n ). With our convention we have f F G = f F f G 36
37 Idea Lemma: (f F f G )[0] = f F [0] f G [0] and (f F f G )[1] = f F [1] f G [1]. Proof: Exercise. Algorithm: (for the order x 1 < x 2 <... < x n, similar for others) Compute a multibdd for {f F [0] f G [0],f F [1] f G [1]}. (Recursively.) Use the Lemma to build a BDD for f F G (x 1,...,x n ). 37
38 The function Or(v F, v G ) if v F = K 1 or v F = K 1 then return K 1 else if v F = v G = K 0 then return K 0 else let v F0,v G0 be the nodes for F[0],G[0] and let v F1,v G1 be the nodes for F[1],G[1] v 0 := Or(v F0,v G0 ); v 1 := Or(v F1,v G1 ) if v 0 = v 1 then return v 0 else add a new node v with v 0,v 1 as 0- and 1-child (if such a node does not exist yet); return v 38
39 Implementing BDDs Source: An introduction to Binary Decision Diagrams Prof. H.R. Andersen 39
40 Data structures BDD-nodes coded as numbers 0, 1, 2,... with 0, 1 for the end nodes. BDD-nodes are stored in a table T:u (i,l,h) where i,l,h are the label, the 0-child and the 1-child of u. (Here l stands for low and h for high.) We maintain a second table so that following invarinat holds: H: (i,l,h) u T(u) = (i,l,h) iff H(i,l,h) = u 40
41 Basic operations on T: init(t): Initializes T with 0 and 1 add(t,i,l,h): Adds node with attributes (i,l,h) to T and returns it var(u), low(u), high(u): Returns the variable, 0-child, 1-child of u Basic operations on H: init(h): Initializes H as the empty table member(h,i,l,h): Checks whether (i,l,h) belongs to H lookup(h, i, l, h): Returns the node H(i, l, h) insert(h, i, l, h, u): Adds (i, l, h) u to H (if not yet there) 41
42 The function Make(i, l, h) Look in H for a node with atributes (i,l,h). If found, then return it. Otherwise create a new node and return it. Make(i,l,h) 1: if l = h then return l 2: else if member(h, i, l, h) then 3: return lookup(h, i, h, l) 4: else u := add(t,i,l,h) 5: insert(h,i,l,h,u) 6: return u 42
43 Implementing Or Problem: the function can be called many times with the same arguments. Solution: dynamic programming. The results of all calls are stored. Each call checks first if the result has already been computed earlier. Or(u 1,u 2 ) 1: init G 2: return Or (u 1,u 2 ) 43
44 Or (u 1, u 2 ) 1: if G(u 1, u 2 ) empty then return G(u 1, u 2 ) 2: else if u 1 = 1 or u 2 = 1 then return 1 3: else if u 1 = 0 and u 2 = 0 then return 0 4: else if var(u 1 ) = var(u 2 ) then 5: u := Make(var(u 1 ), Or (low(u 1 ), low(u 2 )), Or (high(u 1 ), high(u 2 ))) 6: else if var(u 1 ) < var(u 2 ) then 7: u := Make(var(u 1 ), Or (low(u 1 ), u 2 ), Or (high(u 1 ), u 2 )) 8: else u := Make(var(u 2 ), Or (u 1, low(u 2 )), Or (u 1, high(u 2 ))) 9: G(u 1, u 2 ) = u 10: return u 44
Binary Decision Diagrams. Graphs. Boolean Functions
Binary Decision Diagrams Graphs Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant
More informationBinary Decision Diagrams Boolean Functions
Binary Decision Diagrams Representation of Boolean Functions BDDs, OBDDs, ROBDDs Operations Model-Checking over BDDs 72 Boolean functions:b = {0,1}, f :B B B Boolean Functions Boolean expressions: t ::=
More informationBinary Decision Diagrams
Binary Decision Diagrams Literature Some pointers: H.R. Andersen, An Introduction to Binary Decision Diagrams, Lecture notes, Department of Information Technology, IT University of Copenhagen Tools: URL:
More informationModel Checking for Propositions CS477 Formal Software Dev Methods
S477 Formal Software Dev Methods Elsa L Gunter 2112 S, UIU egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul gha January
More informationComputational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)
Computational Logic Davide Martinenghi Free University of Bozen-Bolzano Spring 2010 Computational Logic Davide Martinenghi (1/30) Propositional Logic - sequent calculus To overcome the problems of natural
More informationBasing Decisions on Sentences in Decision Diagrams
Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence Basing Decisions on Sentences in Decision Diagrams Yexiang Xue Department of Computer Science Cornell University yexiang@cs.cornell.edu
More informationAn Algebraic View of the Relation between Largest Common Subtrees and Smallest Common Supertrees
An Algebraic View of the Relation between Largest Common Subtrees and Smallest Common Supertrees Francesc Rosselló 1, Gabriel Valiente 2 1 Department of Mathematics and Computer Science, Research Institute
More informationBinary Decision Diagrams
Binary Decision Diagrams Logic Circuits Design Seminars WS2010/2011, Lecture 2 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical University in Prague
More informationReduced Ordered Binary Decision Diagrams
Reduced Ordered Binary Decision Diagrams Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de June 5, 2012 c JPK Switching
More informationCS6840: Advanced Complexity Theory Mar 29, Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K.
CS684: Advanced Complexity Theory Mar 29, 22 Lecture 46 : Size lower bounds for AC circuits computing Parity Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K. Theme: Circuit Complexity Lecture Plan: Proof
More informationSymbolic Model Checking with ROBDDs
Symbolic Model Checking with ROBDDs Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 14, 2016 c JPK Symbolic
More informationEECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: Lintao Zhang Announcement Project proposals due
More informationA note on monotone real circuits
A note on monotone real circuits Pavel Hrubeš and Pavel Pudlák March 14, 2017 Abstract We show that if a Boolean function f : {0, 1} n {0, 1} can be computed by a monotone real circuit of size s using
More informationChapter 4: Computation tree logic
INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification
More informationFirst-Order Predicate Logic. Basics
First-Order Predicate Logic Basics 1 Syntax of predicate logic: terms A variable is a symbol of the form x i where i = 1, 2, 3.... A function symbol is of the form fi k where i = 1, 2, 3... und k = 0,
More informationBinary Decision Diagrams
Binary Decision Diagrams Sungho Kang Yonsei University Outline Representing Logic Function Design Considerations for a BDD package Algorithms 2 Why BDDs BDDs are Canonical (each Boolean function has its
More informationBDD Based Upon Shannon Expansion
Boolean Function Manipulation OBDD and more BDD Based Upon Shannon Expansion Notations f(x, x 2,, x n ) - n-input function, x i = or f xi=b (x,, x n ) = f(x,,x i-,b,x i+,,x n ), b= or Shannon Expansion
More informationBoolean decision diagrams and SAT-based representations
Boolean decision diagrams and SAT-based representations 4th July 200 So far we have seen Kripke Structures 2 Temporal logics (and their semantics over Kripke structures) 3 Model checking of these structures
More informationFoundations of Mathematics MATH 220 FALL 2017 Lecture Notes
Foundations of Mathematics MATH 220 FALL 2017 Lecture Notes These notes form a brief summary of what has been covered during the lectures. All the definitions must be memorized and understood. Statements
More informationOptimal Tree-decomposition Balancing and Reachability on Low Treewidth Graphs
Optimal Tree-decomposition Balancing and Reachability on Low Treewidth Graphs Krishnendu Chatterjee Rasmus Ibsen-Jensen Andreas Pavlogiannis IST Austria Abstract. We consider graphs with n nodes together
More informationDecision Procedures for Satisfiability and Validity in Propositional Logic
Decision Procedures for Satisfiability and Validity in Propositional Logic Meghdad Ghari Institute for Research in Fundamental Sciences (IPM) School of Mathematics-Isfahan Branch Logic Group http://math.ipm.ac.ir/isfahan/logic-group.htm
More information3 Propositional Logic
3 Propositional Logic 3.1 Syntax 3.2 Semantics 3.3 Equivalence and Normal Forms 3.4 Proof Procedures 3.5 Properties Propositional Logic (25th October 2007) 1 3.1 Syntax Definition 3.0 An alphabet Σ consists
More informationPropositional and Predicate Logic - IV
Propositional and Predicate Logic - IV Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - IV ZS 2015/2016 1 / 19 Tableau method (from the previous lecture)
More informationPart V. Intractable Problems
Part V Intractable Problems 507 Chapter 16 N P-Completeness Up to now, we have focused on developing efficient algorithms for solving problems. The word efficient is somewhat subjective, and the degree
More informationIntroduction to Theoretical Computer Science
Introduction to Theoretical Computer Science Zdeněk Sawa Department of Computer Science, FEI, Technical University of Ostrava 17. listopadu 15, Ostrava-Poruba 708 33 Czech republic February 11, 2018 Z.
More informationIntroduction to Automata
Introduction to Automata Seungjin Choi Department of Computer Science and Engineering Pohang University of Science and Technology 77 Cheongam-ro, Nam-gu, Pohang 37673, Korea seungjin@postech.ac.kr 1 /
More informationReduced Ordered Binary Decision Diagrams
Reduced Ordered Binary Decision Diagrams Lecture #12 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 13, 2016 c JPK
More informationBinary Decision Diagrams
Binary Decision Diagrams An Introduction and Some Applications Manas Thakur PACE Lab, IIT Madras Manas Thakur (IIT Madras) BDDs 1 / 25 Motivating Example Binary decision tree for a truth table Manas Thakur
More informationLecture 17: Trees and Merge Sort 10:00 AM, Oct 15, 2018
CS17 Integrated Introduction to Computer Science Klein Contents Lecture 17: Trees and Merge Sort 10:00 AM, Oct 15, 2018 1 Tree definitions 1 2 Analysis of mergesort using a binary tree 1 3 Analysis of
More informationRepresentations of All Solutions of Boolean Programming Problems
Representations of All Solutions of Boolean Programming Problems Utz-Uwe Haus and Carla Michini Institute for Operations Research Department of Mathematics ETH Zurich Rämistr. 101, 8092 Zürich, Switzerland
More informationOn the Relative Efficiency of DPLL and OBDDs with Axiom and Join
On the Relative Efficiency of DPLL and OBDDs with Axiom and Join Matti Järvisalo University of Helsinki, Finland September 16, 2011 @ CP M. Järvisalo (U. Helsinki) DPLL and OBDDs September 16, 2011 @ CP
More informationComp487/587 - Boolean Formulas
Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested
More informationTree-width and algorithms
Tree-width and algorithms Zdeněk Dvořák September 14, 2015 1 Algorithmic applications of tree-width Many problems that are hard in general become easy on trees. For example, consider the problem of finding
More informationReduced Ordered Binary Decision Diagram with Implied Literals: A New knowledge Compilation Approach
Reduced Ordered Binary Decision Diagram with Implied Literals: A New knowledge Compilation Approach Yong Lai, Dayou Liu, Shengsheng Wang College of Computer Science and Technology Jilin University, Changchun
More informationInfinitary Relations and Their Representation
Infinitary Relations and Their Representation DI, Laurent Mauborgne 1 École Normale Supérieure, 45 rue d Ulm, 75 23 Paris cedex 5, France Email: Laurent.Mauborgne@ens.fr WWW home page: http://www.di.ens.fr/~mauborgn/
More informationLecture 7: Relations
Lecture 7: Relations 1 Relation Relation between two objects signify some connection between them. For example, relation of one person being biological parent of another. If we take any two people at random,
More informationRamsey Theory. May 24, 2015
Ramsey Theory May 24, 2015 1 König s Lemma König s Lemma is a basic tool to move between finite and infinite combinatorics. To be concise, we use the notation [k] = {1, 2,..., k}, and [X] r will denote
More informationPreliminaries. Introduction to EF-games. Inexpressivity results for first-order logic. Normal forms for first-order logic
Introduction to EF-games Inexpressivity results for first-order logic Normal forms for first-order logic Algorithms and complexity for specific classes of structures General complexity bounds Preliminaries
More informationOverview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits
More informationCOMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS
QUALITATIVE ANALYIS METHODS, OVERVIEW NET REDUCTION STRUCTURAL PROPERTIES COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS LINEAR PROGRAMMING place / transition invariants state equation
More informationQuIDD-Optimised Quantum Algorithms
QuIDD-Optimised Quantum Algorithms by S K University of York Computer science 3 rd year project Supervisor: Prof Susan Stepney 03/05/2004 1 Project Objectives Investigate the QuIDD optimisation techniques
More informationHerbrand Theorem, Equality, and Compactness
CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Herbrand Theorem, Equality, and Compactness The Herbrand Theorem We now consider a complete method for proving the unsatisfiability of sets of first-order
More informationPropositional Calculus - Semantics (3/3) Moonzoo Kim CS Dept. KAIST
Propositional Calculus - Semantics (3/3) Moonzoo Kim CS Dept. KAIST moonzoo@cs.kaist.ac.kr 1 Overview 2.1 Boolean operators 2.2 Propositional formulas 2.3 Interpretations 2.4 Logical Equivalence and substitution
More informationIntroduction. Chapter 1
Chapter 1 Introduction Logic is concerned mainly with two concepts: truth and provability. These concepts have been investigated extensively for centuries, by philosophers, linguists, and mathematicians.
More informationA Little Logic. Propositional Logic. Satisfiability Problems. Solving Sudokus. First Order Logic. Logic Programming
A Little Logic International Center for Computational Logic Technische Universität Dresden Germany Propositional Logic Satisfiability Problems Solving Sudokus First Order Logic Logic Programming A Little
More informationCTL Model Checking. Wishnu Prasetya.
CTL Model Checking Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv Background Example: verification of web applications à e.g. to prove existence of a path from page A to page B. Use of CTL
More informationExercises - Solutions
Chapter 1 Exercises - Solutions Exercise 1.1. The first two definitions are equivalent, since we follow in both cases the unique path leading from v to a sink and using only a i -edges leaving x i -nodes.
More informationAxioms for Set Theory
Axioms for Set Theory The following is a subset of the Zermelo-Fraenkel axioms for set theory. In this setting, all objects are sets which are denoted by letters, e.g. x, y, X, Y. Equality is logical identity:
More informationPropositional Logic: Models and Proofs
Propositional Logic: Models and Proofs C. R. Ramakrishnan CSE 505 1 Syntax 2 Model Theory 3 Proof Theory and Resolution Compiled at 11:51 on 2016/11/02 Computing with Logic Propositional Logic CSE 505
More informationBinary Decision Diagrams
Binar Decision Diagrams Ma 3, 2004 1 Overview Boolean functions Possible representations Binar decision trees Binar decision diagrams Ordered binar decision diagrams Reduced ordered binar decision diagrams
More informationOn the Sizes of Decision Diagrams Representing the Set of All Parse Trees of a Context-free Grammar
Proceedings of Machine Learning Research vol 73:153-164, 2017 AMBN 2017 On the Sizes of Decision Diagrams Representing the Set of All Parse Trees of a Context-free Grammar Kei Amii Kyoto University Kyoto
More informationThe Separation Problem for Binary Decision Diagrams
The Separation Problem for Binary Decision Diagrams J. N. Hooker Joint work with André Ciré Carnegie Mellon University ISAIM 2014 Separation Problem in Optimization Given a relaxation of an optimization
More informationSearch and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012
Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Search and Lookahead Enforcing consistency is one way of solving constraint networks:
More informationDepartment of Computer Science University at Albany, State University of New York Solutions to Sample Discrete Mathematics Examination II (Fall 2007)
Department of Computer Science University at Albany, State University of New York Solutions to Sample Discrete Mathematics Examination II (Fall 2007) Problem 1: Specify two different predicates P (x) and
More informationAssignment 5: Solutions
Comp 21: Algorithms and Data Structures Assignment : Solutions 1. Heaps. (a) First we remove the minimum key 1 (which we know is located at the root of the heap). We then replace it by the key in the position
More informationNotes on induction proofs and recursive definitions
Notes on induction proofs and recursive definitions James Aspnes December 13, 2010 1 Simple induction Most of the proof techniques we ve talked about so far are only really useful for proving a property
More informationTree Automata with Generalized Transition Relations
Technische Universität Dresden Faculty of Computer Science Institute of Theoretical Computer Science Chair for Automata Theory Master s Program in Computer Science Master s Thesis Tree Automata with Generalized
More informationDiscrete Mathematics
Discrete Mathematics Yi Li Software School Fudan University March 13, 2017 Yi Li (Fudan University) Discrete Mathematics March 13, 2017 1 / 1 Review of Lattice Ideal Special Lattice Boolean Algebra Yi
More informationTribhuvan University Institute of Science and Technology Micro Syllabus
Tribhuvan University Institute of Science and Technology Micro Syllabus Course Title: Discrete Structure Course no: CSC-152 Full Marks: 80+20 Credit hours: 3 Pass Marks: 32+8 Nature of course: Theory (3
More informationDRAFT. Algebraic computation models. Chapter 14
Chapter 14 Algebraic computation models Somewhat rough We think of numerical algorithms root-finding, gaussian elimination etc. as operating over R or C, even though the underlying representation of the
More informationTransformational programming and forests
Transformational programming and forests AB18 1 A. Bijlsma Eindhoven University of Technology Department of Mathematics and Computing Science P.O. Box 513, 5600 MB Eindhoven, The Netherlands Introduction
More informationPattern Logics and Auxiliary Relations
Pattern Logics and Auxiliary Relations Diego Figueira Leonid Libkin University of Edinburgh Abstract A common theme in the study of logics over finite structures is adding auxiliary predicates to enhance
More informationMath 4603: Advanced Calculus I, Summer 2016 University of Minnesota Notes on Cardinality of Sets
Math 4603: Advanced Calculus I, Summer 2016 University of Minnesota Notes on Cardinality of Sets Introduction In this short article, we will describe some basic notions on cardinality of sets. Given two
More informationLecture #14: NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition.
Lecture #14: 0.0.1 NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition. 0.0.2 Preliminaries: Definition 1 n abstract problem Q is a binary relations on a set I of
More informationThe Strong Largeur d Arborescence
The Strong Largeur d Arborescence Rik Steenkamp (5887321) November 12, 2013 Master Thesis Supervisor: prof.dr. Monique Laurent Local Supervisor: prof.dr. Alexander Schrijver KdV Institute for Mathematics
More informationFirst-Order Logic. 1 Syntax. Domain of Discourse. FO Vocabulary. Terms
First-Order Logic 1 Syntax Domain of Discourse The domain of discourse for first order logic is FO structures or models. A FO structure contains Relations Functions Constants (functions of arity 0) FO
More informationPropositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel
Propositional Logic Methods & Tools for Software Engineering (MTSE) Fall 2017 Prof. Arie Gurfinkel References Chpater 1 of Logic for Computer Scientists http://www.springerlink.com/content/978-0-8176-4762-9/
More informationA New Look at BDDs for Pseudo-Boolean Constraints
Journal of Artificial Intelligence Research 45 (22) 443-48 Submitted 3/2; published /2 A New Look at BDDs for Pseudo-Boolean Constraints Ignasi Abío Robert Nieuwenhuis Albert Oliveras Enric Rodríguez-Carbonell
More informationAlgebras with finite descriptions
Algebras with finite descriptions André Nies The University of Auckland July 19, 2005 Part 1: FA-presentability A countable structure in a finite signature is finite-automaton presentable (or automatic)
More informationClause/Term Resolution and Learning in the Evaluation of Quantified Boolean Formulas
Journal of Artificial Intelligence Research 1 (1993) 1-15 Submitted 6/91; published 9/91 Clause/Term Resolution and Learning in the Evaluation of Quantified Boolean Formulas Enrico Giunchiglia Massimo
More informationPairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events
Pairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events Massimo Franceschet Angelo Montanari Dipartimento di Matematica e Informatica, Università di Udine Via delle
More informationExercises 1 - Solutions
Exercises 1 - Solutions SAV 2013 1 PL validity For each of the following propositional logic formulae determine whether it is valid or not. If it is valid prove it, otherwise give a counterexample. Note
More informationOn improving matchings in trees, via bounded-length augmentations 1
On improving matchings in trees, via bounded-length augmentations 1 Julien Bensmail a, Valentin Garnero a, Nicolas Nisse a a Université Côte d Azur, CNRS, Inria, I3S, France Abstract Due to a classical
More informationEach internal node v with d(v) children stores d 1 keys. k i 1 < key in i-th sub-tree k i, where we use k 0 = and k d =.
7.5 (a, b)-trees 7.5 (a, b)-trees Definition For b a an (a, b)-tree is a search tree with the following properties. all leaves have the same distance to the root. every internal non-root vertex v has at
More informationChapter 5 The Witness Reduction Technique
Outline Chapter 5 The Technique Luke Dalessandro Rahul Krishna December 6, 2006 Outline Part I: Background Material Part II: Chapter 5 Outline of Part I 1 Notes On Our NP Computation Model NP Machines
More information16. Binary Search Trees. [Ottman/Widmayer, Kap. 5.1, Cormen et al, Kap ]
418 16. Binary Search Trees [Ottman/Widmayer, Kap. 5.1, Cormen et al, Kap. 12.1-12.3] 419 Dictionary implementation Hashing: implementation of dictionaries with expected very fast access times. Disadvantages
More informationSolving the Maximum Agreement Subtree and Maximum Comp. Tree problems on bounded degree trees. Sylvain Guillemot, François Nicolas.
Solving the Maximum Agreement Subtree and Maximum Compatible Tree problems on bounded degree trees LIRMM, Montpellier France 4th July 2006 Introduction The Mast and Mct problems: given a set of evolutionary
More informationLecture 4 October 18th
Directed and undirected graphical models Fall 2017 Lecture 4 October 18th Lecturer: Guillaume Obozinski Scribe: In this lecture, we will assume that all random variables are discrete, to keep notations
More informationOn the Complexity of the Reflected Logic of Proofs
On the Complexity of the Reflected Logic of Proofs Nikolai V. Krupski Department of Math. Logic and the Theory of Algorithms, Faculty of Mechanics and Mathematics, Moscow State University, Moscow 119899,
More informationSlides for CIS 675. Huffman Encoding, 1. Huffman Encoding, 2. Huffman Encoding, 3. Encoding 1. DPV Chapter 5, Part 2. Encoding 2
Huffman Encoding, 1 EECS Slides for CIS 675 DPV Chapter 5, Part 2 Jim Royer October 13, 2009 A toy example: Suppose our alphabet is { A, B, C, D }. Suppose T is a text of 130 million characters. What is
More informationFirst-Order Logic. Chapter Overview Syntax
Chapter 10 First-Order Logic 10.1 Overview First-Order Logic is the calculus one usually has in mind when using the word logic. It is expressive enough for all of mathematics, except for those concepts
More informationRealization Plans for Extensive Form Games without Perfect Recall
Realization Plans for Extensive Form Games without Perfect Recall Richard E. Stearns Department of Computer Science University at Albany - SUNY Albany, NY 12222 April 13, 2015 Abstract Given a game in
More informationReckhow s Theorem. Yuval Filmus. November 2010
Reckhow s Theorem Yuval Filmus November 2010 1 Introduction In 5.3.1 of his thesis [2], Reckhow showed that any two Frege systems p-simulate each other. One of the difficulties involves translation of
More information16. Binary Search Trees. [Ottman/Widmayer, Kap. 5.1, Cormen et al, Kap ]
423 16. Binary Search Trees [Ottman/Widmayer, Kap. 5.1, Cormen et al, Kap. 12.1-12.3] Dictionary implementation 424 Hashing: implementation of dictionaries with expected very fast access times. Disadvantages
More informationSeminaar Abstrakte Wiskunde Seminar in Abstract Mathematics Lecture notes in progress (27 March 2010)
http://math.sun.ac.za/amsc/sam Seminaar Abstrakte Wiskunde Seminar in Abstract Mathematics 2009-2010 Lecture notes in progress (27 March 2010) Contents 2009 Semester I: Elements 5 1. Cartesian product
More informationSOME TRANSFINITE INDUCTION DEDUCTIONS
SOME TRANSFINITE INDUCTION DEDUCTIONS SYLVIA DURIAN Abstract. This paper develops the ordinal numbers and transfinite induction, then demonstrates some interesting applications of transfinite induction.
More informationResolution In Propositional Logic
Chapter 4 Resolution In Propositional Logic 4.1 Introduction In Chapter 3, a procedure for showing whether or not a given proposition is valid was given. This procedure, which uses a Gentzen system, yields
More informationFinite Universes. L is a fixed-length language if it has length n for some
Finite Universes Finite Universes When the universe is finite (e.g., the interval 0, 2 1 ), all objects can be encoded by words of the same length. A language L has length n 0 if L =, or every word of
More informationBounded Treewidth Graphs A Survey German Russian Winter School St. Petersburg, Russia
Bounded Treewidth Graphs A Survey German Russian Winter School St. Petersburg, Russia Andreas Krause krausea@cs.tum.edu Technical University of Munich February 12, 2003 This survey gives an introduction
More informationOn the Isomorphism Problem for Decision Trees and Decision Lists
On the Isomorphism Problem for Decision Trees and Decision Lists V. Arvind 1, Johannes Köbler 2, Sebastian Kuhnert 2, Gaurav Rattan 1, and Yadu Vasudev 1 1 The Institute of Mathematical Sciences, Chennai,
More information20 Ordinals. Definition A set α is an ordinal iff: (i) α is transitive; and. (ii) α is linearly ordered by. Example 20.2.
20 Definition 20.1. A set α is an ordinal iff: (i) α is transitive; and (ii) α is linearly ordered by. Example 20.2. (a) Each natural number n is an ordinal. (b) ω is an ordinal. (a) ω {ω} is an ordinal.
More informationi times p(p(... (p( n))...) = n ki.
Chapter 7 NP Completeness Exercise 7.1 Show that an algorithm that makes at most a constant number of calls to polynomial-time subroutines runs in polynomial time, but that a polynomial number of calls
More information0.Axioms for the Integers 1
0.Axioms for the Integers 1 Number theory is the study of the arithmetical properties of the integers. You have been doing arithmetic with integers since you were a young child, but these mathematical
More information4.8 Huffman Codes. These lecture slides are supplied by Mathijs de Weerd
4.8 Huffman Codes These lecture slides are supplied by Mathijs de Weerd Data Compression Q. Given a text that uses 32 symbols (26 different letters, space, and some punctuation characters), how can we
More informationSize-Depth Tradeoffs for Boolean Formulae
Size-Depth Tradeoffs for Boolean Formulae Maria Luisa Bonet Department of Mathematics Univ. of Pennsylvania, Philadelphia Samuel R. Buss Department of Mathematics Univ. of California, San Diego July 3,
More informationMathematical Foundations of Logic and Functional Programming
Mathematical Foundations of Logic and Functional Programming lecture notes The aim of the course is to grasp the mathematical definition of the meaning (or, as we say, the semantics) of programs in two
More informationPairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events
Pairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events Massimo Franceschet Angelo Montanari Dipartimento di Matematica e Informatica, Università di Udine Via delle
More informationMatroid Secretary for Regular and Decomposable Matroids
Matroid Secretary for Regular and Decomposable Matroids Michael Dinitz Weizmann Institute of Science mdinitz@cs.cmu.edu Guy Kortsarz Rutgers University, Camden guyk@camden.rutgers.edu Abstract In the matroid
More informationDynamic Programming on Trees. Example: Independent Set on T = (V, E) rooted at r V.
Dynamic Programming on Trees Example: Independent Set on T = (V, E) rooted at r V. For v V let T v denote the subtree rooted at v. Let f + (v) be the size of a maximum independent set for T v that contains
More informationMATH 3300 Test 1. Name: Student Id:
Name: Student Id: There are nine problems (check that you have 9 pages). Solutions are expected to be short. In the case of proofs, one or two short paragraphs should be the average length. Write your
More information