Cofactoring-Based Upper Bound Computation for Covering Problems

Size: px
Start display at page:

Download "Cofactoring-Based Upper Bound Computation for Covering Problems"

Transcription

1 TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST Cofactoring-Based Upper Bound Computation for Covering Problems Congguang Yang Maciej Ciesielski May 998 TR-CSE Department of Electrical and Computer Engineering University of Massachusetts Amherst, MA 0003 Abstract This paper introduces an efficient technique to compute a tight upper bound for the unate and binate covering problems. It is known that a covering problem can be solved by finding a shortest path on a BDD representing a satisfiability formula. Our technique is based on finding an approximation to the shortest path by identifying a path on a BDD composed of as many negative edges as possible. This operation is performed by iterative cofactoring without actually building a BDD. The results show that our technique generates very tight upper bound, with more than half of the test cases resulting in the optimum solution in just a few iterations. I. INTRODUCTION Many combinatorial problems can be naturally transformed into equivalent covering problems. For example, vertex covering problem, well-known to be intractable [2], can be formulated as a unate covering problem. Two level logic minimization also relies on solving unate covering problem (UCP), while binate covering problem (BCP) is the key to state minimization of incompletely specified finite state machines. As a result, efficient solution to the covering problem continues to be an important research topic [3][4][5][6][7]. Although many techniques have been developed to solve the covering problems, they mainly fall into one of the two categories [9]: the branch-and-bound techniques, and the binary decision diagrams (BDD s) based graph traversal techniques []. Since the branch and bound method is presented very well in literature [0], here we give a brief overview of BDD-based graph traversal techniques. Interested reader is referred to an excellent survey on this topic presented in [9]. A covering problem can be formulated in one of the two equivalent forms, the constraint matrix form and the constraint equation form. While branch-and-bound methods typically work on matrix form, BDDbased traversal techniques work on the equation form. Given a Boolean formula Ü ½ Ü ¾ Ü Ò µ to be satisfied, and a cost associated with each variable, an input assignment is a satisfying assignment if µ ½. Typically such a formula is given as a product of clauses or, equivalently, as a Boolean function in a product of sums (POS) form. Finding a minimum cost assignment satisfying is the task of solving the covering problem. As formulated by Lin and Somenzi [], a covering problem can be solved by finding a shortest path on a BDD representing satisfiability function. A shortest path on a BDD is a path from root to leaf node ½ which has the least number of positive edges (each representing a variable in the positive phase). This technique is also applicable to a weighted covering problem by simply assigning weights to the graph edges. The shortest weighted path represents the minimum cost assignment which satisfies the covering constraints. Example: consider a Boolean formula in the POS form, derived from a covering matrix of [6].

2 TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST 2 ¼ ½ µ ½ ¾ µ µ ½ µ ¼ ¾ µ ¾ µ () Its BDD, shown in Figure, has been generated by the CUDD package [2] using -autodyn option for variable ordering. Solid lines represent positive edges, dashed lines are negative edges, and the dotted lines are the complement edges. The BDD is traversed by breadth-first search from node ½ to the root. At each node, the shortest distance of that node to ½ is labeled, and either one or both edges of that node are marked if that edge lies on the shortest path to ½ from that node. Subsequently, a shortest path on a BDD can be readily obtained by traversing the labeled tree from the root to node ½. In Figure, there are two shortest paths, each of length 3, ¼ ¼ ¼ ½ ¾ and ¼ ¼ ½ ¾. Hence the minimum cost assignments satisfying are ¾ and ½ ¾. In this figure the marks are represented by the black bars. ¾ f 3 a0 3 3 a a a3 a3 a3 2 a2 a2 a2 a4 Fig.. BDD of Boolean Equation. The main advantage of this method is that it can be used to solve both the weighted and unweighted, unate and binate covering problems. Furthermore, a shortest path on a BDD can be found in linear time. The drawback of this method is the construction of the BDD itself, which prevents it from handling large problems. We found that in order to solve a covering problem, explicitly building a BDD is not needed if an upper bound of the solution is available. One can avoid building a portion of BDD by pruning it in a fashion similar to that used in branch and bound. The key to this method is to be able to find an upper bound efficiently. While some efficient heuristics were proposed to calculate the lower bound for branch and bound computation, to the best of our knowledge there are no efficient heuristics to compute an upper bound. Usually the upper bound is chosen as the best solution found so far in the process of searching for the optimum. Consider a binary decision tree for a covering problem with Ò ½ variables. Let us calculate the number Ä Ù Òµ which is the number of nodes left on that tree after all nodes with distance-to-root Ù have been pruned. For Ù ½, For Ù ¾, Ä ½ Òµ ½ ¾ Ò ½µ Ò ¾µ Ç Ò¾ µ (2) Ä ¾ Òµ ½ ½¾ ¾Ò Ò ¾ Ò ¾½µ Ç Ò µ (3) When Ù Ò, which is quite common in a well formulated covering problem, Ä Ù Òµ increases exponentially with Ù.

