1 Model checking and equivalence checking
|
|
- Damon Cummings
- 5 years ago
- Views:
Transcription
1 Practical Design Verification Model checking and equivalence checking Masahiro Fujita. Introduction Owing to the advances in semiconductor technology, a large and complex system that has a wide variety of functionalities has een integrated on a single chip. It is called system-on-a-chip (SoC) or system LSI, since all of the components in an electronics system are uilt on a single chip. Designs of SoCs are highly complicated and require many manpower-consuming processes. As a result, it has ecome increasingly difficult to identify all the design ugs in such a large and complex system efore the chips are faricated. In current designs, the verification time to check whether or not a design is correct can take 8 percent or more of the overall design time. Therefore, the development of verification techniques in each level of astraction is indispensale. Logic simulation is a widely used technique for the verification of a design. It simulates the output values for given input patterns. However, ecause the quality of simulation results deeply depends on given input patterns, there is a possiility that there exist design ugs that cannot e identified during logic simulation. Because the numer of required input patterns is exponentially increased when the size of a design is increased, it is clearly impossile to verify the overall design completely y logic simulation. To solve this prolem, the development of formal verification techniques is essential. In formal verification, specification and design are translated into mathematical models. Formal verification techniques verify a design y proving its correctness with mathematical reasoning, and, therefore, they can verify the overall design exhaustively. Since formal verification is a mathematical reasoning process and logic circuits compute Boolean functions, it is realized on top of asic Boolean reasoning techniques, such as inary decision diagrams (BDDs), Boolean satisfiaility checking methods (so-called SAT methods), and automatic test-pattern generation techniques (ATPG) for manufacturing test fields. The performance of formal verification methods relies heavily on the performance of these techniques. Figure. shows an overview of a formal verification flow. In formal verification, oth specification and design descriptions are translated into mathematical models using front-end tools. Finite state machines, temporal logic, Boolean functions, and so on, are used as mathematical models. After mathematical models are otained, they are analyzed Practical Design Verification, eds. Dhiraj K. Pradhan and Ian G. Harris. Pulished y Camridge University Press. ª Camridge University Press 29.
2 Practical Design Verification 2 M. Fujita Spec Design Front-end tool Mathematical models Finite state machine Temporal logic Boolean function Other logic expressions Verification engines Binary decision diagram (BDD) Satisfiaility check (SAT) Automatic test-pattern generation (ATPG) Figure. Formal verification of design descriptions using BDD and SAT methods. Formal verification is equivalent to simulating all the cases in logic simulation. If there exists a design ug, formal verification techniques produce a counter-example to support deugging processes. There are asically two prolems in the verification of designs: model checking and equivalence checking. Model checking (or property checking) verifies whether a design satisfies the properties given as its specification. The performance of model checking has drastically improved in recent years, mainly owing to the significant progress of SATased efficient implementations. Equivalence checking verifies whether two given designs are equivalent or not. Equivalence checking can e applied to two designs in the same design level or in two different design levels. Depending on the types of equivalence definitions, equivalence checking can e made only on cominational parts of the circuits or on oth cominational and sequential parts of the designs. In particular, the former type of equivalence checking has ecome very practical, and very large designs, such as those with more than million gates, can e formally verified in a couple of hours. In the actual design flow from highly astracted design stages down to implementation levels, model checking is applied to each design level to ensure correct functionality, and equivalence checking is applied to any two different design levels so that correctness of the designs can e estalished. In this chapter, I first riefly review the Boolean reasoning techniques, BDD, SAT, and ATPG methods, in Section.2. Property checking and equivalence checking techniques are presented in Sections.3 and.4 respectively. In Section.5, formal verification techniques used in design levels higher than RTL are discussed..2 Techniques for Boolean reasoning In this section, I introduce three Boolean reasoning techniques, BDD, SAT, and ATPG techniques, which are the ases of formal verification methods. The performance of
3 Practical Design Verification Model checking and equivalence checking 3 x x 2 x 2 x 3 x 4 x 5 x 3 x x 2 x 2 x 3 Figure.2 A inary decision tree representation of a Boolean function and its corresponding inary decision diagram (BDD) formal verification methods fully relies on the performance of these techniques. In recent years SAT and ATPG methods, especially their program implementations, have een drastically improved, which make it feasile to verify real-life designs formally within reasonale time..2. Binary decision diagrams (BDDs) Reduced ordered inary decision diagrams (ROBDDs), simply called BDDs, are a canonical representation for Boolean functions. For many Boolean functions of practical interest in VLSI designs, BDDs provide a sustantially more compact representation than other traditional alternatives, such as truth tales, sum-of-products (SOP) forms, or conjunctive normal form representations. Further, there exist efficient algorithms to manipulate BDDs. Thus, BDDs and their variants have ecome widely used in various areas of digital system design, including logic synthesis and formal verification of systems that can e represented in finite state machines. Binary decision diagrams represent the Boolean function as a directed acyclic graph. Let us first consider inary decision trees, an example of which appears on the left-hand side of Fig..2, for the majority function, f(x,x 2,x 3 ) ¼ (x ^x 2 ) (x 2^x 3 ) (x ^x 3 ). The inary decision tree is a rooted directed tree with two kinds of node, terminal nodes and nonterminal nodes. Each non-terminal node v is laeled with a variale var(v) and has two successors, hi(v) and lo(v), corresponding to the cases when var(v) is set to and, respectively. The edge connecting v and hi(v), shown as a solid line (lo(v) is shown as a dashed line), is laeled with (). Each terminal node (leaf node of the tree) is laeled y the Boolean value or. Each truth assignment to the variales of the function has a one-to-one correspondence to a path in the tree from the root to a terminal node. This path can e traversed y starting with the root node and taking the edge corresponding to the truth value of the variale laeling the current node. The value laeling the terminal node is the value of the function under this truth assignment. This representation is, however, fairly redundant. For example, the su-trees corresponding to the assignment (x ¼, x 2 ¼ ) and (x ¼, x 2 ¼ ) are isomorphic, and the vertex that corresponds to (x ¼, x 2 ¼ ) is redundant, since oth assignments to x 3 at this point have the same consequence. ^ ^
4 Practical Design Verification 4 M. Fujita A BDD could e otained for a given Boolean function y essentially placing two restrictions on its inary decision tree representation. The first restriction imposed is a total order < on the variales laeling the vertices, such that for any vertex u in the diagram, if u has a non-terminal successor v, then var(u) < var(v). The second set of restrictions involves merging isomorphic su-trees and removing redundant vertices y repeatedly applying the following three reduction rules until no further application is possile... Remove duplicate terminals Eliminate all ut one terminal vertex with a given lael and redirect all arcs going to the eliminated vertices into the remaining vertex. 2.. Remove duplicate non-terminals If two non-terminal vertices u and v have var(u) ¼ var(v), lo(u) ¼ lo(v), and hi(u) ¼ hi(v), then eliminate one of u or v and redirect all incoming arcs to the eliminated vertex to the one that remains. 3.. Remove redundant tests If a non-terminal vertex v has hi(v) ¼ lo(v), then eliminate v and redirect all its incoming arcs to hi(v). The resulting representation is a BDD. Figure.2 shows an example. The graph on the right-hand side is a BDD corresponding to the inary decision tree of the majority function, shown on the left-hand side in the figure. Binary decision diagram representations are canonical that is, two BDDs for a given Boolean function under a given variale ordering are isomorphic. [] Because of this the equivalence of two Boolean functions can e simply checked y a graph isomorphism check on their respective BDD representations. A function is a tautology if and only if it is isomorphic to the trivial BDD corresponding to a single terminal vertex and satisfiale if and only if it is not isomorphic to the trivial BDD represented y a single terminal vertex. A function is independent of a variale x if and only if there is no vertex laeled with x in its BDD. The size of a BDD representation is critically dependent on its variale order. Figure.3 shows two different BDD representations for the comparator function. The one on the left side uses the ordering a < a 2 < < 2, while the one on the right uses the order a < < a 2 < 2. More generally, for an n-it comparator, the ordering a <...<a n < <...< n yields a BDD with 3 2 n vertices, while the ordering a < <...< a n < n gives a BDD of size 3n þ 2. Thus, the size characteristics of the a a a 2 a 2 a Figure.3 An example of how variale ordering can affect the size of an ROBDD
5 Practical Design Verification Model checking and equivalence checking 5 BDD can change from linear asymptotic growth to exponential asymptotic growth y altering the variale ordering strategy. In general, finding the optimal BDD variale order for a given function is a hard prolem. Specifically, checking that a given variale order is optimal for a given function is an NP-complete prolem. [2] Some classes of Boolean function are particularly difficult cases for BDDs, since any variale order results in a BDD with exponential complexity. The Boolean functions for the middle two outputs of an n-it integer multiplier are one such example. [3] The optimal variale order is, however, typically not necessary in order to effectively use BDDs. In practice, we need a variale order that keeps the BDD representations within reasonale limits so that suitale algorithms can manipulate them using the availale computer power. In fact, many functions encountered in practical applications do have reasonaly compact BDD representations. Moreover, efficient heuristics for BDD variale ordering have een developed that keep BDD sizes in check. One class of variale-ordering heuristics uses domain-specific knowledge to effect a good ordering. For example, if the Boolean function represents a logic gate network, then a depth-first traversal on the network graph can provide a good ordering. [4,5] Another technique, called dynamic reordering or sifting, [6] is an orthogonal approach, which is used when a domain-specific or constructive ordering algorithm is not availale for the functions eing manipulated. The technique simply performs a sequence of local reordering moves with the aim of reducing BDD size. It does this on a periodic asis to keep BDD sizes smaller and has often proved to e quite effective in practice. One operation that is central to the construction, representation, and manipulation of BDDs is the restriction or co-factoring operation. A restriction or co-factor of f is the function that results when some variale x of f is set to a constant value k ( or ), denoted as f x¼k or alternatively as f x for x ¼ and f x for x ¼. Given the two co-factors of a function, it can e expressed using the following identity, known as Shannon s expansion: f ¼ x f x þx f x. The manipulation of BDDs that is, performing logical operations on functions represented as BDDs is done using a single universal operation called the ite (if-thenelse) operator (which internally makes use of the restriction operation). [7] The ite operator is a ternary operator, akin in functionality to a multiplexor (mux) in hardware or the if-then-else construct availale in programming languages. It realizes the function expressed as iteðf ; g; hþ ¼f g þ f h, where f, g, and h are Boolean functions (possily non-unique) represented as BDDs. In particular, ite can e used to implement any two-variale logic function, such as f g ¼ iteðf ; g; gþ and f g ¼ iteðf ; ; gþ. Figure.4 shows the algorithm used to implement the ite operator for BDDs. It is a recursive algorithm where the leaves (terminal cases) of the recursion are degenerate cases of the ite operator for which precomputed and stored solutions are sustituted, such as ite(,f,g) ¼ ite(,g,f) and f ite(f,g,g) ¼ g. During the course of the algorithm, the BDD eing generated may not remain fully reduced and canonical owing to the addition of new nodes, R. The reduce() function in the figure refers to the application of the reduction rules discussed earlier. In practical BDD packages, the need for this
6 Practical Design Verification 6 M. Fujita ite(f,g,h) { if (terminal case) { return computed-result; } else { // general case let e the top variale of (f,g,h); ~ f ite(f,g,h ) ~ f ite(f,g,h ) R = new node laeled y R.hi ~ f R.low g ~ reduce(r) return R; Figure.4 Algorithm to implement the ite operator reduce() operation is oviated y maintaining hash tales of oth unique BDD nodes and previous ite calls. New ite calls, as well as new BDD nodes (R) created through them, are looked up against these hash tales efore initiating new ones, therey dynamically maintaining and growing a reduced-ordered BDD..2.2 Boolean satisfiaility checker The Boolean satisfiaility (SAT) prolem is a well-known constraint satisfaction prolem, with many applications in the fields of VLSI computer-aided designs and artificial intelligence fields. Given a propositional formula u, the Boolean satisfiaility prolem posed on u is to determine whether there exists a variale assignment under which u evaluates to true. Such an assignment, if one exists, is called a satisfying assignment for u, and u is called satisfiale. Otherwise, u is said to e unsatisfiale. The SAT prolem is known to e NP-complete. [8] However, in recent years, there have een tremendous advancements in SAT technology, making SAT solvers a viale option for solving many real-world prolems. Most SAT solvers use a conjunctive normal form (CNF) representation of the propositional formula. A CNF formula consists of a conjunction of clauses, each of which is a disjunction of literals, and a literal is a variale or its negation. For example ða þ þ cþða þ cþða þ þ cþ is a propositional formula in CNF over the variales a,, and c. It is composed of a conjunction of three clauses. The clause ða þ þ cþ is one of the clauses, a disjunction of literals a,, and c. Note that for a CNF formula to e satisfied, each of its clauses must e satisfied that is, evaluate to true. Thereexist polynomial algorithms to transform an aritrary propositional formula into a satisfiaility equivalent CNF formula, which is satisfiale if and only if the original formula is satisfiale. Most modern SAT solvers are ased on the Davis Putnam Logemann Loveland (DPLL) procedure. [9,] The DPLL algorithm essentially performs a
7 Practical Design Verification Model checking and equivalence checking 7 sat-solve() if preprocess() = CONFLICT then return UNSAT while TRUE do if not decide-next-ranch() then return SAT; while deduce() = CONFLICT do level analyze-conflict(); if level = then return UNSAT; acktrack (level); done; done; Figure.5 A generalized DPLL algorithm ranch-and-ound search over the space of possile Boolean assignments of the variales of the given propositional formula. It is a sound and complete algorithm that is, it finds a satisfying assignment if and only if the given formula is satisfiale. Figure.5 shows the asic processing flow of the DPLL algorithm. This form provides a suitale framework for illustrating the advanced features of modern DPLL-ased SAT solvers. The first operation in the algorithm is a set of preprocessing steps (preprocess()) during which it may e discovered that the formula is unsatisfiale. If this is not the case, the algorithm enters the outermost loop, which consists of choosing an unassigned variale and assigning to it a value that has not een explored earlier (decide-next-ranch()). If no such variale exists, the current partial assignment is a satisfying assignment for the formula. Otherwise, the variale assignments deducile from the current assignments are applied (deduce()) using a procedure known as Boolean constraint propagation (BCP). This consists of an iterated application of the unit clause rule, which is applied on unit clauses that is, clauses with all ut one literal assigned to false and the last literal unassigned. The unit clause rule asserts the last unassigned literal of each unit clause as true, since the other assignment represents a search path that cannot lead to a satisfying assignment. A conflict occurs when a variale is asserted as true as well as false. If BCP does not lead to a conflict, the decide-next-ranch() loop is repeated y choosing further unassigned variales and values. However, in the event of a conflict, the search acktracks (acktrack()) y undoing a certain numer of decisions and their BCP implied assignments, ased on an analysis of the conflict y analyze-conflict(). If all decisions need to e undone (i.e., the acktrack-level level is ), the formula is deemed unsatisfiale, since the entire search space has een exhausted. The original DPLL algorithm used chronological acktracking that is, it would acktrack up to the most recent decision, for which the other value of the variale had not een tried. However, modern SAT solvers use conflict analysis techniques (shown as (analyze-conflict) in the figure) to analyze the reasons for a conflict. Conflict analysis is used to perform conflict-driven learning and conflict-driven acktracking, which were incorporated independently in the GRASP [] and rel-sat [2] SAT
8 Practical Design Verification 8 M. Fujita solvers. Conflict-driven learning consists of adding conflict clauses to the formula, to avoid the same conflict in the future. Conflict-driven acktracking allows nonchronological acktracking that is, up to the closest decision that caused the conflict. These techniques greatly improve the performance of the SAT solver on structured prolems. The conflict analysis is realized using implication graphs, [,3] which capture the current state of the SAT solver. Many other advances have een made in developing the asic components that comprise the DPLL-ased SAT solver: the decision engine (heuristics for choosing decision variales and values); the deduction engine (data structures and heuristics for performing BCP and detecting conflicts); and the diagnosis engine (heuristics for conflict-driven learning). [4] An interesting property of CNF representations was first exploited y Zhang in the SATO SAT solver [5] to improve the performance of BCP. It proposed the use of head and tail pointers to point to non-false literals in the list representation of a clause, and maintained the strong invariant that all literals efore the head pointer, and all literals after the tail pointer, are false. Clearly, detection of a unit clause during BCP ecomes easy that is, when the head and tail pointers coincide on an unassigned literal. The main advantage is that the clause status is updated only when either of the head or tail literals is assigned a false value during BCP. In particular, this eliminates an update when any of the other literals in the clause is assigned a value. When the head or tail literal is assigned a false value during BCP, the associated pointer needs to e moved to another non-false literal, if it exists. This is facilitated y the strong invariant. However, during acktracking, the head or tail pointers may need to e moved ack again, to maintain the strong invariant. A different trade-off was proposed in the Chaff SAT solver. [6] Its BCP scheme, known as two literal watching with lazy update, is also ased on tracking only two literals per clause during BCP. However, Chaff maintains a weak invariant, wherey the two watched literals are required to e non-false, ut there is no ordering requirement with respect to other false literals. Again, detection of a unit clause during BCP is easily performed y checking whether oth watched pointers coincide, and whether clause updates on assignment to other literals are eliminated. Most of the modern-day SAT solvers incorporate the advanced techniques for conflict-ased learning, ranching heuristics, and efficient BCP descried aove as well as efficient data structures and extremely well-tuned implementations to exploit their algorithmic power fully. With these advancements, SAT solvers can now analyze formulas of up to a million variales and three to four million clauses in a few hours of runtime. Of course, these figures hold for only fairly structured SAT instances derived from certain classes of real-world prolems..2.3 Automatic test-pattern generation (ATPG) techniques Automatic test-pattern generation (ATPG) is the process of generating a suite of test vectors that can e used for the purposes of testing a manufactured circuit for manufacturing faults. Manufacturing faults are physical defects introduced into the integrated circuit (IC), during the manufacturing process, which result in its incorrect
9 Practical Design Verification Model checking and equivalence checking 9 Primary inputs Justify S S a X Propagate Primary outputs Figure.6 ATPG process for a single stuck-at- fault a d f c e Figure.7 An example of implication and learning from circuits operation. The fault we consider here is one that causes a signal to e permanently stuck at a logical value or (or a defect that can, for all practical purposes, e modeled as such). Such a fault is called a stuck-at ( or ) fault. Very efficient ATPG algorithms for stuck-at faults have een developed, which can e applied to Boolean function reasoning. Therefore, powerful formal verification techniques may e estalished using ATPG techniques. Thus, the purpose here is to show asic concepts and developments in ATPG so that the link of ATPG to formal verification algorithms ecomes evident. Figure.6 illustrates the steps involved in trying to generate a test pattern for a single stuck-at fault. In this example, the signal s is assumed to e under stuck-at- fault. To generate a test for s stuck-at-, we need to find a vector of primary inputs that sets signal s to (justification step) such that some primary output differs etween the good circuit and the faulty circuit (propagation step). As can e seen from the figure, the ATPG prolem is asically a sort of SAT prolem. We need to reason aout the values of signals ased on the constraints shown in the figure. Automatic test-pattern generation techniques have, however, their own historical developments rather independent from SAT method. Their algorithms and heuristics are mostly ased on logic-circuit structures and properties of logic gates. This means that techniques used in ATPG methods can e used in SAT methods and vice versa. One of the most important techniques in ATPG to speed up the test pattern generation processes is called learning. [7,8] As seen in the previous sections, the concept of learning is also utilized in SAT methods to make them much more efficient. Similar efficiency can e achieved in ATPG processes y learning implications of values of signals from the target circuits. Figure.7 shows an implication example. Suppose that input is. Owing to the nature of the AND gate, d and e also ecome. This implies that f is. In summary, we have an implication of values that ¼ implies f ¼. Please note that this implication process utilizes the functionality of AND and NOR gates. More learning can e made from this y using the law of contraposition,
10 Practical Design Verification M. Fujita that is, we can also conclude that f ¼ implies ¼. As can e seen from the figure, this learned implication is not so ovious. From f ¼ we cannot have fixed values for d and e, since what is required from f ¼ ond and e is that at least one of d and e must e, that is d ¼ ande ¼*(don tcare)ord ¼* ande ¼. There are two possile values for d and e, which means that further reasoning on values of signals is not straightforward. As can e seen from the example, y using the law of contraposition, many more implications can e otained, which will further enhance the ATPG processes. As the discussions aove on the circuits shown in Fig..7, iff ¼, there are several possile cases of values on d and e. As a result, no further simple implication of the values of signals can e made. On the other hand, in oth ATPG and SAT methods, reasoning is ased on case splitting and acktracking, and knowledge aout necessary assignments computed from learning processes is crucial for the numer of acktracks which must e performed. Backtracks occur if wrong decisions have een made, i.e., decisions considered wrong if they violate necessary assignments. Hence, it is important to realize that if all necessary assignments are known at every stage of the test-pattern generation process (or in general in all Boolean reasoning processes) acktracks can e avoided. Simple learning methods [7,8] cannot identify all necessary assignments, ased, as they are, on polynomial time-complexity algorithms. The prolem of identifying all necessary assignments is NP-complete and a method that guarantees identifying all necessary assignments must e exponential in time complexity. One such technique, which can identify all necessary assignments, is recursive learning. [9] It involves applying learning methods in a recursive way so that even if multiple cases happen when computing implications, all such cases are exhaustively analyzed. For example, let us consider the case of f ¼ in the circuit of Fig..7. In this case, there are two cases of values for d and e, i.e., d ¼ and e ¼* or d ¼* and e ¼. Recursive learning procedures analyze one case at a time and proceed the necessary assignment analysis in a recursive way. The two cases are shown in Figs..8 (a) and (), respectively. In (a), d ¼ implies a ¼ and ¼. In (), e ¼ implies ¼ and c ¼. The important point here is that in oth cases ¼. That is, is always. So we can conclude that f ¼ implies ¼ without using the law of contraposition. In this simple example, the same implication can also e otained y applying the law of contraposition to the implication otained in Fig..7. In general, however, much more learning can e otained with recursive learning techniques, especially if there are more recursions. The level of recursion is defined as the numer a d f a * d f c (a) e c * () e Figure.8 Two cases for f ¼ in the circuit of Fig..7
Boolean Representations and Combinatorial Equivalence
Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving
More informationBinary Decision Diagrams (BDDs) Pingqiang Zhou ShanghaiTech University
Binary Decision Diagrams (BDDs) Pingqiang Zhou ShanghaiTech University Computational Boolean Algera Representations Applying unate recursive paradigm (URP) in solving tautology is a great warm up example.
More informationModel Checking I Binary Decision Diagrams
/42 Model Checking I Binary Decision Diagrams Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 523 2/42 Binary Decision Diagrams Ordered binary decision diagrams
More informationVLSI 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 informationBinary 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 informationL4: Binary Decision Diagrams. Reading material
L4: Binary Decision Diagrams de Micheli pp. 75-85 Reading material R. Bryant, Graph-ased algorithms for Boolean function manipulation, IEEE Transactions on computers, C-35, No 8, August 1986; can e downloaded
More informationNormal Forms for Boolean Expressions
Normal Forms for Boolean Expressions A NORMAL FORM defines a class expressions s.t. a. Satisfy certain structural properties b. Are usually universal: able to express every boolean function 1. Disjunctive
More informationUnit 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 informationBehavior models and verification Lecture 6
Behavior models and verification Lecture 6 http://d3s.mff.cuni.cz Jan Kofroň, František Plášil Model checking For a Kripke structure M = (S, I, R, L) over AP and a (state based) temporal logic formula
More informationSolving 3-SAT. Radboud University Nijmegen. Bachelor Thesis. Supervisors: Henk Barendregt Alexandra Silva. Author: Peter Maandag s
Solving 3-SAT Radboud University Nijmegen Bachelor Thesis Author: Peter Maandag s3047121 Supervisors: Henk Barendregt Alexandra Silva July 2, 2012 Contents 1 Introduction 2 1.1 Problem context............................
More informationZchaff: A fast SAT solver. Zchaff: A fast SAT solver
* We d like to build a complete decision procedure for SAT which is efficient. Generalized D-P-L algorithm: while (true) { if (! decide( )) /* no unassigned variables */ return (sat) while (! bcp ( ))
More informationBoolean Functions (Formulas) and Propositional Logic
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part I: Basics Sanjit A. Seshia EECS, UC Berkeley Boolean Functions (Formulas) and Propositional Logic Variables: x 1, x 2, x 3,, x
More informationMotivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees
Motivation CS389L: Automated Logical Reasoning Lecture 5: Binary Decision Diagrams Işıl Dillig Previous lectures: How to determine satisfiability of propositional formulas Sometimes need to efficiently
More informationCombinational Equivalence Checking
Combinational Equivalence Checking Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab. Dept. of Electrical Engineering Indian Institute of Technology Bombay viren@ee.iitb.ac.in
More informationEECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Formal Methods Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley The Boolean Satisfiability Problem (SAT) Given: A Boolean formula F(x 1, x 2, x 3,, x n ) Can F evaluate to 1
More informationTheory of Integers. CS389L: Automated Logical Reasoning. Lecture 13: The Omega Test. Overview of Techniques. Geometric Description
Theory of ntegers This lecture: Decision procedure for qff theory of integers CS389L: Automated Logical Reasoning Lecture 13: The Omega Test şıl Dillig As in previous two lectures, we ll consider T Z formulas
More informationEECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley Project Proposals Due Friday, February 13 on bcourses Will discuss project topics on Monday Instructions
More informationArray Dependence Analysis as Integer Constraints. Array Dependence Analysis Example. Array Dependence Analysis as Integer Constraints, cont
Theory of Integers CS389L: Automated Logical Reasoning Omega Test Işıl Dillig Earlier, we talked aout the theory of integers T Z Signature of T Z : Σ Z : {..., 2, 1, 0, 1, 2,..., 3, 2, 2, 3,..., +,, =,
More information4.1 Review - the DPLL procedure
Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They
More informationOn 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 informationCircuit versus CNF Reasoning for Equivalence Checking
Circuit versus CNF Reasoning for Equivalence Checking Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Equivalence Checking Workshop 25 Madonna di Campiglio,
More informationSymbolic Methods. The finite-state case. Martin Fränzle. Carl von Ossietzky Universität FK II, Dpt. Informatik Abt.
Symbolic Methods The finite-state case Part I Martin Fränzle Carl von Ossietzky Universität FK II, Dpt. Informatik Abt. Hybride Systeme 02917: Symbolic Methods p.1/34 What you ll learn How to use and manipulate
More information1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2
Synthesis The Y-diagram Revisited Structural Behavioral More abstract designs Physical CAD for VLSI 2 1 Structural Synthesis Behavioral Physical CAD for VLSI 3 Structural Processor Memory Bus Behavioral
More informationOn Resolution Proofs for Combinational Equivalence Checking
On Resolution Proofs for Combinational Equivalence Checking Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann
More informationAdvanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay
Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance
More informationBinary Decision Diagrams
Logic and roof Hilary 2016 James Worrell Binary Decision Diagrams A propositional formula is determined up to logical equivalence by its truth table. If the formula has n variables then its truth table
More informationCombinational Equivalence Checking Using Satisfiability and Recursive Learning
Combinational Equivalence Checking Using Satisfiability and Recursive Learning João Marques-Silva Thomas Glass Instituto Superior Técnico Siemens AG Cadence European Labs/INESC Corporate Technology 1000
More informationAn Introduction to SAT Solvers
An Introduction to SAT Solvers Knowles Atchison, Jr. Fall 2012 Johns Hopkins University Computational Complexity Research Paper December 11, 2012 Abstract As the first known example of an NP Complete problem,
More informationAn 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 informationQuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University
QuteSat A Robust Circuit-Based SAT Solver for Complex Circuit Structure Chung-Yang (Ric) Huang National Taiwan University To appear: DATE 27 2/1/27 Fact Sheet (Background) Boolean Satisfiability (SAT)
More informationLearning Techniques for Pseudo-Boolean Solving and Optimization
Learning Techniques for Pseudo-Boolean Solving and Optimization José Faustino Fragoso Fremenin dos Santos September 29, 2008 Abstract The extension of conflict-based learning from Propositional Satisfiability
More informationSAT Solver. CS 680 Formal Methods Jeremy Johnson
SAT Solver CS 680 Formal Methods Jeremy Johnson Disjunctive Normal Form A Boolean expression is a Boolean function Any Boolean function can be written as a Boolean expression s x 0 x 1 f Disjunctive normal
More informationABC basics (compilation from different articles)
1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node
More informationSatisfiability Solvers
Satisfiability Solvers Part 1: Systematic Solvers 600.325/425 Declarative Methods - J. Eisner 1 Vars SAT solving has made some progress 100000 10000 1000 100 10 1 1960 1970 1980 1990 2000 2010 Year slide
More informationSymbolic Boolean Manipulation with Ordered Binary Decision Diagrams
Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams Randal E. Bryant Fujitsu Laboratories, Ltd. 5 Kamikodanaka, Nakahara-ku Kawasaki 2, Japan June, 992 Ordered Binary Decision Diagrams
More informationEECS 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 informationChapter 2 PRELIMINARIES
8 Chapter 2 PRELIMINARIES Throughout this thesis, we work with propositional or Boolean variables, that is, variables that take value in the set {true, false}. A propositional formula F representing a
More informationCS-E3220 Declarative Programming
CS-E3220 Declarative Programming Lecture 5: Premises for Modern SAT Solving Aalto University School of Science Department of Computer Science Spring 2018 Motivation The Davis-Putnam-Logemann-Loveland (DPLL)
More informationESE535: Electronic Design Automation CNF. Today CNF. 3-SAT Universal. Problem (A+B+/C)*(/B+D)*(C+/A+/E)
ESE535: Electronic Design Automation CNF Day 21: April 21, 2008 Modern SAT Solvers ({z}chaff, GRASP,miniSAT) Conjunctive Normal Form Logical AND of a set of clauses Product of sums Clauses: logical OR
More informationConstraint Satisfaction Problems
Constraint Satisfaction Problems Tuomas Sandholm Carnegie Mellon University Computer Science Department [Read Chapter 6 of Russell & Norvig] Constraint satisfaction problems (CSPs) Standard search problem:
More informationSAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013
SAT Solvers Ranjit Jhala, UC San Diego April 9, 2013 Decision Procedures We will look very closely at the following 1. Propositional Logic 2. Theory of Equality 3. Theory of Uninterpreted Functions 4.
More informationA Satisfiability Procedure for Quantified Boolean Formulae
A Satisfiability Procedure for Quantified Boolean Formulae David A. Plaisted Computer Science Department, University of North Carolina Chapel Hill, NC 27599-3175, USA Armin Biere ETH Zürich, Computer Systems
More informationComputer-Aided Program Design
Computer-Aided Program Design Spring 2015, Rice University Unit 1 Swarat Chaudhuri January 22, 2015 Reasoning about programs A program is a mathematical object with rigorous meaning. It should be possible
More informationPROPOSITIONAL LOGIC (2)
PROPOSITIONAL LOGIC (2) based on Huth & Ruan Logic in Computer Science: Modelling and Reasoning about Systems Cambridge University Press, 2004 Russell & Norvig Artificial Intelligence: A Modern Approach
More informationOn 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 informationBinary Decision Diagrams
Binary Decision Diagrams 2-CS-626- Formal Verification Department of Computer Science University of Cincinnati Introduction Binary Decision Diagrams (BDD) [, 8] are a general, graphical representation
More informationCS-E3200 Discrete Models and Search
Shahab Tasharrofi Department of Information and Computer Science, Aalto University Lecture 7: Complete and local search methods for SAT Outline Algorithms for solving Boolean satisfiability problems Complete
More informationFormal Verification. Lecture 7: Introduction to Binary Decision Diagrams (BDDs)
Formal Verification Lecture 7: Introduction to Binary Decision Diagrams (BDDs) Jacques Fleuriot jdf@inf.ac.uk Diagrams from Huth & Ryan, 2nd Ed. Recap Previously: CTL and LTL Model Checking algorithms
More informationECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis
ECE 5775 (Fall 17) High-Level Digital Design Automation Binary Decision Diagrams Static Timing Analysis Announcements Start early on Lab 1 (CORDIC design) Fixed-point design should not have usage of DSP48s
More informationNP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.
CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT
More informationBoolean Satisfiability Solving Part II: DLL-based Solvers. Announcements
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part II: DLL-based Solvers Sanjit A. Seshia EECS, UC Berkeley With thanks to Lintao Zhang (MSR) Announcements Paper readings will be
More informationLecture 2: Symbolic Model Checking With SAT
Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.
More informationHeuristic Backtracking Algorithms for SAT
Heuristic Backtracking Algorithms for SAT A. Bhalla, I. Lynce, J.T. de Sousa and J. Marques-Silva IST/INESC-ID, Technical University of Lisbon, Portugal fateet,ines,jts,jpmsg@sat.inesc.pt Abstract In recent
More informationDeductive Methods, Bounded Model Checking
Deductive Methods, Bounded Model Checking http://d3s.mff.cuni.cz Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Deductive methods Pavel Parízek Deductive Methods, Bounded
More informationExample: Map coloring
Today s s lecture Local Search Lecture 7: Search - 6 Heuristic Repair CSP and 3-SAT Solving CSPs using Systematic Search. Victor Lesser CMPSCI 683 Fall 2004 The relationship between problem structure and
More informationSAT/SMT Solvers and Applications
SAT/SMT Solvers and Applications University of Waterloo Winter 2013 Today s Lecture Lessons learnt so far Implementation-related attacks (control-hazard, malware,...) Program analysis techniques can detect
More informationA 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 information1.4 Normal Forms. We define conjunctions of formulas as follows: and analogously disjunctions: Literals and Clauses
1.4 Normal Forms We define conjunctions of formulas as follows: 0 i=1 F i =. 1 i=1 F i = F 1. n+1 i=1 F i = n i=1 F i F n+1. and analogously disjunctions: 0 i=1 F i =. 1 i=1 F i = F 1. n+1 i=1 F i = n
More informationPractical SAT Solving
Practical SAT Solving Lecture 5 Carsten Sinz, Tomáš Balyo May 23, 2016 INSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz
More information2SAT Andreas Klappenecker
2SAT Andreas Klappenecker The Problem Can we make the following boolean formula true? ( x y) ( y z) (z y)! Terminology A boolean variable is a variable that can be assigned the values true (T) or false
More informationBITCOIN MINING IN A SAT FRAMEWORK
BITCOIN MINING IN A SAT FRAMEWORK Jonathan Heusser @jonathanheusser DISCLAIMER JUST TO BE CLEAR.. This is research! Not saying ASICs suck I am not a cryptographer, nor SAT solver guy WTF REALISED PHD RESEARCH
More informationOn Resolution Proofs for Combinational Equivalence
33.4 On Resolution Proofs for Combinational Equivalence Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann
More informationVertex 3-colorability of claw-free graphs
R u t c o r Research R e p o r t Vertex 3-coloraility of claw-free graphs M. Kamiński a V. Lozin RRR 8 2007, Feruary 2007 RUTCOR Rutgers Center for Operations Research Rutgers University 640 Bartholomew
More informationReliable Verification Using Symbolic Simulation with Scalar Values
Reliable Verification Using Symbolic Simulation with Scalar Values Chris Wilson Computer Systems Laboratory Stanford University Stanford, CA, 94035 chriswi@leland.stanford.edu David L. Dill Computer Systems
More informationFormal Verification Methods 2: Symbolic Simulation
Formal Verification Methods 2: Symbolic Simulation John Harrison Intel Corporation Marktoberdorf 2003 Thu 3st July 2003 (:25 2:0) 0 Summary Simulation Symbolic and ternary simulation BDDs Quaternary lattice
More informationMulti Domain Logic and its Applications to SAT
Multi Domain Logic and its Applications to SAT Tudor Jebelean RISC Linz, Austria Tudor.Jebelean@risc.uni-linz.ac.at Gábor Kusper Eszterházy Károly College gkusper@aries.ektf.hu Abstract We describe a new
More informationExample of a Demonstration that a Problem is NP-Complete by reduction from CNF-SAT
20170926 CNF-SAT: CNF-SAT is a problem in NP, defined as follows: Let E be a Boolean expression with m clauses and n literals (literals = variables, possibly negated), in which - each clause contains only
More informationNP-Complete Reductions 2
x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 CS 447 11 13 21 23 31 33 Algorithms NP-Complete Reductions 2 Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline NP-Complete
More informationRecent Results from Analyzing the Performance of Heuristic Search
Recent Results from Analyzing the Performance of Heuristic Search Teresa M. Breyer and Richard E. Korf Computer Science Department University of California, Los Angeles Los Angeles, CA 90095 {treyer,korf}@cs.ucla.edu
More informationBinary Decision Diagrams and Symbolic Model Checking
Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of
More informationBinary Decision Diagrams
5-44 Bug Catching: Automated Program Verification and Testing based on slides by SagarChaki 2 Carnegie Mellon University BDDs in a nutshell Typically mean Reduced Ordered (ROBDDs) Canonical representation
More informationPropositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson
Propositional Calculus: Boolean Algebra and Simplification CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Topics Motivation: Simplifying Conditional Expressions
More informationA Pearl on SAT Solving in Prolog (extended abstract)
A Pearl on SAT Solving in Prolog (extended abstract) Jacob M. Howe and Andy King 1 Introduction The Boolean satisfiability problem, SAT, is of continuing interest because a variety of problems are naturally
More informationFinite Model Generation for Isabelle/HOL Using a SAT Solver
Finite Model Generation for / Using a SAT Solver Tjark Weber webertj@in.tum.de Technische Universität München Winterhütte, März 2004 Finite Model Generation for / p.1/21 is a generic proof assistant: Highly
More informationChecking Satisfiability of a Conjunction of BDDs
48. Checking Satisfiability of a Conjunction of BDDs Robert Damiano Advanced Technology Group Synopsys, Inc. Hillsboro, OR robertd@synopsys.com James Kukula Advanced Technology Group Synopsys, Inc. Hillsboro,
More informationBetter test results for the graph coloring and the Pigeonhole Problems using DPLL with k-literal representation
Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 127 135. Better test results for the graph coloring and the Pigeonhole Problems using
More informationUnrestricted Backtracking Algorithms for Satisfiability
From: AAAI Technical Report FS-01-04. Compilation copyright 2001, AAAI (www.aaai.org). All rights reserved. Unrestricted Backtracking Algorithms for Satisfiability I. Lynce, L. Baptista and J. Marques-Silva
More informationCDCL SAT Solvers. Joao Marques-Silva. Theory and Practice of SAT Solving Dagstuhl Workshop. April INESC-ID, IST, ULisbon, Portugal
CDCL SAT Solvers Joao Marques-Silva INESC-ID, IST, ULisbon, Portugal Theory and Practice of SAT Solving Dagstuhl Workshop April 2015 The Success of SAT Well-known NP-complete decision problem [C71] The
More informationFormal Verification Techniques for Digital Systems
&CHAPTER 1 Formal Verification Techniques for Digital Systems MASAHIRO FUJITA, SATOSHI KOMATSU, and HIROSHI SAITO University of Tokyo, Japan 1.1 INTRODUCTION In deep submicron technology, a large and complex
More information1 Definition of Reduction
1 Definition of Reduction Problem A is reducible, or more technically Turing reducible, to problem B, denoted A B if there a main program M to solve problem A that lacks only a procedure to solve problem
More informationChaff: Engineering an Efficient SAT Solver
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Slides: Tamir Heyman Some are from Malik s presentation Last
More informationResearch Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001
Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright
More informationCS 267: Automated Verification. Lecture 13: Bounded Model Checking. Instructor: Tevfik Bultan
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan Remember Symbolic Model Checking Represent sets of states and the transition relation as Boolean logic formulas
More informationSAT Solver Heuristics
SAT Solver Heuristics SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) Able to solve 10-15 variable problems Satz (Chu Min Li, 1995) Able to solve some 1000 variable problems
More informationBoolTool: A Tool for Manipulation of Boolean Functions
BoolTool: A Tool for Manipulation of Boolean Functions Petr Fišer, David Toman Czech Technical University in Prague Department of Computer Science and Engineering Karlovo nám. 13, 121 35 Prague 2 e-mail:
More informationCSc Parallel Scientific Computing, 2017
CSc 76010 Parallel Scientific Computing, 2017 What is? Given: a set X of n variables, (i.e. X = {x 1, x 2,, x n } and each x i {0, 1}). a set of m clauses in Conjunctive Normal Form (CNF) (i.e. C = {c
More informationMassively Parallel Seesaw Search for MAX-SAT
Massively Parallel Seesaw Search for MAX-SAT Harshad Paradkar Rochester Institute of Technology hp7212@rit.edu Prof. Alan Kaminsky (Advisor) Rochester Institute of Technology ark@cs.rit.edu Abstract The
More information(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1
CS 70 Discrete Mathematics for CS Fall 2000 Wagner MT1 Sol Solutions to Midterm 1 1. (16 pts.) Theorems and proofs (a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are
More informationP Is Not Equal to NP. ScholarlyCommons. University of Pennsylvania. Jon Freeman University of Pennsylvania. October 1989
University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science October 1989 P Is Not Equal to NP Jon Freeman University of Pennsylvania Follow this and
More informationof m clauses, each containing the disjunction of boolean variables from a nite set V = fv 1 ; : : : ; vng of size n [8]. Each variable occurrence with
A Hybridised 3-SAT Algorithm Andrew Slater Automated Reasoning Project, Computer Sciences Laboratory, RSISE, Australian National University, 0200, Canberra Andrew.Slater@anu.edu.au April 9, 1999 1 Introduction
More informationNP and computational intractability. Kleinberg and Tardos, chapter 8
NP and computational intractability Kleinberg and Tardos, chapter 8 1 Major Transition So far we have studied certain algorithmic patterns Greedy, Divide and conquer, Dynamic programming to develop efficient
More informationSymbolic Manipulation of Boolean Functions Using a Graphical Representation. Abstract
Symbolic Manipulation of Boolean Functions Using a Graphical Representation Randal E. Bryant 1 Dept. of Computer Science Carnegie-Mellon University Abstract In this paper we describe a data structure for
More informationSAT-CNF Is N P-complete
SAT-CNF Is N P-complete Rod Howell Kansas State University November 9, 2000 The purpose of this paper is to give a detailed presentation of an N P- completeness proof using the definition of N P given
More informationLinear Time Unit Propagation, Horn-SAT and 2-SAT
Notes on Satisfiability-Based Problem Solving Linear Time Unit Propagation, Horn-SAT and 2-SAT David Mitchell mitchell@cs.sfu.ca September 25, 2013 This is a preliminary draft of these notes. Please do
More information8.1 Polynomial-Time Reductions
8.1 Polynomial-Time Reductions Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. Those with polynomial-time algorithms.
More informationHelsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 100
Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 100 Teknillisen korkeakoulun tietojenkäsittelyteorian laboratorion tutkimusraportti 100 Espoo 2006 HUT-TCS-A100
More informationSatisfiability (SAT) Applications. Extensions/Related Problems. An Aside: Example Proof by Machine. Annual Competitions 12/3/2008
15 53:Algorithms in the Real World Satisfiability Solvers (Lectures 1 & 2) 1 Satisfiability (SAT) The original NP Complete Problem. Input: Variables V = {x 1, x 2,, x n }, Boolean Formula Φ (typically
More informationDomain Knowledge Articulation using Integration Graphs
Domain Knowledge Articulation using Integration Graphs Madalina Croitoru Ernesto Compatangelo Department of Computing Science, University of Aerdeen, UK {mcroitor, compatan}@csd.adn.ac.uk Astract In order
More informationNP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT
NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT 3SAT The 3SAT problem is the following. INSTANCE : Given a boolean expression E in conjunctive normal form (CNF) that is the conjunction of clauses, each
More informationGRASP A New Search Algorithm for Satisfiability
Thi d d i h F M k 4 0 4 GRASP A New Search Algorithm for Satisfiability João P. Marques Silva Karem A. Sakallah Cadence European Laboratories Department of EECS IST/INESC University of Michigan 1000 Lisboa,
More information