Binary Decision Diagrams
|
|
- Elfreda Andrews
- 5 years ago
- Views:
Transcription
1 Binary Decision Diagrams Hao Zheng Department of Computer Science and Engineering University of South Florida Tampa, FL Phone: (813) Fax: (813) Hao Zheng (CSE, USF) Comp Sys Verification 1 / 44
2 1 Binary Decision Tree 2 Ordered Binary Decision Diagram 3 From BDT to BDDs 4 Variable Ordering 5 Logic Operations by BDDs Hao Zheng (CSE, USF) Comp Sys Verification 2 / 44
3 Binary Decision Diagrams Binary decision diagrams (BDDs) are graphs representing Boolean functions. They can be made canonical. They can be very compact for many applications. They are important since many applications can be converted to sequences of Boolean operations. References: R. Bryant, Graph-Based Algorithms for Boolean Function Manipulation, IEEE Transactions on Computers, R. Bryant Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams, ACM Computing Surveys, Textbook, Hao Zheng (CSE, USF) Comp Sys Verification 3 / 44
4 Representing Switching Functions Truth Tables Satisfiability and equivalence check: easy; boolean operations also easy. Very space inefficient: 2 n entries for n variables. Disjunctive Normal Form (DNF) Satisfiability is easy: find a disjunct without complementary literals. Negation and conjunction complicated. Conjunctive Normal Form (CNF) Satisfiability problem is NP-complete (Cook s theorem). Negation and disjunction complicated. Hao Zheng (CSE, USF) Comp Sys Verification 4 / 44
5 Representing Switching Functions representation compact? sat equ truth table never hard hard hard hard hard DNF sometimes easy hard hard easy hard CNF sometimes hard hard easy hard hard propositional formula often hard hard easy easy easy reduced ordered binary decision diagram often easy easy medium medium easy Provided appropriate implementation techniques are used. Hao Zheng (CSE, USF) Comp Sys Verification 5 / 44
6 Symbolic xample Symbolic Encoding: Representation An Exampleof a Transition System /0 s 0 s 1 a s 3 s 2 {a,b } Switching function: (x 1, x itching function: (x 1,x {z } 2,x1,, x 0 }{{} 1, x 2) = 1 if and only if s 2)=1 if and only if s! s 0 s }{{} s {z } s s s (x 0 1,, x 1, x 2 ) = ( x 1 x 1 x 2 ) (x 1,,,x0 2 )= ( ( x x 1 ^ x 2 ^ x x 0 ^ x0 _ ( x ^ ^ 0 1 x 2 ) ( x 1 x 1 ^ x0 2 ) _ ( x 1 ^ ^ x 2 )... 1 ^ x0 2 ) _ (x... 1 x _ (x 1 ^ ^ x 2 ) 1 ^ x0 2 ) Hao Zheng (CSE, USF) Comp Sys Verification 6 / 44 b
7 Contents 1 Binary Decision Tree 2 Ordered Binary Decision Diagram 3 From BDT to BDDs 4 Variable Ordering 5 Logic Operations by BDDs Hao Zheng (CSE, USF) Comp Sys Verification 7 / 44
8 Transition Relation as a BDT Binary Decision Tree: Example x The BDT for function f on x = { x 1,..., x n } has depth n. Every A BDT node representing is labeled with for our a variable. example using ordering x 1 < < < x0 2. Every node labeled with x i has two outgoing edges. 0-edge: x i = 0 (dashed) and, 1-edge: x i = 1 (solid). Chris J. Myers (Lecture 6: CTL) Verification of Cyber-Physical Systems 110 / 155 Hao Zheng (CSE, USF) Comp Sys Verification 8 / 44
9 Binary Decision Transition Tree: Example Relation as a BDT x Every non-terminal node n has two successor nodes. low(n): A BDT representing the node at the forend our of example the 0-edge using of ordering node n. x 1 < < < x0 2. high(n): the node at the end of the 1-edge of node n. Chris J. Myers (Lecture 6: CTL) Verification of Cyber-Physical Systems 110 / 155 Hao Zheng (CSE, USF) Comp Sys Verification 8 / 44
10 Binary Decision Transition Tree: Example Relation as a BDT x The edge labelings of a path from the root to a terminal is an evaluation A BDT representing s = [x 1 = b 1 for,.. our., xexample m = b m using ], where ordering b i x 1 {0, < x1}. 2 < < x0 2. The labeling of the terminal node is the output of f(s). Chris J. Myers (Lecture 6: CTL) Verification of Cyber-Physical Systems 110 / 155 Hao Zheng (CSE, USF) Comp Sys Verification 8 / 44
11 Transition Relation as a BDT Binary Decision Tree: Example x The subtree of node v at level i for variable ordering x 1 <... < x n represents: A BDT representing for our example using ordering x 1 < < < x0 2. f v = f x1 =b 1,...,x i 1 =b i 1 which is a switching function over { x i,..., x n } and where x 1 = b 1,..., x i 1 = b i 1 are the decisions made along the path from root to node v. Chris J. Myers (Lecture 6: CTL) Verification of Cyber-Physical Systems 110 / 155 Hao Zheng (CSE, USF) Comp Sys Verification 8 / 44
12 Binary Decision Tree The BDT for function f on Var = {z 1,..., z m } has depth m with outgoing edges for node at level i stand for z i = 0 (dashed) and z i = 1 (solid). For evaluation s = [z 1 = b 1,..., z m = b m ], f(s) is the value of the leaf reached by traversing the BDT from the root using branch z i = b i. The subtree of node v at level i for variable ordering z 1 <... < z m represents: f v = f z1 =b 1,...,z i 1 =b i 1 which is a switching function over {z i,..., z m } and where z 1 = b 1,..., z i 1 = b i 1 are the decisions made along the path from root to node v. Hao Zheng (CSE, USF) Comp Sys Verification 9 / 44
13 Considerations on BDTs BDTs are a different form of truth tables. BDTs are not compact: A BDT for switching function f on n variables has 2 n leafs. The size of a BDT does not change if the variable order changes. They are as space inefficient as truth tables! BDTs contain a lot of redundancy: All leafs with value one (zero) could be collapsed into a single leaf. A similar scheme could be adopted for isomorphic subtrees. Two graphs rooted at nodes u and v are isomorphic, denoted as u v when both following conditions hold. value(u) = value(v) if u and v are terminals. low(u) low(v) high(u) high(v), otherwise. Hao Zheng (CSE, USF) Comp Sys Verification 10 / 44
14 Contents 1 Binary Decision Tree 2 Ordered Binary Decision Diagram 3 From BDT to BDDs 4 Variable Ordering 5 Logic Operations by BDDs Hao Zheng (CSE, USF) Comp Sys Verification 11 / 44
15 Ordered Binary Decision Diagram (OBDD) OBDDs rely on compactions of BDT representations. Idea: skip redundant fragments of BDT representations. Collapse subtrees with all terminals having same value. Identify nodes with isomorphic subtrees. This yields directed acyclic graphs with outdegree two. Inner nodes are labeled with variables. Leafs are labeled with function values (zero and one). A unique variable ordering is followed by every path. Each variable is assigned an unique index. Each BDD node v has an index index(v) which is the index of the variable labeled in v. index(v) < index(low(v)) if low(v) is a non-terminal, index(v) < index(high(v)) if high(v) is a non-terminal. Hao Zheng (CSE, USF) Comp Sys Verification 12 / 44
16 Transition Relation as a BDT Transition Relation as a BDT x A BDT A BDT representing for forour example using orderingxx 1 < < x < < x 1 < x 2. Chris Hao J. Zheng Myers (Lecture (CSE, USF) 6: CTL) Verification Comp of Cyber-Physical Sys Verification Systems / 155 / 44
17 Transition Relation as a BDD Transition Relation as an ROBDD x An example ROBDD representing for our example using x 1 < < < x0 2. A BDT representing for our example using ordering x 1 < < x 1 < x 2. Chris J. Myers (Lecture 6: CTL) Verification of Cyber-Physical Systems 120 / 155 Hao Zheng (CSE, USF) Comp Sys Verification 14 / 44
18 OBBDs and Boolean Functions Let be a variable ordering for Var where = (z 1,..., z m ). Every OBDD is defined wrt a given variable ordering. The nodes in every path are labeled with variables in the order as in. A terminal node represents a constant Boolean function either 1 or 0. For a non-terminal node n labeled with z representing a Boolean function f n, its two successor nodes represent Boolean functions: Node at the end of the 0-edge (low(n)): f n z=0. Node at the end of the 1-edge (high(n)): f n z=1. Therefore, f n = z f n z=0 z f n z=1 A OBDD is reduced (i.e. ROBDD) if for every pair (v, w) of nodes, v w implies f v f w. Hao Zheng (CSE, USF) Comp Sys Verification 15 / 44
19 Universality and Canonicity Theorem [Fortune, Hopcroft & Schmidt, 1978] Let x be a finite set of Boolean variables and a variable ordering for x. (a) For each switching function f for x there exists a -ROBDD OBDD with f OBDD = f. (b) For any -ROBDDs G and H with f G = f H, G and H are isomorphic, i.e., agree up to renaming of the nodes. ROBDDs are canonical for a fixed variable ordering. Hao Zheng (CSE, USF) Comp Sys Verification 16 / 44
20 The Importance of Canonicity Absence of redundant vertices: If f B does not depend on x i, ROBDD B does not contain an x i node. Test for equivalence: f(x 1,..., x n ) g(x 1,..., x n )? Generate ROBDDs B f and B g, and check isomorphism. Test for validity: f(x 1,..., x n ) = 1? Generate ROBDD B f and check whether it only consists of a 1-leaf. Test for implication: f(x 1,..., x n ) g(x 1,..., x n )? Generate ROBDD B f g and check if it just consists of a 0-leaf. Test for satisfiability: f is satisfiable if and only if B f has a reachable 1-leaf. Hao Zheng (CSE, USF) Comp Sys Verification 17 / 44
21 Contents 1 Binary Decision Tree 2 Ordered Binary Decision Diagram 3 From BDT to BDDs 4 Variable Ordering 5 Logic Operations by BDDs Hao Zheng (CSE, USF) Comp Sys Verification 18 / 44
22 Reducing OBDDs Generate an OBDD (or BDT) for a boolean expression, then reduce by means of a recursive descent over the OBDD. Elimination rule: If low(v) = high(v) = w, eliminate v and redirect all incoming edges to v to node w. Isomorphism rule: If v w are roots of isomorphic subtrees, remove v, and redirect all incoming edges to v to node w. (Special case) Combine all 0/1-leaves, redirect all incoming edges. Hao Zheng (CSE, USF) Comp Sys Verification 19 / 44
23 From BDT to Transition ROBDD Relation as a BDT x An OBDD representing for our example using ordering x 1 < < x A BDT representing for our example using ordering x 1 < < 1 < < x 2. x0 2. Hao Zheng (CSE, USF) Comp Sys Verification 20 / 44
24 Transition Relation as a OBDD From BDT to ROBDD x After isomorphism rule Next, Isomorphism elimination rule. rule Hao Zheng (CSE, USF) Comp Sys Verification 21 / 44
25 From BDT Transition to ROBDDRelation as a OBDD x Next, isomorphism rule Elimination rule. Hao Zheng (CSE, USF) Comp Sys Verification 22 / 44
26 From BDT Transition to ROBDD Relation as a OBDD x Next, elimination rule Isomorphism rule. Hao Zheng (CSE, USF) Comp Sys Verification 23 / 44
27 Transition Relation as a OBDD From BDT to ROBDD x Next, isomorphism rule Elimination rule. Hao Zheng (CSE, USF) Comp Sys Verification 24 / 44
28 Transition Relation as a OBDD From BDT to ROBDD x Next, isomorphism rule Isomorphism rule. Hao Zheng (CSE, USF) Comp Sys Verification 25 / 44
29 From BDT to ROBDD Transition Relation as an ROBDD x Isomorphism rule. Final reduced BDD Chris J. Myers (Lecture 6: CTL) Verification of Cyber-Physical Systems 132 / 155 Hao Zheng (CSE, USF) Comp Sys Verification 26 / 44
30 Contents 1 Binary Decision Tree 2 Ordered Binary Decision Diagram 3 From BDT to BDDs 4 Variable Ordering 5 Logic Operations by BDDs Hao Zheng (CSE, USF) Comp Sys Verification 27 / 44
31 Variable Ordering Variable Ordering x 1 x (a) ordering x 1 < < < (b) ordering x 1 < 0 < 0 < 0 Hao Zheng (CSE, USF) Comp Sys Verification 28 / 44
32 Variable Ordering and Size of BDDs The size of the ROBDD crucially depends on the variable ordering. # nodes in ROBDD OBDD = # of -consistent co-factors of f. Some switching functions have linear and exponential ROBDDs. e.g., the addition function, or the stable function. Some switching functions only have polynomial ROBDDs. This holds, e.g., for symmetric functions. Examples f(...) = x 1... x n, or f(...) = 1 iff k variables x i are true. Some switching functions only have exponential ROBDDs. This holds, e.g., for the middle bit of the multiplication function. Hao Zheng (CSE, USF) Comp Sys Verification 29 / 44
33 The Function Stable with Exponential ROBDD The Function Stable with Exponential ROBDD x 1 x 3 x 3 x 3 x 3 y 1 y 1 y 1 y 1 y 1 y 1 y 1 y 1 y 2 y 2 y 2 y 2 y 3 y 3 1 The ROBDD of f stab (x,y)=(x 1 $ y 1 ) ^... ^ (x n $ y n ) The has ROBDD 3 2 n 1of vertices f stab (x, under y) ordering = (x 1 x 1 <...<x y 1 ) n. <.. y 1 <...<y (x n n. y n ) has 3 2 n 1 vertices under ordering x 1 <... < x n < y 1 <... < y n. Chris J. Myers (Lecture 6: CTL) Verification of Cyber-Physical Systems 135 / 155 Hao Zheng (CSE, USF) Comp Sys Verification 30 / 44
34 The Function Stable with Linear ROBDD The Function Stable with Linear ROBDD x 1 y 1 y 1 y 2 y 2 x 3 y 3 y 3 1 The ROBDD of f stab (x,y)=(x 1 $ y 1 ) ^... ^ (x n $ y n ) The ROBDD has 3 n + of2fvertices stab (x, under y) = ordering (x 1 x 1 y< 1 ) y 1 <...<x... n < (x y n. y n ) has 3 n + 2 vertices under ordering x 1 < y 1 <... < x n < y n. Chris J. Myers (Lecture 6: CTL) Verification of Cyber-Physical Systems 136 / 155 Hao Zheng (CSE, USF) Comp Sys Verification 31 / 44
35 Another Function with an Exponential ROBDD Another Function with an Exponential ROBDD z1 z2 z2 z3 z3 z3 z3 y1 y1 y1 y1 y2 y2 y3 0 1 ROBDD for f 3 (z,y) =(z 1 ^ y 1 ) _ (z 2 ^ y 2 ) _ (z 3 ^ y 3 ) for the variable ordering z 1 < z 2 < z 3 < y 1 < y 2 < y 3. ROBDD for f 3 ( z, y) = (z 1 y 1 ) (z 2 y 2 ) (z 3 y 3 ) Chrisfor J. Myers the (Lecture variable 6: CTL) ordering Verification ofzcyber-physical 1 < z 2 Systems < z 3 < y 1 < y 2 < y / 155 Hao Zheng (CSE, USF) Comp Sys Verification 32 / 44
36 An Optimal Linear ROBDD An Optimal Linear ROBDD z 1 y 1 z 2 y 2 z 3 ROBDD for f 3 ( ) = (z 1 y 1 ) (z 2 y 2 ) (z 3 y 3 ). ROBDD for f 3 ( ) =(z 1 ^ y 1 ) _ (z 2 ^ y 2 ) _ (z 3 ^ y 3 ). For ordering z 1 < y 1 < z 2 < y 2 < z 3 < y 3. For ordering z 1 < y 1 < z 2 < y 2 < z 3 < y 3. Asall all variables are are essential, essential, this ROBDD this ROBDD is optimal. is optimal. For no variable ordering, a smaller ROBDD exists. For no variable ordering, a smaller ROBDD exists. y Chris J. Myers (Lecture 6: CTL) Verification of Cyber-Physical Systems 138 / 155 Hao Zheng (CSE, USF) Comp Sys Verification 33 / 44
37 The Multiplication Function Consider two n-bit integers: Let b n 1 b n 2... b 0 and c n 1 c n 2... c 0 where b n 1 is the most significant bit, and b 0 the least significant bit. Multiplication yields a 2n-bit integer: The ROBDD OBDD fn 1 has at least 1.09 n vertices where f n 1 denotes the (n 1)-st output bit of the multiplication. Hao Zheng (CSE, USF) Comp Sys Verification 34 / 44
38 Optimal Variable Ordering The size of ROBDDs is dependent on the variable ordering. Is it possible to determine such that the ROBDD has minimal size? To check whether a variable ordering is optimal is NP-hard. Polynomial reduction from the 3SAT problem. [Bollig & Wegener, 1996] There are many switching functions with large ROBDDs: For almost all switching functions the minimal size is in Ω( 2n n ). How to deal with this problem in practice? Guess a variable ordering in advance. Rearrange the variable ordering during the ROBDD manipulations. Not necessary to test all n! orderings, best known algorithm in O(3 n n 2 ). Hao Zheng (CSE, USF) Comp Sys Verification 35 / 44
39 Dynamic Re-ordering Finding an optimal ordering is NP-hard. Static ordering does not work well across different applications, or for BDDs that need to be transformed during different stages of an application. Automated dynamic re-ordering rearranges the variable orders periodically to reduce the size of BDDs. Rudell s sifting is widely used. Try moving a variable to all other positions, leaving the others fixed. Then place variable in the position that minimizes BDD size. Do this for all variables. Hao Zheng (CSE, USF) Comp Sys Verification 36 / 44
40 Dynamic Re-ordering Greatly improved effectiveness of BDDs. It is usually performed in the background. It may slow down the performance. BDD operations stop when re-ordering is activated. It makes a difference between success and failure in complete an application. Some functions are inherently hard, e.g. outputs of integer multiplier. Hao Zheng (CSE, USF) Comp Sys Verification 37 / 44
41 Contents 1 Binary Decision Tree 2 Ordered Binary Decision Diagram 3 From BDT to BDDs 4 Variable Ordering 5 Logic Operations by BDDs Hao Zheng (CSE, USF) Comp Sys Verification 38 / 44
42 Logic Operations on BDDs Restriction f[b/x]: replacing variable x with a value 0 or 1. if b = 0, direct all incoming edges of node labeled with x to low(v), or if b = 1, direct all incoming edges of node labeled with x to high(v), remove node x and its outgoing edges. The result of restriction is a cofactor of f. a a b c c 0 1 f 0 1 f[1/b] Hao Zheng (CSE, USF) Comp Sys Verification 39 / 44
43 Logical Operations on BDDs (cont d) Negation is a constant time operation with OBDDs. Swap terminal nodes. The binary operations are based on the Shannon expansion. f g = x (f[0/x] g[0/x]) x (f[1/x] g[1/x]). where is some binary logic operator. Both BDDs must have the same variable ordering. The new BDD for f g is constructed as follows. The root of f g is the root of f or g with the smaller index. For any node in f g, low(v) = f[0/x] g[0/x], and high(v) = f[1/x] g[1/x] Repeat the above step for low(v) and high(v) until either of them becomes terminal. Reduce the constructed BDD to make it canonical. Hao Zheng (CSE, USF) Comp Sys Verification 40 / 44
44 Logical Operations on BDDs Example f = (a ^ c) f _ g a g = b ^ c a f a=1 _ g b b f a=1 c c f a=1 _ g b=0 f a=1 _ g b=1 c c Hao Zheng (CSE, USF) Comp Sys Verification 41 / 44
45 Logical Operations on BDDs Example f _ g a f a=1 _ g b f _ g a f a=1 _ g b f a=1 _ g b=0 f a=1 _ g b=1 c c f a=1 _ g b=0 c Hao Zheng (CSE, USF) Comp Sys Verification 42 / 44
46 Variants of BDDs Various kinds of BDDs for compactness or different applications. Compactness Multi-rooted BDDs, free BDDs, partitioned OBDDs, etc Arithmetic operations Multi-terminal BDDs (ADDs), edge-valued BDDs, binary moment diagrams (BMDs), etc. Hao Zheng (CSE, USF) Comp Sys Verification 43 / 44
47 Implementation: Shared OBDDs A shared -OBDD is an OBDD with multiple roots. 0 1 Shared OBDD representing z 1 z }{{} 2, z 2, z }{{} 1 z 2 and z }{{} 1 z }{{} 2 f 1 f 2 f 3 f 4. Main underlying idea: combine several OBDDs with same variable ordering such that common -consistent co-factors are shared. Hao Zheng (CSE, USF) Comp Sys Verification 44 / 44
Binary Decision Diagrams
Binary Decision Diagrams Hao Zheng Department of Computer Science and Engineering University of South Florida Tampa, FL 33620 Email: zheng@cse.usf.edu Phone: (813)974-4757 Fax: (813)974-5456 Hao Zheng
More informationPractical SAT Solving
Practical SAT Solving Lecture 1 Carsten Sinz, Tomáš Balyo April 18, 2016 NSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz
More informationAnother Variant of 3sat. 3sat. 3sat Is NP-Complete. The Proof (concluded)
3sat k-sat, where k Z +, is the special case of sat. The formula is in CNF and all clauses have exactly k literals (repetition of literals is allowed). For example, (x 1 x 2 x 3 ) (x 1 x 1 x 2 ) (x 1 x
More informationCTL Model Checking. Goal Method for proving M sat σ, where M is a Kripke structure and σ is a CTL formula. Approach Model checking!
CMSC 630 March 13, 2007 1 CTL Model Checking Goal Method for proving M sat σ, where M is a Kripke structure and σ is a CTL formula. Approach Model checking! Mathematically, M is a model of σ if s I = M
More informationCSE 21 Winter 2016 Homework 6 Due: Wednesday, May 11, 2016 at 11:59pm. Instructions
CSE 1 Winter 016 Homework 6 Due: Wednesday, May 11, 016 at 11:59pm Instructions Homework should be done in groups of one to three people. You are free to change group members at any time throughout the
More informationAgenda. Specification models and their analysis. Agenda. Part I. Binary Decision Diagrams. Graph Theory: Some Definitions. Introduction to Petri Nets
Agenda Specification models and their analysis Kai Lampka November 9, 29 Graph Theory: Some Definitions 2 Introduction to Petri Nets 3 Introduction to Computation Tree Logic and related model checking
More informationSAT and DPLL. Espen H. Lian. May 4, Ifi, UiO. Espen H. Lian (Ifi, UiO) SAT and DPLL May 4, / 59
SAT and DPLL Espen H. Lian Ifi, UiO May 4, 2010 Espen H. Lian (Ifi, UiO) SAT and DPLL May 4, 2010 1 / 59 Normal forms Normal forms DPLL Complexity DPLL Implementation Bibliography Espen H. Lian (Ifi, UiO)
More informationSAT and DPLL. Introduction. Preliminaries. Normal forms DPLL. Complexity. Espen H. Lian. DPLL Implementation. Bibliography.
SAT and Espen H. Lian Ifi, UiO Implementation May 4, 2010 Espen H. Lian (Ifi, UiO) SAT and May 4, 2010 1 / 59 Espen H. Lian (Ifi, UiO) SAT and May 4, 2010 2 / 59 Introduction Introduction SAT is the problem
More informationFinding Equilibria in Games of No Chance
Finding Equilibria in Games of No Chance Kristoffer Arnsfelt Hansen, Peter Bro Miltersen, and Troels Bjerre Sørensen Department of Computer Science, University of Aarhus, Denmark {arnsfelt,bromille,trold}@daimi.au.dk
More informationUNIT VI TREES. Marks - 14
UNIT VI TREES Marks - 14 SYLLABUS 6.1 Non-linear data structures 6.2 Binary trees : Complete Binary Tree, Basic Terms: level number, degree, in-degree and out-degree, leaf node, directed edge, path, depth,
More informationMAT385 Final (Spring 2009): Boolean Algebras, FSM, and old stuff
MAT385 Final (Spring 2009): Boolean Algebras, FSM, and old stuff Name: Directions: Problems are equally weighted. Show your work! Answers without justification will likely result in few points. Your written
More informationLevin Reduction and Parsimonious Reductions
Levin Reduction and Parsimonious Reductions The reduction R in Cook s theorem (p. 266) is such that Each satisfying truth assignment for circuit R(x) corresponds to an accepting computation path for M(x).
More informationThe Traveling Salesman Problem. Time Complexity under Nondeterminism. A Nondeterministic Algorithm for tsp (d)
The Traveling Salesman Problem We are given n cities 1, 2,..., n and integer distances d ij between any two cities i and j. Assume d ij = d ji for convenience. The traveling salesman problem (tsp) asks
More informationOn the Optimality of a Family of Binary Trees Techical Report TR
On the Optimality of a Family of Binary Trees Techical Report TR-011101-1 Dana Vrajitoru and William Knight Indiana University South Bend Department of Computer and Information Sciences Abstract In this
More informationmonotone circuit value
monotone circuit value A monotone boolean circuit s output cannot change from true to false when one input changes from false to true. Monotone boolean circuits are hence less expressive than general circuits.
More informationComputing Unsatisfiable k-sat Instances with Few Occurrences per Variable
Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable Shlomo Hoory and Stefan Szeider Department of Computer Science, University of Toronto, shlomoh,szeider@cs.toronto.edu Abstract.
More informationIntroduction to Greedy Algorithms: Huffman Codes
Introduction to Greedy Algorithms: Huffman Codes Yufei Tao ITEE University of Queensland In computer science, one interesting method to design algorithms is to go greedy, namely, keep doing the thing that
More informationAnother Variant of 3sat
Another Variant of 3sat Proposition 32 3sat is NP-complete for expressions in which each variable is restricted to appear at most three times, and each literal at most twice. (3sat here requires only that
More informationOptimal Satisficing Tree Searches
Optimal Satisficing Tree Searches Dan Geiger and Jeffrey A. Barnett Northrop Research and Technology Center One Research Park Palos Verdes, CA 90274 Abstract We provide an algorithm that finds optimal
More informationYou Have an NP-Complete Problem (for Your Thesis)
You Have an NP-Complete Problem (for Your Thesis) From Propositions 27 (p. 242) and Proposition 30 (p. 245), it is the least likely to be in P. Your options are: Approximations. Special cases. Average
More informationSearch Space and Average Proof Length of Resolution. H. Kleine Buning T. Lettmann. Universitat { GH { Paderborn. Postfach 16 21
Search Space and Average roof Length of Resolution H. Kleine Buning T. Lettmann FB 7 { Mathematik/Informatik Universitat { GH { aderborn ostfach 6 2 D{4790 aderborn (Germany) E{mail: kbcsl@uni-paderborn.de
More informationComputing Unsatisfiable k-sat Instances with Few Occurrences per Variable
Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable Shlomo Hoory and Stefan Szeider Abstract (k, s)-sat is the propositional satisfiability problem restricted to instances where each
More informationLecture 2: The Simple Story of 2-SAT
0510-7410: Topics in Algorithms - Random Satisfiability March 04, 2014 Lecture 2: The Simple Story of 2-SAT Lecturer: Benny Applebaum Scribe(s): Mor Baruch 1 Lecture Outline In this talk we will show that
More informationIt is used when neither the TX nor RX knows anything about the statistics of the source sequence at the start of the transmission
It is used when neither the TX nor RX knows anything about the statistics of the source sequence at the start of the transmission -The code can be described in terms of a binary tree -0 corresponds to
More informationAlgorithmic Game Theory and Applications. Lecture 11: Games of Perfect Information
Algorithmic Game Theory and Applications Lecture 11: Games of Perfect Information Kousha Etessami finite games of perfect information Recall, a perfect information (PI) game has only 1 node per information
More informationLecture l(x) 1. (1) x X
Lecture 14 Agenda for the lecture Kraft s inequality Shannon codes The relation H(X) L u (X) = L p (X) H(X) + 1 14.1 Kraft s inequality While the definition of prefix-free codes is intuitively clear, we
More informationCIS 540 Fall 2009 Homework 2 Solutions
CIS 54 Fall 29 Homework 2 Solutions October 25, 29 Problem (a) We can choose a simple ordering for the variables: < x 2 < x 3 < x 4. The resulting OBDD is given in Fig.. x 2 x 2 x 3 x 4 x 3 Figure : OBDD
More informationCook s Theorem: the First NP-Complete Problem
Cook s Theorem: the First NP-Complete Problem Theorem 37 (Cook (1971)) sat is NP-complete. sat NP (p. 113). circuit sat reduces to sat (p. 284). Now we only need to show that all languages in NP can be
More informationTableau-based Decision Procedures for Hybrid Logic
Tableau-based Decision Procedures for Hybrid Logic Gert Smolka Saarland University Joint work with Mark Kaminski HyLo 2010 Edinburgh, July 10, 2010 Gert Smolka (Saarland University) Decision Procedures
More informationSublinear Time Algorithms Oct 19, Lecture 1
0368.416701 Sublinear Time Algorithms Oct 19, 2009 Lecturer: Ronitt Rubinfeld Lecture 1 Scribe: Daniel Shahaf 1 Sublinear-time algorithms: motivation Twenty years ago, there was practically no investigation
More informationLecture 23: April 10
CS271 Randomness & Computation Spring 2018 Instructor: Alistair Sinclair Lecture 23: April 10 Disclaimer: These notes have not been subjected to the usual scrutiny accorded to formal publications. They
More information1 FUNDAMENTALS OF LOGIC NO.5 SOUNDNESS AND COMPLETENESS Tatsuya Hagino hagino@sfc.keio.ac.jp lecture URL https://vu5.sfc.keio.ac.jp/slide/ 2 So Far Propositional Logic Logical Connectives(,,, ) Truth Table
More informationSET 1C Binary Trees. 2. (i) Define the height of a binary tree or subtree and also define a height balanced (AVL) tree. (2)
SET 1C Binary Trees 1. Construct a binary tree whose preorder traversal is K L N M P R Q S T and inorder traversal is N L K P R M S Q T 2. (i) Define the height of a binary tree or subtree and also define
More informationCMPSCI 311: Introduction to Algorithms Second Midterm Practice Exam SOLUTIONS
CMPSCI 311: Introduction to Algorithms Second Midterm Practice Exam SOLUTIONS November 17, 2016. Name: ID: Instructions: Answer the questions directly on the exam pages. Show all your work for each question.
More informationLecture 4: Divide and Conquer
Lecture 4: Divide and Conquer Divide and Conquer Merge sort is an example of a divide-and-conquer algorithm Recall the three steps (at each level to solve a divideand-conquer problem recursively Divide
More informationPartial Order Reduction in Symbolic State Space Traversal Using ZBDDs
704 IEICE TRANS. INF. & SYST., VOL.E82 D, NO.3 MARCH 1999 LETTER Partial Order Reduction in Symbolic State Space Traversal Using ZBDDs Minoru TOMISAKA, Nonmember and Tomohiro YONEDA, Member SUMMARY In
More informationEssays on Some Combinatorial Optimization Problems with Interval Data
Essays on Some Combinatorial Optimization Problems with Interval Data a thesis submitted to the department of industrial engineering and the institute of engineering and sciences of bilkent university
More informationYao s Minimax Principle
Complexity of algorithms The complexity of an algorithm is usually measured with respect to the size of the input, where size may for example refer to the length of a binary word describing the input,
More informationInformation Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 15 Adaptive Huffman Coding Part I Huffman code are optimal for a
More informationRecall: Data Flow Analysis. Data Flow Analysis Recall: Data Flow Equations. Forward Data Flow, Again
Data Flow Analysis 15-745 3/24/09 Recall: Data Flow Analysis A framework for proving facts about program Reasons about lots of little facts Little or no interaction between facts Works best on properties
More informationMAC Learning Objectives. Learning Objectives (Cont.)
MAC 1140 Module 12 Introduction to Sequences, Counting, The Binomial Theorem, and Mathematical Induction Learning Objectives Upon completing this module, you should be able to 1. represent sequences. 2.
More informationDecidability and Recursive Languages
Decidability and Recursive Languages Let L (Σ { }) be a language, i.e., a set of strings of symbols with a finite length. For example, {0, 01, 10, 210, 1010,...}. Let M be a TM such that for any string
More informationDynamic Programming cont. We repeat: The Dynamic Programming Template has three parts.
Page 1 Dynamic Programming cont. We repeat: The Dynamic Programming Template has three parts. Subproblems Sometimes this is enough if the algorithm and its complexity is obvious. Recursion Algorithm Must
More informationLECTURE 2: MULTIPERIOD MODELS AND TREES
LECTURE 2: MULTIPERIOD MODELS AND TREES 1. Introduction One-period models, which were the subject of Lecture 1, are of limited usefulness in the pricing and hedging of derivative securities. In real-world
More informationNotes on the EM Algorithm Michael Collins, September 24th 2005
Notes on the EM Algorithm Michael Collins, September 24th 2005 1 Hidden Markov Models A hidden Markov model (N, Σ, Θ) consists of the following elements: N is a positive integer specifying the number of
More informationRational Behaviour and Strategy Construction in Infinite Multiplayer Games
Rational Behaviour and Strategy Construction in Infinite Multiplayer Games Michael Ummels ummels@logic.rwth-aachen.de FSTTCS 2006 Michael Ummels Rational Behaviour and Strategy Construction 1 / 15 Infinite
More informationOn the Optimality of a Family of Binary Trees
On the Optimality of a Family of Binary Trees Dana Vrajitoru Computer and Information Sciences Department Indiana University South Bend South Bend, IN 46645 Email: danav@cs.iusb.edu William Knight Computer
More informationCourse Information and Introduction
August 20, 2015 Course Information 1 Instructor : Email : arash.rafiey@indstate.edu Office : Root Hall A-127 Office Hours : Tuesdays 12:00 pm to 1:00 pm in my office (A-127) 2 Course Webpage : http://cs.indstate.edu/
More informationLecture 17: More on Markov Decision Processes. Reinforcement learning
Lecture 17: More on Markov Decision Processes. Reinforcement learning Learning a model: maximum likelihood Learning a value function directly Monte Carlo Temporal-difference (TD) learning COMP-424, Lecture
More informationCSCE 750, Fall 2009 Quizzes with Answers
CSCE 750, Fall 009 Quizzes with Answers Stephen A. Fenner September 4, 011 1. Give an exact closed form for Simplify your answer as much as possible. k 3 k+1. We reduce the expression to a form we ve already
More informationHandout 4: Deterministic Systems and the Shortest Path Problem
SEEM 3470: Dynamic Optimization and Applications 2013 14 Second Term Handout 4: Deterministic Systems and the Shortest Path Problem Instructor: Shiqian Ma January 27, 2014 Suggested Reading: Bertsekas
More informationVARN CODES AND GENERALIZED FIBONACCI TREES
Julia Abrahams Mathematical Sciences Division, Office of Naval Research, Arlington, VA 22217-5660 (Submitted June 1993) INTRODUCTION AND BACKGROUND Yarn's [6] algorithm solves the problem of finding an
More informationFinding the Sum of Consecutive Terms of a Sequence
Mathematics 451 Finding the Sum of Consecutive Terms of a Sequence In a previous handout we saw that an arithmetic sequence starts with an initial term b, and then each term is obtained by adding a common
More information1 Solutions to Tute09
s to Tute0 Questions 4. - 4. are straight forward. Q. 4.4 Show that in a binary tree of N nodes, there are N + NULL pointers. Every node has outgoing pointers. Therefore there are N pointers. Each node,
More informationMSU CSE Spring 2011 Exam 2-ANSWERS
MSU CSE 260-001 Spring 2011 Exam 2-NSWERS Name: This is a closed book exam, with 9 problems on 5 pages totaling 100 points. Integer ivision/ Modulo rithmetic 1. We can add two numbers in base 2 by using
More informationHarvard School of Engineering and Applied Sciences CS 152: Programming Languages
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 3 Tuesday, January 30, 2018 1 Inductive sets Induction is an important concept in the theory of programming language.
More informationFMCAD 2011 Effective Word-Level Interpolation for Software Verification
FMCAD 2011 Effective Word-Level Interpolation for Software Verification Alberto Griggio FBK-IRST Motivations Craig interpolation applied succesfully for Formal Verification of both hardware and software
More informationCSE 417 Algorithms. Huffman Codes: An Optimal Data Compression Method
CSE 417 Algorithms Huffman Codes: An Optimal Data Compression Method 1 Compression Example 100k file, 6 letter alphabet: a 45% b 13% c 12% d 16% e 9% f 5% File Size: ASCII, 8 bits/char: 800kbits 2 3 >
More informationCEC login. Student Details Name SOLUTIONS
Student Details Name SOLUTIONS CEC login Instructions You have roughly 1 minute per point, so schedule your time accordingly. There is only one correct answer per question. Good luck! Question 1. Searching
More informationMaximum Contiguous Subsequences
Chapter 8 Maximum Contiguous Subsequences In this chapter, we consider a well-know problem and apply the algorithm-design techniques that we have learned thus far to this problem. While applying these
More informationTABLEAU-BASED DECISION PROCEDURES FOR HYBRID LOGIC
TABLEAU-BASED DECISION PROCEDURES FOR HYBRID LOGIC THOMAS BOLANDER AND TORBEN BRAÜNER Abstract. Hybrid logics are a principled generalization of both modal logics and description logics. It is well-known
More informationReconfiguration of Satisfying Assignments and Subset Sums: Easy to Find, Hard to Connect
Reconfiguration of Satisfying Assignments and Subset Sums: Easy to Find, Hard to Connect x x in x in x in y z y in F F z in t F F z in t F F t 0 y out T y out T z out T Jean Cardinal, Erik Demaine, David
More informationNotes on Natural Logic
Notes on Natural Logic Notes for PHIL370 Eric Pacuit November 16, 2012 1 Preliminaries: Trees A tree is a structure T = (T, E), where T is a nonempty set whose elements are called nodes and E is a relation
More informationOn Polynomial-Time Preference Elicitation with Value Queries
On Polynomial-Time Preference Elicitation with Value Queries Martin A. Zinkevich Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA 15213 maz@cs.cmu.edu Avrim Blum Carnegie Mellon University
More informationPattern Recognition Chapter 5: Decision Trees
Pattern Recognition Chapter 5: Decision Trees Asst. Prof. Dr. Chumphol Bunkhumpornpat Department of Computer Science Faculty of Science Chiang Mai University Learning Objectives How decision trees are
More informationLecture 10: The knapsack problem
Optimization Methods in Finance (EPFL, Fall 2010) Lecture 10: The knapsack problem 24.11.2010 Lecturer: Prof. Friedrich Eisenbrand Scribe: Anu Harjula The knapsack problem The Knapsack problem is a problem
More informationBidding Languages. Noam Nissan. October 18, Shahram Esmaeilsabzali. Presenter:
Bidding Languages Noam Nissan October 18, 2004 Presenter: Shahram Esmaeilsabzali Outline 1 Outline The Problem 1 Outline The Problem Some Bidding Languages(OR, XOR, and etc) 1 Outline The Problem Some
More informationDevelopmental Math An Open Program Unit 12 Factoring First Edition
Developmental Math An Open Program Unit 12 Factoring First Edition Lesson 1 Introduction to Factoring TOPICS 12.1.1 Greatest Common Factor 1 Find the greatest common factor (GCF) of monomials. 2 Factor
More informationInference in Bayesian Networks
Andrea Passerini passerini@disi.unitn.it Machine Learning Inference in graphical models Description Assume we have evidence e on the state of a subset of variables E in the model (i.e. Bayesian Network)
More informationHarvard School of Engineering and Applied Sciences CS 152: Programming Languages
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 3 Tuesday, February 2, 2016 1 Inductive proofs, continued Last lecture we considered inductively defined sets, and
More informationLecture 14: Basic Fixpoint Theorems (cont.)
Lecture 14: Basic Fixpoint Theorems (cont) Predicate Transformers Monotonicity and Continuity Existence of Fixpoints Computing Fixpoints Fixpoint Characterization of CTL Operators 1 2 E M Clarke and E
More informationAVL Trees. The height of the left subtree can differ from the height of the right subtree by at most 1.
AVL Trees In order to have a worst case running time for insert and delete operations to be O(log n), we must make it impossible for there to be a very long path in the binary search tree. The first balanced
More informationDynamic Programming: An overview. 1 Preliminaries: The basic principle underlying dynamic programming
Dynamic Programming: An overview These notes summarize some key properties of the Dynamic Programming principle to optimize a function or cost that depends on an interval or stages. This plays a key role
More informationCrash-tolerant Consensus in Directed Graph Revisited
Crash-tolerant Consensus in Directed Graph Revisited Ashish Choudhury Gayathri Garimella Arpita Patra Divya Ravi Pratik Sarkar Abstract Fault-tolerant distributed consensus is a fundamental problem in
More informationStructural Induction
Structural Induction Jason Filippou CMSC250 @ UMCP 07-05-2016 Jason Filippou (CMSC250 @ UMCP) Structural Induction 07-05-2016 1 / 26 Outline 1 Recursively defined structures 2 Proofs Binary Trees Jason
More informationHomework #4. CMSC351 - Spring 2013 PRINT Name : Due: Thu Apr 16 th at the start of class
Homework #4 CMSC351 - Spring 2013 PRINT Name : Due: Thu Apr 16 th at the start of class o Grades depend on neatness and clarity. o Write your answers with enough detail about your approach and concepts
More information1. Geometric sequences can be modeled by exponential functions using the common ratio and the initial term.
1 Geometric sequences can be modeled by exponential functions using the common ratio and the initial term Exponential growth and exponential decay functions can be used to model situations where a quantity
More informationEDA045F: Program Analysis LECTURE 3: DATAFLOW ANALYSIS 2. Christoph Reichenbach
EDA045F: Program Analysis LECTURE 3: DATAFLOW ANALYSIS 2 Christoph Reichenbach In the last lecture... Eliminating Nested Expressions (Three-Address Code) Control-Flow Graphs Static Single Assignment Form
More informationCounting Basics. Venn diagrams
Counting Basics Sets Ways of specifying sets Union and intersection Universal set and complements Empty set and disjoint sets Venn diagrams Counting Inclusion-exclusion Multiplication principle Addition
More informationOutline Introduction Game Representations Reductions Solution Concepts. Game Theory. Enrico Franchi. May 19, 2010
May 19, 2010 1 Introduction Scope of Agent preferences Utility Functions 2 Game Representations Example: Game-1 Extended Form Strategic Form Equivalences 3 Reductions Best Response Domination 4 Solution
More informationOptimizing the Hurwicz criterion in decision trees with imprecise probabilities
Optimizing the Hurwicz criterion in decision trees with imprecise probabilities Gildas Jeantet and Olivier Spanjaard LIP6 - UPMC 104 avenue du Président Kennedy 75016 Paris, France {gildas.jeantet,olivier.spanjaard}@lip6.fr
More informationIEOR E4004: Introduction to OR: Deterministic Models
IEOR E4004: Introduction to OR: Deterministic Models 1 Dynamic Programming Following is a summary of the problems we discussed in class. (We do not include the discussion on the container problem or the
More informationThe Complexity of Simple and Optimal Deterministic Mechanisms for an Additive Buyer. Xi Chen, George Matikas, Dimitris Paparas, Mihalis Yannakakis
The Complexity of Simple and Optimal Deterministic Mechanisms for an Additive Buyer Xi Chen, George Matikas, Dimitris Paparas, Mihalis Yannakakis Seller has n items for sale The Set-up Seller has n items
More informationCS599: Algorithm Design in Strategic Settings Fall 2012 Lecture 6: Prior-Free Single-Parameter Mechanism Design (Continued)
CS599: Algorithm Design in Strategic Settings Fall 2012 Lecture 6: Prior-Free Single-Parameter Mechanism Design (Continued) Instructor: Shaddin Dughmi Administrivia Homework 1 due today. Homework 2 out
More informationAnalysis of Computing Policies Using SAT Solvers (Short Paper)
Analysis of Computing Policies Using SAT Solvers Short Paper Marijn J. H. Heule, Rezwana Reaz, H. B. Acharya, and Mohamed G. Gouda The University of Texas at Austin, United States {marijn,rezwana,acharya,gouda}@cs.utexas.edu
More informationMath 101, Basic Algebra Author: Debra Griffin
Math 101, Basic Algebra Author: Debra Griffin Name Chapter 5 Factoring 5.1 Greatest Common Factor 2 GCF, factoring GCF, factoring common binomial factor 5.2 Factor by Grouping 5 5.3 Factoring Trinomials
More informationContinuous images of closed sets in generalized Baire spaces ESI Workshop: Forcing and Large Cardinals
Continuous images of closed sets in generalized Baire spaces ESI Workshop: Forcing and Large Cardinals Philipp Moritz Lücke (joint work with Philipp Schlicht) Mathematisches Institut, Rheinische Friedrich-Wilhelms-Universität
More informationPrinciples of Program Analysis: Algorithms
Principles of Program Analysis: Algorithms Transparencies based on Chapter 6 of the book: Flemming Nielson, Hanne Riis Nielson and Chris Hankin: Principles of Program Analysis. Springer Verlag 2005. c
More informationArborescent Architecture for Decentralized Supervisory Control of Discrete Event Systems
Arborescent Architecture for Decentralized Supervisory Control of Discrete Event Systems Ahmed Khoumsi and Hicham Chakib Dept. Electrical & Computer Engineering, University of Sherbrooke, Canada Email:
More informationConditional Rewriting
Conditional Rewriting Bernhard Gramlich ISR 2009, Brasilia, Brazil, June 22-26, 2009 Bernhard Gramlich Conditional Rewriting ISR 2009, July 22-26, 2009 1 Outline Introduction Basics in Conditional Rewriting
More informationStrong Subgraph k-connectivity of Digraphs
Strong Subgraph k-connectivity of Digraphs Yuefang Sun joint work with Gregory Gutin, Anders Yeo, Xiaoyan Zhang yuefangsun2013@163.com Department of Mathematics Shaoxing University, China July 2018, Zhuhai
More informationOPPA European Social Fund Prague & EU: We invest in your future.
OPPA European Social Fund Prague & EU: We invest in your future. Cooperative Game Theory Michal Jakob and Michal Pěchouček Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech
More informationA Testing Read-Once Formula Satisfaction
A Testing Read-Once Formula Satisfaction ELDAR FISCHER and YONATAN GOLDHIRSH, Technion, Israel Institute of Technology ODED LACHISH, Birkbeck, University of London We study the query complexity of testing
More informationAsymptotic Notation. Instructor: Laszlo Babai June 14, 2002
Asymptotic Notation Instructor: Laszlo Babai June 14, 2002 1 Preliminaries Notation: exp(x) = e x. Throughout this course we shall use the following shorthand in quantifier notation. ( a) is read as for
More informationQ1. [?? pts] Search Traces
CS 188 Spring 2010 Introduction to Artificial Intelligence Midterm Exam Solutions Q1. [?? pts] Search Traces Each of the trees (G1 through G5) was generated by searching the graph (below, left) with a
More informationChapter wise Question bank
GOVERNMENT ENGINEERING COLLEGE - MODASA Chapter wise Question bank Subject Name Analysis and Design of Algorithm Semester Department 5 th Term ODD 2015 Information Technology / Computer Engineering Chapter
More informationUNIT 2. Greedy Method GENERAL METHOD
UNIT 2 GENERAL METHOD Greedy Method Greedy is the most straight forward design technique. Most of the problems have n inputs and require us to obtain a subset that satisfies some constraints. Any subset
More informationTug of War Game. William Gasarch and Nick Sovich and Paul Zimand. October 6, Abstract
Tug of War Game William Gasarch and ick Sovich and Paul Zimand October 6, 2009 To be written later Abstract Introduction Combinatorial games under auction play, introduced by Lazarus, Loeb, Propp, Stromquist,
More informationThe Probabilistic Method - Probabilistic Techniques. Lecture 7: Martingales
The Probabilistic Method - Probabilistic Techniques Lecture 7: Martingales Sotiris Nikoletseas Associate Professor Computer Engineering and Informatics Department 2015-2016 Sotiris Nikoletseas, Associate
More informationEXAMPLE: Find the Limit: lim
SECTION 4.3: L HOPITAL S RULE Sometimes when attempting to determine a Limit by the algebraic method of plugging in the number x is approaching, we run into situations where we seem not to have an answer,
More information