3 TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST 3 Ä Ù Òµ Ç Ò Ù ½ µ (4) Therefore, by decreasing the upper bound Ù by, the number of the pruned nodes increases by a factor of Ç Òµ. This is the reason why the Limit Lower Bound Theorem of Coudert [6] is so efficient in solving the covering problems. Computing a tight upper bound for either BDD-based or branch-and-bound technique is the key to solving the covering problems efficiently. A. Contributions In this paper, we propose a new efficient technique to compute an upper bound for the unate and binate covering problems. Our technique is based on the following observation: consider the path from the root to node of a BDD which follows as many negative edges as possible. Typically the length of such a path is very close to the length of the shortest path on a BDD. Therefore, for a given variable order, we can obtain an upper bound by taking negative co-factor with respect to consecutive variables in the tree as long as the value of co-factor is not equal to zero. For example, in Figure, such a path is obtained by taking negative co-factors at ¼ and ½, and taking positive co-factors at ¾ and. Since the co-factors are computed in a top-down fashion, building a BDD is actually not needed. For all the tests that we conducted the heuristic based on this observation seems to be quite efficient. Later we provide a few additional heuristics which can further improve the results. In fact, for more than half of our test cases, the heuristic was able to find the optimum solution within just a few iterations. The proposed method applies equally to the unate and binate covering problems as long as the the weights of the negative edges can be assumed to be zero. Since a unate function can always be transformed into a positive unate function, without loss of generality we concentrate on a positive unate covering problem. Extension of this method to binate covering problem is straightforward, it requires only a minor modification of the algorithm. The paper is organized as follows. Section II gives some basic definitions. Section III shows the upper bound computation technique using iterative co-factoring. Section IV gives the detail of the algorithm. We conclude by listing a number of open problems and future research. Test Bench Size Opt. Random Ascend. (R C) Sol. Order Order coudert.t hach9.t ½¾ bbara.t ¾ dk52x.t ½ ex4inp.t ½ ¾ ¼ ex5inp.t ex6inp.t ¾ maincont.t ½¼ 7 9 opus.t ricks.t 5 6 TABLE I UPPER BOUND COMPUTATION. NUMBER GIVES THE OPTIMUM. II. PRELIMINARIES In this section, we give some basic definition needed to develop an efficient technique for the upper bound computation. Definition. For a given BDD, the weight of a path from the root to node ½ is defined as the sum of weights of all positive edges in that path. The shortest path on a BDD is the one with the least weight.

4 TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST 4 Definition 2. The leftmost path on a BDD is defined as a path from the root to node which has the following property: at each node, a negative edge (cofactor) is taken as long as that edge is not connected to node 0. In Figure, ¼ ¼ ¼ ½ ¾ is an exmaple of the leftmost path. Definition 3. Let Ö Úµ denote the total number of occurances of variable Ú in the Boolean formula representing the covering (satisfiability) problem. For example, in Equation, Ö ½ µ. Test Bench Size Opt. Random Order Descending Order Ascending Order (R C) Sol. Min. Hit Iteration Min. Hit Iteration Min. Hit Iteration coudert.t 3 3 2/ 3 3/2 3 2/ hach9.t ½¾ 3 4 0/ 4 3/ 3 2/ bbara.t ¾ 7 8 6/2 7 3/2 7 4/ dk52x.t ½ 6 0 2/ 7 6/5 7 4/3 ex4inp.t ½ ¾ ¼ 5 6 3/2 9 5/2 5 4/3 ex5inp.t 4 5 5/3 4 5/4 4 4/3 ex6inp.t ¾ 4 6 2/ 5 5/3 4 2/ maincont.t ½¼ 7 2/ 9 4/2 8 4/2 opus.t 5 5 7/6 6 3/2 6 0/ ricks.t 5 7 4/3 7 5/4 6 4/ TABLE II UPPER BOUND COMPUTATION WITH DIFFERENT VARIABLE ORDERING. NUMBER GIVES THE OPTIMUM. III. COMPUTATION OF UPPER BOUND BASED ON ITERATIVE CO-FACTORING As mentioned in Section I, the length of the leftmost path on a BDD representing a Boolean satisfiability formula is very close to the optimum solution of the associated covering problem. Specifically, the set of positive variables on that path forms an assignment which satisfies the corresponding Boolean satisfiability function. Furthermore, the total weight of the positive edges on that path gives an upper bound for the covering problem. Intuitively this could be justified by observing that taking negative co-factor does not contribute to the total weight of the path, while taking a positive co-factor increases the path weight. In other words, the leftmost path is a good estimation of the shortest path, with its weight providing a good upper bound for the covering problem in question. Lemma. The upper bound obtained by the proposed technique includes all the essential variables in the satisfiability formula for a given covering problem. Proof: If a variable Ú is essential, it must be set to ½, otherwise the formula will not be satisfied. Obviously, negative edges of those nodes that are associated with essential variable Ú must be connected to node ¼. Therefore, positive co-factor must be taken at those nodes, and, as a result, Ú will appear in the positive form on the leftmost path to ½. ¾ We tested this upper bound computation technique on several examples using random variable ordering. The results are listed in Table I under the column Random Order. Test case coudert.t comes from Figure of [6], hach9.t comes from problem 4-9 of [0], the remaining ones come from [7]. The upper bound given by a random variable ordering is very close the optimum solution known from the literature. In the remained of this section, we provide additional heuristics to further improve the upper bound. A. Variable Ordering Heuristic The simplest variable ordering heuristic used to build a BDD is based on the descending order of variable cardinality (c.f. Definition 3). Under this ordering the variable with the largest cardinality is assigned to the

5 TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST 5 root. For other variables, the larger the cardinality of a variable, the higher that variable is positioned in the tree. Usually, this variable ordering can generate a relatively small BDD. However, when dealing with the covering problem the variable order should be reversed. Under the reverse order the nodes in the lower part of a BDD (now with larger cardinality) will tend to have more connections to ¼ than the nodes in the upper part, which are more likely to connect to the internal nodes. Since we only count the variables at which a positive co-factor is taken, most of the positive variables of the shortest path come from the lower part of the BDD. Since variables with larger cardinality are more likely to be selected for the optimum covering, putting those variables in the lower part of the BDD increases their chance to be selected for a satisfying assignment. Therefore, the variable ordering based on ascending cardinality is more suitable for the upper bound computation. Lemma 2. The upper bound computation based on ascending cardinality ordering will never select dominated variables (columns). Proof : Consider a covering problem in matrix form where column (variable) Ú is dominated by column (variable) Ù. Hence, Ö Úµ Ö Ùµ. Furthermore, in the corresponding POS satisfiability formula variable Ù must appear in all the sum terms which include Ú. Under this ordering, at the time when Ú is evaluated, the co-factor with respect to Ù has not yet been computed. At this point we are free to take negative cofactor w.r.to Ú. Consequently, the dominated variable Ú will not be selected for the assignment. ¾ According to Lemma 2, the dominated columns in a covering matrix will be filtered out automatically by using ascending cardinality variable order. As expected, the ascending variable order produces better results in terms of the upper bound. This is shown in Table I in column Ascend Order. In four cases, the optimum results were obtained. B. Group Re-ordering Heuristic Although the variables with larger cardinality are more likely to be selected for the optimum assignment, not all of them will always be selected. To take this into account, we devised a new variable re-ordering heuristic. The idea behind this heuristic is to give the variables with lower cardinality a chance to be placed in the lower part of the BDD where they are more likely to be selected for an assignment. The proposed heuristic is based on iterative re-ordering of groups of variables. Initially the variables are ordered by ascending cardinality. After the first iteration, all the positive variables found in the cover (in the leftmost path) are moved to the top of the variable order, and the process for finding the leftmost path is repeated. The process is iterated until no improvement on the path weight (upper bound) is found. Usually, the total number of iterations is relatively small (less than 5). Convergence may not be guaranteed if a cyclic core occurs, in which case the best upper bound is chosen within the predefined iteration limit. The improvement of the upper bound computation by applying the group re-ordering heuristic is demonstrated in Table II. Three types of initial variable ordering were examined: random, descending, and ascending variable cardinality. For each ordering, the column Iteration lists two numbers: the first one gives the total number of iterations; the second is the iteration number for which the lowest upper bound was found first (For example, 5/2 means that the total number of iterations was 5, and there was no change in the upper bound value after the second iteration). The total number of iterations for most cases is less then, except for opus.t, for which the upper bound oscillates. This was the only case where the iteration limit was reached. The optimum solution was found in more than half of the test cases within a few iterations. IV. ALGORITHM AND IMPLEMENTATION The input to our algorithm is a function in product of sum (POS) form which can be derived directly from the covering matrix. Performing co-factoring on the POS function is nothing but a set operation. Consider a sum term (clause) Ë È Ñ ½ Ú, with variables Ú ordered according to index, global to all the clauses.

6 TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST 6 When Ú ½, the first variable in the order, is evaluated, no other variables have been evaluated yet. Therefore, it is safe to set Ú ½ ¼ (remove Ú from the set), as this will not make Ë ¼. The same argument applies to the remaining variables in Ë except for the last variable, Ú Ñ, in that clause. Variable Ú Ñ must be set to, otherwise Ë would evaluate to 0. For a POS function, when a variable is set to ½, all sum terms which include that variable are automatically set to ½. Then those sum terms can be removed from the set. A. Data Structures A POS function is mapped onto a covering graph. This graph has two types of nodes, sum node and variable node. A sum node is associated with one sum term in the POS function, and a variable node is associated with a variable. This data structure is designed to handle fairly large covering problems. For very large problems (number of columns 20,000), implicit set enumeration technique [3] must be used. B. Algorithm upperbound(*pos) oldpovar = variable = ascendingsort(variable) 2 Ò ÛÈ ÓÎ Ö 3 ÁÒÙÑ Ö ½¼ 4 while( ÁÒÙÑ Ö) 5 foreach Ú (variable) 6 if(eval one(ú)) /* POS = */ 7 Ò ÛÈ ÓÎ Ö Ò ÛÈ ÓÎ Ö Ì Ú 8 break /* jump out this foreach loop */ 9 else 0 foreach s (Ú ÙÑ ) if( Ø Ø ÆÍÄÄ) 2 delete Ú 3 ÆÙÑÎ Ö /* if only one variable left,set it to ½ */ 5 if( ÆÙÑÎ Ö ¼) 6 Ò ÛÈ ÓÎ Ö Ò ÛÈ ÓÎ Ö Ì Ú 7 foreach ss (Ú ÙÑ ) 8 Ø Ø ½ 9 /* foreach Ú */ 20 if( Ò ÛÈ ÓÎ Ö ÓÐ È ÓÎ Ö ) 2 return oldpovar 22 else 23 oldpovar = newpovar 24 reordervar(newpovar) 25 Ò ÛÈ ÓÎ Ö 26 i /* while */ 28 Fig. 2. Algorithm for upper bound estimation. The algorithm is given in Figure 2. ÓÐ È ÓÎ Ö and Ò ÛÈ ÓÎ Ö are two sets which contain variables that satisfy the POS function. In most cases their cardinality is much smaller than Ò (the total number of variables). Function Ò Ò ËÓÖØ µ on line sorts variables by using cardinality as key. Function Ú Ð ÓÒ Úµ

7 TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST 7 on line 6 returns TRUE if È ÇË Ú ½µ ½. Function Ö ÇÖ ÖÎ Ö µ on line 24 reorders variables by putting the variables in Ò ÛÈ ÓÎ Ö on the top of the variable list. The core of this algorithm is the foreach loop, lines 5 to 9, which constitutes a single iteration of the upper bound computation. In lines 6 to 8, if È ÇË Ú ½µ ½, the iteration is terminated. In lines 0 to 8, Ú is removed from all sum terms. If Ú is the last variable left in a sum term, set Ú ½, and set all sum terms which contain Ú to ½, and put Ú in set Ò ÛÈ ÓÎ Ö. C. Complexity Analysis Let Ö = sparsity of a covering matrix, Ñ = the number of sum terms, and Ò = the number of variables. Therefore, the total number of edges is ÖÑÒ, average number of variables in a sum term is ÖÒ, and average number of sum terms which contain a specific variable is ÖÑ. The cardinality of Ò ÛÈ ÓÎ Ö is Ô. At line 5, foreach is executed Ò times. At line 6, Ú Ð ÓÒ Úµ takes Ç Ñµ time to find out if È ÇË Ú ½µ ½. At line 0, foreach is executed ÖÑ times, and line 7 to 8 are only executed ÔÖÒ times. Therefore, the total run time of the code from line 5 to 9 is Ò Ñ ÖÑ ÔÖÒµ. Usually, Ö ½ and Ô Ò, the run time is Ç ÑÒµ. Since the while block on line 4 is executed only a few times, the overall complexity of this algorithm is still Ç ÑÒµ. The limit on the number of iterations is set to 0. V. CONCLUSION This paper introduces an iterative cofactoring-based technique to compute an upper bound for covering problems. The results show that our technique generates very tight upper bound. In more than half of the test cases, the optimum was found. For those which are not optimum, the computed upper bounds are only unit away from the optimum. Our technique will help both branch and bound and BDD-based technique to improve efficiency exponentially. Future research includes adopting implicit set operations, studying the characteristics of BDD under iterative group variable re-ordering, and developing an efficient branch and bound package based on the proposed upper bound computation. ACKNOWLEDGMENTS The authors would like to thank Luca P. Carloni in UC Berkeley for providing the test cases. REFERENCES [] Bill Lin and Fabio Somenzi. Minimization of Symbolic Relations. In Proc. of ICCAD-90, pages [2] M. Garey and D. Johnson, Computers and Intractability, Freeman, New York, 979. [3] R. K. Brayton, G. D. Hachtel, C. T. McMullen, A. L. Sangiovanni-Vincentelli, Logic Minimization Algorithms for VLSI Synthesis, Kluwer Academic Publishers, 984. [4] R. L. Rudell, A. L. Sabgiovanni-Vincentelli, Multiple Valued Minimization for PLA Optimization, in IEEE Trans. on CAD, CAD-5, pages , 987. [5] J. Rho, G. D. Hachtel, F. Somenzi, R. Jacoby, Exact and Heuristics Minimization of Incompletely Specified Finite State Machine, in Proc. of EDAC 90, 990. [6] O. Coudert, J. C. Madre, New Ideas for Solving Covering Problems, in Proc. of DAC 95, pages [7] E. I. Goldberg, L. P. Carloni, T. Villa, R. K. Brayton, A. L. Sangiovanni-Vincentelli, Negative Thinking by Incremental Problem Solving: Application to Unate Covering, in Proc. of ICCAD 97, pages [8] S. Devadas, A. R. Newton, Exact Algorithms for Output Encoding, State Minimization and Four-level Boolean Minimization. In Hawaii International Conference on System Science, pages , 990. [9] T. Villa, T. Kam, R. K. Brayton, A. L. Sangiovanni-Vincentelli, Explicit and Implicit Algorithms for Binate Covering Problems, in IEEE Trans. on CAD, Vol-6, pages , 997. [0] G. D. Hachtel, F. Somenzi, Logic Synthesis and Verification Algorithms, Kluwer Academic Publishers, 996. [] fabio/ [2] S. Minato, Zero-Suppressed BDDs for Set Manipulation in Combinatorial Problems, in Proc. DAC 93, page

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne Two-level Logic Synthesis and Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes as long as this note and the copyright footers

More information

Search Pruning Conditions for Boolean Optimization

Search Pruning Conditions for Boolean Optimization Search Pruning Conditions for Boolean Optimization Vasco M. Manquinho vmm@algos.inesc.pt Polytechnical Institute of Portalegre Portalegre, Portugal João Marques-Silva jpms@inesc.pt Technical University

More information

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado.

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado. LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS by Gary D. Hachtel University of Colorado Fabio Somenzi University of Colorado Springer Contents I Introduction 1 1 Introduction 5 1.1 VLSI: Opportunity and

More information

Conditions for Non-Chronological Backtracking in Boolean Optimization

Conditions for Non-Chronological Backtracking in Boolean Optimization Conditions for Non-Chronological Backtracking in Boolean Optimization Vasco M. Manquinho vmm@algos.inesc.pt Polytechnical Institute of Portalegre Portalegre, Portugal João Marques-Silva jpms@inesc.pt Technical

More information

Unit 4: Formal Verification

Unit 4: Formal Verification Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification

More information

Design of Framework for Logic Synthesis Engine

Design of Framework for Logic Synthesis Engine Design of Framework for Logic Synthesis Engine Tribikram Pradhan 1, Pramod Kumar 2, Anil N S 3, Amit Bakshi 4 1 School of Information technology and Engineering, VIT University, Vellore 632014, Tamilnadu,

More information

Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems

Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems J.M. López, M. García, J.L. Díaz, D.F. García University of Oviedo Department of Computer Science Campus de Viesques,

More information

Binary Decision Diagram with Minimum Expected Path Length

Binary Decision Diagram with Minimum Expected Path Length Binary Decision Diagram with Minimum Expected Path Length Yi-Yu Liu Kuo-Hua Wang TingTing Hwang C. L. Liu Department of Computer Science, National Tsing Hua University, Hsinchu 300, Taiwan Dept. of Computer

More information

Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms

Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms Roni Khardon Tufts University Medford, MA 02155 roni@eecs.tufts.edu Dan Roth University of Illinois Urbana, IL 61801 danr@cs.uiuc.edu

More information

SFU CMPT Lecture: Week 8

SFU CMPT Lecture: Week 8 SFU CMPT-307 2008-2 1 Lecture: Week 8 SFU CMPT-307 2008-2 Lecture: Week 8 Ján Maňuch E-mail: jmanuch@sfu.ca Lecture on June 24, 2008, 5.30pm-8.20pm SFU CMPT-307 2008-2 2 Lecture: Week 8 Universal hashing

More information

VLSI Logic Test, Validation and Verification Lecture 7 Properties & Applications of Binary Decision Diagrams

VLSI Logic Test, Validation and Verification Lecture 7 Properties & Applications of Binary Decision Diagrams VLSI Logic Test, Validation and Verification Lecture 7 Properties & Applications of Binary Decision Diagrams 1 Instructor: Priyank Kalla Department of Electrical and Computer Engineering University of

More information

On the Relation between SAT and BDDs for Equivalence Checking

On the Relation between SAT and BDDs for Equivalence Checking On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda 1 Rolf Drechsler 2 Alex Orailoglu 1 1 Computer Science & Engineering Department University of California, San Diego La Jolla,

More information

Heuristic Minimization of Boolean Relations Using Testing Techniques

Heuristic Minimization of Boolean Relations Using Testing Techniques Heuristic Minimization of Boolean Relations Using Testing Techniques Abhijit Ghosh Srinivas Devadas A. Richard Newton Department of Electrical Engineering and Coniputer Sciences University of California,

More information

Formal Verification using Probabilistic Techniques

Formal Verification using Probabilistic Techniques Formal Verification using Probabilistic Techniques René Krenz Elena Dubrova Department of Microelectronic and Information Technology Royal Institute of Technology Stockholm, Sweden rene,elena @ele.kth.se

More information

Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling

Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling Weizhen Mao Department of Computer Science The College of William and Mary Williamsburg, VA 23187-8795 USA wm@cs.wm.edu

More information

Response Time Analysis of Asynchronous Real-Time Systems

Response Time Analysis of Asynchronous Real-Time Systems Response Time Analysis of Asynchronous Real-Time Systems Guillem Bernat Real-Time Systems Research Group Department of Computer Science University of York York, YO10 5DD, UK Technical Report: YCS-2002-340

More information

Scan Scheduling Specification and Analysis

Scan Scheduling Specification and Analysis Scan Scheduling Specification and Analysis Bruno Dutertre System Design Laboratory SRI International Menlo Park, CA 94025 May 24, 2000 This work was partially funded by DARPA/AFRL under BAE System subcontract

More information

Minimization of Multiple-Valued Functions in Post Algebra

Minimization of Multiple-Valued Functions in Post Algebra Minimization of Multiple-Valued Functions in Post Algebra Elena Dubrova Yunjian Jiang Robert Brayton Department of Electronics Dept. of Electrical Engineering and Computer Sciences Royal Institute of Technology

More information

Probabilistic analysis of algorithms: What s it good for?

Probabilistic analysis of algorithms: What s it good for? Probabilistic analysis of algorithms: What s it good for? Conrado Martínez Univ. Politècnica de Catalunya, Spain February 2008 The goal Given some algorithm taking inputs from some set Á, we would like

More information

Graph Traversal. 1 Breadth First Search. Correctness. find all nodes reachable from some source node s

Graph Traversal. 1 Breadth First Search. Correctness. find all nodes reachable from some source node s 1 Graph Traversal 1 Breadth First Search visit all nodes and edges in a graph systematically gathering global information find all nodes reachable from some source node s Prove this by giving a minimum

More information

A New Algorithm to Create Prime Irredundant Boolean Expressions

A New Algorithm to Create Prime Irredundant Boolean Expressions A New Algorithm to Create Prime Irredundant Boolean Expressions Michel R.C.M. Berkelaar Eindhoven University of technology, P.O. Box 513, NL 5600 MB Eindhoven, The Netherlands Email: michel@es.ele.tue.nl

More information

Checking Equivalence for Circuits Containing Incompletely Specified Boxes

Checking Equivalence for Circuits Containing Incompletely Specified Boxes Freiburg, Germany, September 00 Checking Equivalence for Circuits Containing Incompletely Specified Boxes Christoph Scholl Bernd Becker Institute of Computer Science Albert Ludwigs University D 79110 Freiburg

More information

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley Boolean Function Representations Syntactic: e.g.: CNF, DNF (SOP), Circuit Semantic: e.g.: Truth table, Binary

More information

Binary Decision Diagrams (BDD)

Binary Decision Diagrams (BDD) Binary Decision Diagrams (BDD) Contents Motivation for Decision diagrams Binary Decision Diagrams ROBDD Effect of Variable Ordering on BDD size BDD operations Encoding state machines Reachability Analysis

More information

Logic Synthesis & Optimization Lectures 4, 5 Boolean Algebra - Basics

Logic Synthesis & Optimization Lectures 4, 5 Boolean Algebra - Basics Logic Synthesis & Optimization Lectures 4, 5 Boolean Algebra - Basics 1 Instructor: Priyank Kalla Department of Electrical and Computer Engineering University of Utah, Salt Lake City, UT 84112 Email: kalla@ece.utah.edu

More information

Designing Networks Incrementally

Designing Networks Incrementally Designing Networks Incrementally Adam Meyerson Kamesh Munagala Ý Serge Plotkin Þ Abstract We consider the problem of incrementally designing a network to route demand to a single sink on an underlying

More information

A Boolean Paradigm in Multi-Valued Logic Synthesis

A Boolean Paradigm in Multi-Valued Logic Synthesis A Boolean Paradigm in Multi-Valued Logic Synthesis Abstract Alan Mishchenko Department of ECE Portland State University alanmi@ece.pd.edu Optimization algorithms used in binary multi-level logic synthesis,

More information

Expected Runtimes of Evolutionary Algorithms for the Eulerian Cycle Problem

Expected Runtimes of Evolutionary Algorithms for the Eulerian Cycle Problem Expected Runtimes of Evolutionary Algorithms for the Eulerian Cycle Problem Frank Neumann Institut für Informatik und Praktische Mathematik Christian-Albrechts-Universität zu Kiel 24098 Kiel, Germany fne@informatik.uni-kiel.de

More information

Structure and Complexity in Planning with Unary Operators

Structure and Complexity in Planning with Unary Operators Structure and Complexity in Planning with Unary Operators Carmel Domshlak and Ronen I Brafman ½ Abstract In this paper we study the complexity of STRIPS planning when operators have a single effect In

More information

Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs

Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs Hiroyuki Higuchi Fabio Somenzi Fujitsu Laboratories Ltd. University of Colorado Kawasaki, Japan Boulder, CO Abstract This paper proposes

More information

Constructive floorplanning with a yield objective

Constructive floorplanning with a yield objective Constructive floorplanning with a yield objective Rajnish Prasad and Israel Koren Department of Electrical and Computer Engineering University of Massachusetts, Amherst, MA 13 E-mail: rprasad,koren@ecs.umass.edu

More information

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique Example As an Example, let s consider the formula: F(x,y,z) = x y z + x yz + x yz + xyz + xy z The complete sum of

More information

Online Facility Location

Online Facility Location Online Facility Location Adam Meyerson Abstract We consider the online variant of facility location, in which demand points arrive one at a time and we must maintain a set of facilities to service these

More information

SEPP: a New Compact Three-Level Logic Form

SEPP: a New Compact Three-Level Logic Form SEPP: a New Compact Three-Level Logic Form Valentina Ciriani Department of Information Technologies Università degli Studi di Milano, Italy valentina.ciriani@unimi.it Anna Bernasconi Department of Computer

More information

On Computing Minimum Size Prime Implicants

On Computing Minimum Size Prime Implicants On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for

More information

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols Christian Scheideler Ý Berthold Vöcking Þ Abstract We investigate how static store-and-forward routing algorithms

More information

OPTIMIST: State Minimization for Optimal 2-Level Logic Implementation

OPTIMIST: State Minimization for Optimal 2-Level Logic Implementation OPTIMIST: State Minimization for Optimal 2-Level Logic Implementation Robert M. Fuhrer Steven M. Nowick Department of Computer Science Columbia University New York, NY 10027 Abstract We present a novel

More information

Database Languages and their Compilers

Database Languages and their Compilers Database Languages and their Compilers Prof. Dr. Torsten Grust Database Systems Research Group U Tübingen Winter 2010 2010 T. Grust Database Languages and their Compilers 4 Query Normalization Finally,

More information

Using Symbolic Techniques to find the Maximum Clique in Very Large Sparse Graphs

Using Symbolic Techniques to find the Maximum Clique in Very Large Sparse Graphs Using Symbolic Techniques to find the Maximum Clique in Very Large Sparse Graphs Fulvio CORNO, Paolo PRINETTO, Matteo SONZA REORDA Politecnico di Torino Dipartimento di Automatica e Informatica Torino,

More information

A General Greedy Approximation Algorithm with Applications

A General Greedy Approximation Algorithm with Applications A General Greedy Approximation Algorithm with Applications Tong Zhang IBM T.J. Watson Research Center Yorktown Heights, NY 10598 tzhang@watson.ibm.com Abstract Greedy approximation algorithms have been

More information

ABSTRACT: This paper presents an integrated infrastructure

ABSTRACT: This paper presents an integrated infrastructure 1 Integrating CNF and BDD Based SAT Solvers Sivaram Gopalakrishnan, Vijay Durairaj and Priyank Kalla Department of Electrical and Computer Engineering University of Utah, Salt Lake City, UT-84112 sgopalak,

More information

Generating edge covers of path graphs

Generating edge covers of path graphs Generating edge covers of path graphs J. Raymundo Marcial-Romero, J. A. Hernández, Vianney Muñoz-Jiménez and Héctor A. Montes-Venegas Facultad de Ingeniería, Universidad Autónoma del Estado de México,

More information

Computing optimal linear layouts of trees in linear time

Computing optimal linear layouts of trees in linear time Computing optimal linear layouts of trees in linear time Konstantin Skodinis University of Passau, 94030 Passau, Germany, e-mail: skodinis@fmi.uni-passau.de Abstract. We present a linear time algorithm

More information

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Ramin Zabih Computer Science Department Stanford University Stanford, California 94305 Abstract Bandwidth is a fundamental concept

More information

A Toolbox for Counter-Example Analysis and Optimization

A Toolbox for Counter-Example Analysis and Optimization A Toolbox for Counter-Example Analysis and Optimization Alan Mishchenko Niklas Een Robert Brayton Department of EECS, University of California, Berkeley {alanmi, een, brayton}@eecs.berkeley.edu Abstract

More information

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W. : Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Don t Cares and Multi-Valued Logic Network Minimization

Don t Cares and Multi-Valued Logic Network Minimization Don t Cares and Multi-Valued Logic Network Minimization Yunian Jiang Robert K. Brayton Department of Electrical Engineering and Computer Sciences University of California, Berkeley wiang,brayton @eecs.berkeley.edu

More information

A middle ground between CAMs and DAGs for high-speed packet classification

A middle ground between CAMs and DAGs for high-speed packet classification A middle ground between CAMs and DAGs for high-speed packet classification Amit Prakash Adnan Aziz The University of Texas at Austin Abstract Packet classification is a computationally intensive task that

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

More information

A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver

A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver J.C. Madre and O. Coudert Bull Corporate Research Center Rue Jean Jaures 78340 Les Clayes-sous-bois FRANCE Abstract

More information

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007 VLSI System Design Part II : Logic Synthesis (1) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp

More information

1 Linear programming relaxation

1 Linear programming relaxation Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching

More information

An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set

An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set Prof. Sudha H Ayatti Department of Computer Science & Engineering KLS GIT, Belagavi, Karnataka,

More information

Interleaving Schemes on Circulant Graphs with Two Offsets

Interleaving Schemes on Circulant Graphs with Two Offsets Interleaving Schemes on Circulant raphs with Two Offsets Aleksandrs Slivkins Department of Computer Science Cornell University Ithaca, NY 14853 slivkins@cs.cornell.edu Jehoshua Bruck Department of Electrical

More information

arxiv: v3 [cs.ds] 18 Apr 2011

arxiv: v3 [cs.ds] 18 Apr 2011 A tight bound on the worst-case number of comparisons for Floyd s heap construction algorithm Ioannis K. Paparrizos School of Computer and Communication Sciences Ècole Polytechnique Fèdèrale de Lausanne

More information

SYNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION

SYNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION SYNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION SYNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION Tiziano Villa University of California/Berkeley Timothy Kam Intel Corporation Robert K. Brayton

More information

A Relational View of Subgraph Isomorphism

A Relational View of Subgraph Isomorphism A Relational View of Subgraph Isomorphism J. Cortadella and G. Valiente Department of Software, Technical University of Catalonia, Barcelona, Spain Abstract. This paper presents a novel approach to the

More information

Fuzzy Hamming Distance in a Content-Based Image Retrieval System

Fuzzy Hamming Distance in a Content-Based Image Retrieval System Fuzzy Hamming Distance in a Content-Based Image Retrieval System Mircea Ionescu Department of ECECS, University of Cincinnati, Cincinnati, OH 51-3, USA ionescmm@ececs.uc.edu Anca Ralescu Department of

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Search Pruning Conditions for Boolean Optimization

Search Pruning Conditions for Boolean Optimization Search Pruning Conditions for Boolean Optimization Vasco M. Manquinho vmm@algos.inesc.pt Polytechnical Institute of Portalegre Portalegre, Portugal João Marques-Silva jpms@inesc.pt Technical University

More information

Functional Test Generation for Delay Faults in Combinational Circuits

Functional Test Generation for Delay Faults in Combinational Circuits Functional Test Generation for Delay Faults in Combinational Circuits Irith Pomeranz and Sudhakar M. Reddy + Electrical and Computer Engineering Department University of Iowa Iowa City, IA 52242 Abstract

More information

Directed Single Source Shortest Paths in Linear Average Case Time

Directed Single Source Shortest Paths in Linear Average Case Time Directed Single Source Shortest Paths in inear Average Case Time Ulrich Meyer MPI I 2001 1-002 May 2001 Author s Address ÍÐÖ ÅÝÖ ÅܹÈÐÒ¹ÁÒ ØØÙØ ĐÙÖ ÁÒÓÖÑØ ËØÙÐ ØÞÒÙ Û ½¾ ËÖÖĐÙÒ umeyer@mpi-sb.mpg.de www.uli-meyer.de

More information

Name: Lirong TAN 1. (15 pts) (a) Define what is a shortest s-t path in a weighted, connected graph G.

Name: Lirong TAN 1. (15 pts) (a) Define what is a shortest s-t path in a weighted, connected graph G. 1. (15 pts) (a) Define what is a shortest s-t path in a weighted, connected graph G. A shortest s-t path is a path from vertex to vertex, whose sum of edge weights is minimized. (b) Give the pseudocode

More information

A Proposal for the Implementation of a Parallel Watershed Algorithm

A Proposal for the Implementation of a Parallel Watershed Algorithm A Proposal for the Implementation of a Parallel Watershed Algorithm A. Meijster and J.B.T.M. Roerdink University of Groningen, Institute for Mathematics and Computing Science P.O. Box 800, 9700 AV Groningen,

More information

Theory and Algorithms for the Generation and Validation of Speculative Loop Optimizations

Theory and Algorithms for the Generation and Validation of Speculative Loop Optimizations Theory and Algorithms for the Generation and Validation of Speculative Loop Optimizations Ying Hu Clark Barrett Benjamin Goldberg Department of Computer Science New York University yinghu,barrett,goldberg@cs.nyu.edu

More information

3 INTEGER LINEAR PROGRAMMING

3 INTEGER LINEAR PROGRAMMING 3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=

More information

A Novel SAT All-Solutions Solver for Efficient Preimage Computation

A Novel SAT All-Solutions Solver for Efficient Preimage Computation A Novel SAT All-Solutions Solver for Efficient Preimage Computation Bin Li Department of ECE Virginia Tech. Blacksburg, VA, 24061 Michael S. Hsiao Department of ECE Virginia Tech. Blacksburg, VA, 24061

More information

Optimal Time Bounds for Approximate Clustering

Optimal Time Bounds for Approximate Clustering Optimal Time Bounds for Approximate Clustering Ramgopal R. Mettu C. Greg Plaxton Department of Computer Science University of Texas at Austin Austin, TX 78712, U.S.A. ramgopal, plaxton@cs.utexas.edu Abstract

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

An index structure for efficient reverse nearest neighbor queries

An index structure for efficient reverse nearest neighbor queries An index structure for efficient reverse nearest neighbor queries Congjun Yang Division of Computer Science, Department of Mathematical Sciences The University of Memphis, Memphis, TN 38152, USA yangc@msci.memphis.edu

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

More information

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Amit Goel Department of ECE, Carnegie Mellon University, PA. 15213. USA. agoel@ece.cmu.edu Randal E. Bryant Computer

More information

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x Binary recursion Unate unctions! Theorem I a cover C() is unate in,, then is unate in.! Theorem I is unate in,, then every prime implicant o is unate in. Why are unate unctions so special?! Special Boolean

More information

SFU CMPT Lecture: Week 9

SFU CMPT Lecture: Week 9 SFU CMPT-307 2008-2 1 Lecture: Week 9 SFU CMPT-307 2008-2 Lecture: Week 9 Ján Maňuch E-mail: jmanuch@sfu.ca Lecture on July 8, 2008, 5.30pm-8.20pm SFU CMPT-307 2008-2 2 Lecture: Week 9 Binary search trees

More information

LOW-DENSITY PARITY-CHECK (LDPC) codes [1] can

LOW-DENSITY PARITY-CHECK (LDPC) codes [1] can 208 IEEE TRANSACTIONS ON MAGNETICS, VOL 42, NO 2, FEBRUARY 2006 Structured LDPC Codes for High-Density Recording: Large Girth and Low Error Floor J Lu and J M F Moura Department of Electrical and Computer

More information

Online Scheduling for Sorting Buffers

Online Scheduling for Sorting Buffers Online Scheduling for Sorting Buffers Harald Räcke ½, Christian Sohler ½, and Matthias Westermann ¾ ½ Heinz Nixdorf Institute and Department of Mathematics and Computer Science Paderborn University, D-33102

More information

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far:

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: I Strength of formulations; improving formulations by adding valid inequalities I Relaxations and dual problems; obtaining

More information

Equivalence Checking of Combinational Circuits using Boolean Expression Diagrams

Equivalence Checking of Combinational Circuits using Boolean Expression Diagrams Equivalence Checking of Combinational Circuits using Boolean Expression Diagrams Henrik Hulgaard, Poul Frederick Williams, and Henrik Reif Andersen Abstract The combinational logic-level equivalence problem

More information

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model 356 Int'l Conf. Par. and Dist. Proc. Tech. and Appl. PDPTA'16 Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model Hirofumi Suzuki, Sun Hao, and Shin-ichi Minato Graduate

More information

A Comparison of Structural CSP Decomposition Methods

A Comparison of Structural CSP Decomposition Methods A Comparison of Structural CSP Decomposition Methods Georg Gottlob Institut für Informationssysteme, Technische Universität Wien, A-1040 Vienna, Austria. E-mail: gottlob@dbai.tuwien.ac.at Nicola Leone

More information

Leveraging Set Relations in Exact Set Similarity Join

Leveraging Set Relations in Exact Set Similarity Join Leveraging Set Relations in Exact Set Similarity Join Xubo Wang, Lu Qin, Xuemin Lin, Ying Zhang, and Lijun Chang University of New South Wales, Australia University of Technology Sydney, Australia {xwang,lxue,ljchang}@cse.unsw.edu.au,

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

End-to-end bandwidth guarantees through fair local spectrum share in wireless ad-hoc networks

End-to-end bandwidth guarantees through fair local spectrum share in wireless ad-hoc networks End-to-end bandwidth guarantees through fair local spectrum share in wireless ad-hoc networks Saswati Sarkar and Leandros Tassiulas 1 Abstract Sharing the locally common spectrum among the links of the

More information

What graphs can be efficiently represented by BDDs?

What graphs can be efficiently represented by BDDs? What graphs can be efficiently represented by BDDs? C. Dong P. Molitor Institute of Computer Science Martin-Luther University of Halle-Wittenberg Halle(Saale), D-62, Germany Abstract We have carried out

More information

Approximability Results for the p-center Problem

Approximability Results for the p-center Problem Approximability Results for the p-center Problem Stefan Buettcher Course Project Algorithm Design and Analysis Prof. Timothy Chan University of Waterloo, Spring 2004 The p-center

More information

Multivariate Lagrange inversion formula and the cycle lemma

Multivariate Lagrange inversion formula and the cycle lemma Multivariate Lagrange inversion formula and the cycle lemma Axel Bacher and Gilles Schaeffer Université Paris Nord, and CNRS / École Polytechnique Abstract. We give a multitype extension of the cycle lemma

More information

ON AN OPTIMIZATION TECHNIQUE USING BINARY DECISION DIAGRAM

ON AN OPTIMIZATION TECHNIQUE USING BINARY DECISION DIAGRAM ON AN OPTIMIZATION TECHNIQUE USING BINARY DECISION DIAGRAM Debajit Sensarma # 1, Subhashis Banerjee #1, Krishnendu Basuli #1,Saptarshi Naskar #2, Samar Sen Sarma #3 #1 West Bengal State University, West

More information

ECE608 - Chapter 16 answers

ECE608 - Chapter 16 answers ¼ À ÈÌ Ê ½ ÈÊÇ Ä ÅË ½µ ½ º½¹ ¾µ ½ º½¹ µ ½ º¾¹½ µ ½ º¾¹¾ µ ½ º¾¹ µ ½ º ¹ µ ½ º ¹ µ ½ ¹½ ½ ECE68 - Chapter 6 answers () CLR 6.-4 Let S be the set of n activities. The obvious solution of using Greedy-Activity-

More information

Chain Reduction for Binary and Zero-Suppressed Decision Diagrams arxiv: v1 [cs.ds] 17 Oct 2017

Chain Reduction for Binary and Zero-Suppressed Decision Diagrams arxiv: v1 [cs.ds] 17 Oct 2017 Chain Reduction for Binary and Zero-Suppressed Decision Diagrams arxiv:70.06500v [cs.ds] 7 Oct 07 Randal E. Bryant Computer Science Department Carnegie Mellon University Randy.Bryant@cs.cmu.edu October

More information

Algorithms for Integer Programming

Algorithms for Integer Programming Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is

More information

OPTIMISTA: State Minimization of Asynchronous FSMs for Optimum Output Logic

OPTIMISTA: State Minimization of Asynchronous FSMs for Optimum Output Logic OPTIMISTA: State Minimization of Asynchronous FSMs for Optimum Output Logic Robert M. Fuhrer Steven M. Nowick Department of Computer Science Columbia University New York, NY 10027 {rmf,nowick}@cs.columbia.edu

More information

A New Heuristic for DSOP Minimization

A New Heuristic for DSOP Minimization A New Heuristic for DSOP Minimization Anna Bernasconi Department of Computer Science University of Pisa, Italy annab@di.unipi.it Fabrizio Luccio Department of Computer Science University of Pisa, Italy

More information

APRICODD: Approximate Policy Construction using Decision Diagrams

APRICODD: Approximate Policy Construction using Decision Diagrams APRICODD: Approximate Policy Construction using Decision Diagrams Robert St-Aubin Dept. of Computer Science University of British Columbia Vancouver, BC V6T 14 staubin@cs.ubc.ca Jesse Hoey Dept. of Computer

More information

implementing the breadth-first search algorithm implementing the depth-first search algorithm

implementing the breadth-first search algorithm implementing the depth-first search algorithm Graph Traversals 1 Graph Traversals representing graphs adjacency matrices and adjacency lists 2 Implementing the Breadth-First and Depth-First Search Algorithms implementing the breadth-first search algorithm

More information

An Introduction to Zero-Suppressed Binary Decision Diagrams

An Introduction to Zero-Suppressed Binary Decision Diagrams An Introduction to Zero-Suppressed Binary Decision Diagrams Alan Mishchenko Berkeley Verification and Synthesis Research Center Department of Electrical Engineering and Computer Sciences University of

More information

Basic Properties The Definition of Catalan Numbers

Basic Properties The Definition of Catalan Numbers 1 Basic Properties 1.1. The Definition of Catalan Numbers There are many equivalent ways to define Catalan numbers. In fact, the main focus of this monograph is the myriad combinatorial interpretations

More information

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability Fadi A. Aloul and Karem A. Sakallah Department of Electrical Engineering and Computer Science University

More information

Disjoint, Partition and Intersection Constraints for Set and Multiset Variables

Disjoint, Partition and Intersection Constraints for Set and Multiset Variables Disjoint, Partition and Intersection Constraints for Set and Multiset Variables Christian Bessiere ½, Emmanuel Hebrard ¾, Brahim Hnich ¾, and Toby Walsh ¾ ¾ ½ LIRMM, Montpelier, France. Ö Ð ÖÑÑ Ö Cork

More information

Boolean Factoring with Multi-Objective Goals

Boolean Factoring with Multi-Objective Goals Boolean Factoring with Multi-Objective Goals Mayler G. A. Martins 1, Leomar Rosa Jr. 1, Anders B. Rasmussen 2, Renato P. Ribas 1 and Andre I. Reis 1 1 PGMICRO - Instituto de Informática UFRGS / 2 Nangate

More information