Satisfiability Checking

 To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video
Save this PDF as:

Size: px
Start display at page:

Transcription

1 Satisfiability Checking SAT-Solving Prof. Dr. Erika Ábrahám Theory of Hybrid Systems Informatik 2 WS 10/11 Prof. Dr. Erika Ábrahám - Satisfiability Checking 1 / 40

2 A basic SAT algorithm Assume the CNF formula φ : (x y z) ( x y) ( y z) ( x y z) φ x x Decide() (y) ( y z) ( y z) y y (y z) ( y z) z z (z) ( z) () (y), ( y) z z X y y () () () () X X X X BCP() Resolve_Conflict() Prof. Dr. Erika Ábrahám - Satisfiability Checking 2 / 40

3 A basic SAT algorithm Choose the next variable and value. Return false if all variables are assigned. while (true) { if (!decide()) return SAT; while (!BCP()) if (!resolve_conflict()) return UNSAT; } Boolean Constraint Propagation. Return false if reached a conflict. Conflict resolution and backtracking. Return false if impossible. Prof. Dr. Erika Ábrahám - Satisfiability Checking 3 / 40

4 SAT-solving: Components Decision Boolean Constraint Propagation (BCP) Conflict resolution and backtracking Prof. Dr. Erika Ábrahám - Satisfiability Checking 4 / 40

5 SAT-solving: Components Decision Boolean Constraint Propagation (BCP) Conflict resolution and backtracking Prof. Dr. Erika Ábrahám - Satisfiability Checking 5 / 40

6 Decision heuristics - DLIS DLIS (Dynamic Largest Individual Sum) choose the assignment that increases the most the number of satisfied clauses For a given variable x: C xp # unresolved clauses in which x appears positively C xn - # unresolved clauses in which x appears negatively Let x be the literal for which C xp is maximal Let y be the literal for which C yn is maximal If C xp > C yn choose x and assign it TRUE Otherwise choose y and assign it FALSE Requires O(#literals) queries for each decision. Prof. Dr. Erika Ábrahám - Satisfiability Checking 6 / 40

7 Decision heuristics - DLIS Jersolow-Wang method Compute for every clause c and every literal l: J(l) : l c,c φ 2 c Choose a literal l that maximizes J(l). This gives an exponentially higher weight to literals in shorter clauses Prof. Dr. Erika Ábrahám - Satisfiability Checking 7 / 40

8 Pause... We will see other (more advanced) decision heuristics soon. These heuristics are integrated with a mechanism called learning of conflict clauses, which we will learn soon. Prof. Dr. Erika Ábrahám - Satisfiability Checking 8 / 40

9 SAT-solving: Components Decision Boolean Constraint Propagation (BCP) Conflict resolution and backtracking Prof. Dr. Erika Ábrahám - Satisfiability Checking 9 / 40

10 Status of clause A clause can be satisfied: at least one literal is satisfied unsatisfied: all literals are assigned but none are statisfied unit: all but one literals are assigned but none are satisfied unresolved: all other cases Example: c = (x 1 x 2 x 3 ) x 1 x 2 x 3 c 1 0 satisfied unsatisfied 0 0 unit 0 unresolved BCP: Unit clauses are used to imply consequences of decisions. Prof. Dr. Erika Ábrahám - Satisfiability Checking 10 / 40

11 Implication graph Organize the search in the form of an implication graph Each node corresponds to a variable assignment Definition: Decision Level (DL) is the depth of the node in the decision tree. Notation: x = x is assigned to v {0, 1} at the decision level d Prof. Dr. Erika Ábrahám - Satisfiability Checking 11 / 40

12 Formalisation: Implication graph Definition An implication graph is a labeled directed acyclic graph G(V, E), where V represents the literals of the current partial assignment. Each node is labeled with the literal that it represents and the decision level at which it entered the partial assignment. E with E = {(v i, v j ) v i, v j V, v i v j, v i Antecedent(v j )} denotes the set of directed edges where each edge (v i, v j ) is labeled with Antecedent(v j ). G can also contain a single conflict node labeled with κ and incoming edges {(v, κ) v c} labeled with c for some conflicting clause c. Prof. Dr. Erika Ábrahám - Satisfiability Checking 12 / 40

13 Implication graph: Example Current truth assignment: {x 7 = x 8 = x 9 = Current decision assignment: {x 1 = x 8 = x 2 = c 4 x 5 = c 1 = ( x 1 x 2 ) c 2 = ( x 1 x 3 x 7 ) c 3 = ( x 2 x 3 x 4 ) c 4 = ( x 4 x 5 x 8 ) c 5 = ( x 4 x 6 x 9 ) c 6 = ( x 5 x 6 ) c 1 c3 c 4 c6 x 1 = x 4 = κ c c 3 2 c c 6 5 conflict c 2 x 3 = c 5 x 6 = x 7 = x 9 = Prof. Dr. Erika Ábrahám - Satisfiability Checking 13 / 40

14 Watches For BCP, it would be a large effort to check for each propagation the value of each literal in each clause. One could keep for each literal a list of clauses in which it occurs. It is even enough to watch two literals in each clause such that either one of them is true or both are unassigned. If a literal l gets true, we check each clause in which l is a watch literal (which is now false). If the other watch is true, the clause is satisfied. Else, if we find a new watch position, we are done. Else, if the other watch is unassigned, the clause is unit. Else, if the other watch is false, the clause is conflicting. Prof. Dr. Erika Ábrahám - Satisfiability Checking 14 / 40

15 SAT-solving: Components Decision Boolean Constraint Propagation (BCP) Conflict resolution and backtracking Basic backtracking Non-chronological backtracking Conflict-driven backtracking Prof. Dr. Erika Ábrahám - Satisfiability Checking 15 / 40

16 Basic backtracking search in action c 1 = (x 2 x 3 ) c 2 = ( x 1 x 4 ) c 3 = ( x 2 x 4 ) No backtrack in this example! x 1 x 1 = x 4 = x 2 = x 3 = x 1 = x 2 x 2 = x 3 = {(x 1, 1), (x 2, 0), (x 3, 1), (x 4, 0)} {(x 1, 0), (x 2, 0), (x 3, 1)} Prof. Dr. Erika Ábrahám - Satisfiability Checking 16 / 40

17 Basic backtracking search in action c 1 = (x 2 x 3 ) c 2 = ( x 1 x 4 ) c 3 = ( x 2 x 4 ) c 4 = ( x 1 x 2 x 3 ) x 1 = x 4 = x 2 = x 3 = x 1 x 1 = x 2 x 2 = x 3 = conflict {(x 1, 0), (x 2, 0), (x 3, 1)} Prof. Dr. Erika Ábrahám - Satisfiability Checking 17 / 40

18 SAT-solving: Components Decision Boolean Constraint Propagation (BCP) Conflict resolution and backtracking Basic backtracking Non-chronological backtracking Conflict-driven backtracking Prof. Dr. Erika Ábrahám - Satisfiability Checking 18 / 40

19 Non-chronological backtracking Current truth assignment: {x 7 = x 8 = x 9 = Current decision assignment: {x 1 = x 8 = x 2 = c 4 x 5 = c 1 = ( x 1 x 2 ) c 2 = ( x 1 x 3 x 7 ) c 3 = ( x 2 x 3 x 4 ) c 4 = ( x 4 x 5 x 8 ) c 5 = ( x 4 x 6 x 9 ) c 6 = ( x 5 x 6 ) c 1 c3 c 4 c6 x 1 = x 4 = κ c c 3 2 c c 6 5 conflict c 2 x 3 = c 5 x 6 = x 7 = x 9 = We learn the conflict clause c 7 : ( x 1 x 7 x 8 x 9 ) Prof. Dr. Erika Ábrahám - Satisfiability Checking 19 / 40

20 Non-chronological backtracking What to do now? Undo decision level 4. Propagate in the new clause c 7 at decision level 3. It leads to a new assignment at decision level 3. Propagate the newly assigned literals. So the rule is: Backtrack to the largest decision level in the conflict clause, propagate in the learned clause, and propagate all new assignments. Prof. Dr. Erika Ábrahám - Satisfiability Checking 20 / 40

21 SAT-solving: Components Decision Boolean Constraint Propagation (BCP) Conflict resolution and backtracking Basic backtracking Non-chronological backtracking Conflict-driven backtracking Prof. Dr. Erika Ábrahám - Satisfiability Checking 21 / 40

22 More conflict clauses Def: A conflict clause is any clause implied by the formula. Let L be a set of literals labeling nodes that form a cut in the implication graph, seperating the conflict node from the roots. Claim: l L l is a conflict clause. x 8 = 2 c 4 x 2 = x 5 = 1 1.(x 8 x 1 x 7 x 9 ) c 1 c3 c 4 c6 x 1 = x 4 = κ 2.(x 8 x 4 x 9 ) 3.(x 8 x 2 x 3 x 9 ) c 2 c 3 c 5 c 6. c 2 c 5 x 3 = x 6 = conflict. x 7 = x 9 = 3 Prof. Dr. Erika Ábrahám - Satisfiability Checking 22 / 40

23 Conflict clauses How many clauses should we add? If not all, then which ones? Shorter ones? Check their influence on the backtracking level? The most "influential"? Prof. Dr. Erika Ábrahám - Satisfiability Checking 23 / 40

24 Conflict clauses Def: An asserting clause is a conflict clause with a single literal from the current decision level. Backtracking (to the right level) makes it a unit clause. Asserting clauses are those that force an immediate change in the search path. Modern solvers only consider asserting clauses. Prof. Dr. Erika Ábrahám - Satisfiability Checking 24 / 40

25 Unique Implication Points (UIP s) Definition: A Unique Implication Point (UIP) is an internal node in the implication graph such that all paths from the last decision to the conflict node go through it. The first UIP is the UIP closest to the conflict. c 4 UIP c 1 c3 UIP c 4 c6 κ c 2 c 3 c 5 c 6 c 2 c 5 conflict Prof. Dr. Erika Ábrahám - Satisfiability Checking 25 / 40

26 Conflict-driven backtracking So the rule is: backtrack to the second highest decision level dl, but do not erase it. This way the literal with the currently highest decision level will be implied at decision level dl. Question: What if the conflict clause has a single literal? For example, from (x y) (x y) and decision x = 0, we learn the conflict clause (x). Prof. Dr. Erika Ábrahám - Satisfiability Checking 26 / 40

27 Progress of a SAT solver work invested in refuting x = 1 x = 1 C Refutation of x = 1 Decision Level C 1 C 2 C 4 C 5 C 3 Time Decision Conflict Prof. Dr. Erika Ábrahám - Satisfiability Checking 27 / 40

28 Conflict clauses and resolution The binary resolution is a sound (and complete) inference rule: Example: (β a 1... a n ) ( β b 1... b m ) (Binary Resolution) (a 1... a n b 1... b m ) (x 1 x 2 ) ( x 1 x 3 x 4 ) (x 2 x 3 x 4 ) What is the relation of resolution and conflict clauses? Prof. Dr. Erika Ábrahám - Satisfiability Checking 28 / 40

29 Conflict clauses and resolution Consider the following example: x 2 = c 1 = ( x 4 x 2 x 5 ) c 2 = ( x 4 x 10 x 6 ) c 3 = ( x 5 x 6 x 7 ) c 4 = ( x 6 x 7 ).. c 1 c 1 x 5 = c 3 x 4 = c 2 c 3 x 7 = c x 6 = 4 c 2 c 4 x 10 = Conflict clause: c 5 : (x 2 x 4 x 10 ) κ Prof. Dr. Erika Ábrahám - Satisfiability Checking 29 / 40

30 Conflict clauses and resolution Conflict clause: c 5 : (x 2 x 4 x 10 ) x 2 = c 1 = ( x 4 x 2 x 5 ) c 2 = ( x 4 x 10 x 6 ) c 3 = ( x 5 x 6 x 7 ) c 4 = ( x 6 x 7 ).. c 1 c 1 x 5 = c 3 x 4 = c 2 c 3 x 7 = c x 6 = 4 c 2 c 4 x 10 = κ Assigment order: x 4, x 5, x 6, x 7 T1 = Res(c 4, c 3, x 7 ) = ( x 5 x 6 ) T2 = Res(T1,c 2, x 6 ) = ( x 4 x 5 x 10 ) T3 = Res(T2,c 1, x 5 ) = (x 2 x 4 x 10 ) Prof. Dr. Erika Ábrahám - Satisfiability Checking 30 / 40

31 Finding the conflict clause p r o c e d u r e a n a l y z e _ c o n f l i c t ( ) { i f ( c u r r e n t _ d e c i s i o n _ l e v e l = 0 ) return f a l s e ; c l : = c u r r e n t _ c o n f l i c t i n g _ c l a u s e ; while ( not s t o p _ c r i t e r i o n _ m e t ( c l ) ) do { l i t := l a s t _ a s s i g n e d _ l i t e r a l ( c l ) ; v a r := v a r i a b l e _ o f _ l i t e r a l ( l i t ) ; ante := a n t e c e d e n t ( v a r ) ; c l := r e s o l v e ( c l, ante, v a r ) ; } add_clause_to_database ( c l ) ; return true ; } Applied to our example: name cl lit var ante c 4 ( x 6 x 7 ) x 7 x 7 c 3 ( x 5 x 6 ) x 6 x 6 c 2 ( x 4 x 10 x 5 ) x 5 x 5 c 1 c 5 ( x 4 x 2 x 10 ) Prof. Dr. Erika Ábrahám - Satisfiability Checking 31 / 40

32 Unsatisfiable core Definition An unsatisfiable core of an unsatisfiable CNF formula is an unsatisfiable subset of the original set of clauses. The set of all original clauses is an unsatisfiable core. The set of those original clauses that were used for resolution in conflict analysis during SAT-solving (inclusively the last conflict at decision level 0) gives us an unsatisfiable core which is in general much smaller. However, this unsatifiable core is still not always minimal (i.e., we can remove clauses from it still having an unsatisfiable core). Prof. Dr. Erika Ábrahám - Satisfiability Checking 32 / 40

33 The resolution graph A resolution graph gives us more information to get a minimal unsatisfiable core. Involved Clauses Empty Clause Original Clause Learned Clause Prof. Dr. Erika Ábrahám - Satisfiability Checking 33 / 40

34 Resolution graph: Example () Empty Clause learning (x1) Inferred Clauses (x1 x6) (x1 x3 x6) ( x3) (x4) L: (x1 x3 x2) (x2 x6) ( x3 x4) ( x3 x4) ( x6) ( x1) (x3) Original Clauses Unsatisfiable Core Prof. Dr. Erika Ábrahám - Satisfiability Checking 34 / 40

35 Termination Theorem It is never the case that the solver enters decision level dl again with the same partial assignment. Proof. Define a partial order on partial assignments: α < β iff either α is an extension of β or α has more assignments at the smallest decision level at that α and β do not agree. BCP decreases the order, conflict-driven backtracking also. Since the order always decreases during the search, the theorem holds. Prof. Dr. Erika Ábrahám - Satisfiability Checking 35 / 40

36 SAT-solving: Components Back to decision heuristics... Decision Boolean Constraint Propagation (BCP) Conflict resolution and backtracking Basic backtracking Non-chronological backtracking Conflict-driven backtracking Prof. Dr. Erika Ábrahám - Satisfiability Checking 36 / 40

37 Decision heuristics - VSIDS VSIDS(Variable State Independent Decaying Sum) Gives priority to variables involved in recent conflicts. Involved can have different definitions. We take those variables that occur in clauses used for conflict resolution. 1 Each variable in each polarity has a counter initialized to 0. 2 We define an increment value (e.g., 1). 3 When a conflict occurs, we increase the counter of each variable, that occurs in at least one clause used for conflict resolution, by the increment value. Afterwards we increase the increment value (e.g., by 1). 4 For decisions, the unassigned variable with the highest counter is chosen. 5 Periodically, all the counters and the increment value are divided by a constant. Prof. Dr. Erika Ábrahám - Satisfiability Checking 37 / 40

38 Decision heuristics - VSIDS (cont d) Chaff holds a list of unassigned variables sorted by the counter value. Updates are needed only when adding conflict causes. Thus - decision is made in constant time. Prof. Dr. Erika Ábrahám - Satisfiability Checking 38 / 40

39 Decision heuristics VSIDS is a quasi-static strategy: static because it doesn t depend on current assignment dynamic because it gradually changes. Variables that appear in recent conflicts have higher priority. This strategy is a conflict-driven decision strategy. "...employing this strategy dramatically (i.e., an order of magnitude) improved performance..." Prof. Dr. Erika Ábrahám - Satisfiability Checking 39 / 40

40 The SAT competitions taken from Prof. Dr. Erika Ábrahám - Satisfiability Checking 40 / 40

University of Potsdam Faculty of Computer Science. Clause Learning in SAT Seminar Automatic Problem Solving WS 2005/06

University of Potsdam Faculty of Computer Science Clause Learning in SAT Seminar Automatic Problem Solving WS 2005/06 Authors: Richard Tichy, Thomas Glase Date: 25th April 2006 Contents 1 Introduction

MPBO A Distributed Pseudo-Boolean Optimization Solver

MPBO A Distributed Pseudo-Boolean Optimization Solver Nuno Miguel Coelho Santos Thesis to obtain the Master of Science Degree in Information Systems and Computer Engineering Examination Committee Chairperson:

CS510 Software Engineering

CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se

Boolean Representations and Combinatorial Equivalence

Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discuss the applications of these representations for proving

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

Memory Efficient All-Solutions SAT Solver and its Application for Reachability Analysis

Memory Efficient All-Solutions SAT Solver and its Application for Reachability Analysis Orna Grumberg Assaf Schuster Avi Yadgar Computer Science Department, Technion, Haifa, Israel Abstract This work presents

Solving Non-Linear Random Sparse Equations over Finite Fields

Solving Non-Linear Random Sparse Equations over Finite Fields Thorsten Schilling UiB May 6, 2009 Thorsten Schilling (UiB) Solving Equations over Finite Fields May 6, 2009 1 / 21 Motivation Algebraic Cryptanalysis

Lecture 7: NP-Complete Problems

IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit

Optimizing Description Logic Subsumption

Topics in Knowledge Representation and Reasoning Optimizing Description Logic Subsumption Maryam Fazel-Zarandi Company Department of Computer Science University of Toronto Outline Introduction Optimization

GRASP: A Search Algorithm for Propositional Satisfiability

506 IEEE TRANSACTIONS ON COMPUTERS, VOL. 48, NO. 5, MAY 1999 GRASP: A Search Algorithm for Propositional Satisfiability JoaÄo P. Marques-Silva, Member, IEEE, and Karem A. Sakallah, Fellow, IEEE AbstractÐThis

Memory Efficient All-Solutions SAT Solver and Its Application for Reachability Analysis

Memory Efficient All-Solutions SAT Solver and Its Application for Reachability Analysis Orna Grumberg, Assaf Schuster, and Avi Yadgar Computer Science Department, Technion, Haifa, Israel Abstract. This

Generating models of a matched formula with a polynomial delay

Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

Chaff: Engineering an Efficient SAT Solver

Matthew W. Moskewicz Department of EECS UC Berkeley Chaff: Engineering an Efficient SAT Solver moskewcz@alumni.princeton.edu Conor F. Madigan Department of EECS MIT cmadigan@mit.edu Ying Zhao, Lintao Zhang,

Solving SAT and SAT Modulo Theories: from an Abstract Davis-Putnam-Logemann-Loveland Procedure to DPLL(T)

Solving SAT and SAT Modulo Theories: from an Abstract Davis-Putnam-Logemann-Loveland Procedure to DPLL(T) ROBERT NIEUWENHUIS and ALBERT OLIVERAS Technical University of Catalonia, Barcelona and CESARE

Counting Falsifying Assignments of a 2-CF via Recurrence Equations

Counting Falsifying Assignments of a 2-CF via Recurrence Equations Guillermo De Ita Luna, J. Raymundo Marcial Romero, Fernando Zacarias Flores, Meliza Contreras González and Pedro Bello López Abstract

Resolution. Informatics 1 School of Informatics, University of Edinburgh

Resolution In this lecture you will see how to convert the natural proof system of previous lectures into one with fewer operators and only one proof rule. You will see how this proof system can be used

Between Restarts and Backjumps

Between Restarts and Backjumps Antonio Ramos, Peter van der Tak, and Marijn Heule Department of Software Technology, Delft University of Technology, The Netherlands Abstract. This paper introduces a novel

Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding

Data Structures Fibonacci Heaps, Amortized Analysis

Chapter 4 Data Structures Fibonacci Heaps, Amortized Analysis Algorithm Theory WS 2012/13 Fabian Kuhn Fibonacci Heaps Lacy merge variant of binomial heaps: Do not merge trees as long as possible Structure:

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques My T. Thai 1 Overview An overview of LP relaxation and rounding method is as follows: 1. Formulate an optimization

The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

Rigorous Software Development CSCI-GA 3033-009

Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical

npsolver A SAT Based Solver for Optimization Problems

npsolver A SAT Based Solver for Optimization Problems Norbert Manthey and Peter Steinke Knowledge Representation and Reasoning Group Technische Universität Dresden, 01062 Dresden, Germany peter@janeway.inf.tu-dresden.de

Analysis of Algorithms I: Optimal Binary Search Trees

Analysis of Algorithms I: Optimal Binary Search Trees Xi Chen Columbia University Given a set of n keys K = {k 1,..., k n } in sorted order: k 1 < k 2 < < k n we wish to build an optimal binary search

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

Logic in general. Inference rules and theorem proving

Logical Agents Knowledge-based agents Logic in general Propositional logic Inference rules and theorem proving First order logic Knowledge-based agents Inference engine Knowledge base Domain-independent

Scheduling. Open shop, job shop, flow shop scheduling. Related problems. Open shop, job shop, flow shop scheduling

Scheduling Basic scheduling problems: open shop, job shop, flow job The disjunctive graph representation Algorithms for solving the job shop problem Computational complexity of the job shop problem Open

Y. Xiang, Constraint Satisfaction Problems

Constraint Satisfaction Problems Objectives Constraint satisfaction problems Backtracking Iterative improvement Constraint propagation Reference Russell & Norvig: Chapter 5. 1 Constraints Constraints are

Lecture 19: Introduction to NP-Completeness Steven Skiena. Department of Computer Science State University of New York Stony Brook, NY 11794 4400

Lecture 19: Introduction to NP-Completeness Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Reporting to the Boss Suppose

FORMALLY CERTIFIED SATISFIABILITY SOLVING. Duck Ki Oe. An Abstract

FORMALLY CERTIFIED SATISFIABILITY SOLVING by Duck Ki Oe An Abstract Of a thesis submitted in partial fulfillment of the requirements for the Doctor of Philosophy degree in Computer Science in the Graduate

Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

OHJ-2306 Introduction to Theoretical Computer Science, Fall 2012 8.11.2012

276 The P vs. NP problem is a major unsolved problem in computer science It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a \$ 1,000,000 prize for the

Sudoku as a SAT Problem

Sudoku as a SAT Problem Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal ines@sat.inesc-id.pt Joël Ouaknine Oxford University Computing Laboratory, UK joel@comlab.ox.ac.uk Abstract Sudoku

Constraint Satisfaction Problems. Constraint Satisfaction Problems. Greedy Local Search. Example. 1 Greedy algorithm. 2 Stochastic Greedy Local Search

Constraint Satisfaction Problems June 19, 2007 Greedy Local Search Constraint Satisfaction Problems Greedy Local Search Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg

Lecture 1: Oracle Turing Machines

Computational Complexity Theory, Fall 2008 September 10 Lecture 1: Oracle Turing Machines Lecturer: Kristoffer Arnsfelt Hansen Scribe: Casper Kejlberg-Rasmussen Oracle TM Definition 1 Let A Σ. Then a Oracle

The Basics of Graphical Models

The Basics of Graphical Models David M. Blei Columbia University October 3, 2015 Introduction These notes follow Chapter 2 of An Introduction to Probabilistic Graphical Models by Michael Jordan. Many figures

Static Program Transformations for Efficient Software Model Checking

Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

CSCE 310J Data Structures & Algorithms P, NP, and NP-Complete Dr. Steve Goddard goddard@cse.unl.edu CSCE 310J Data Structures & Algorithms Giving credit where credit is due:» Most of the lecture notes

Computational Methods for Database Repair by Signed Formulae

Computational Methods for Database Repair by Signed Formulae Ofer Arieli (oarieli@mta.ac.il) Department of Computer Science, The Academic College of Tel-Aviv, 4 Antokolski street, Tel-Aviv 61161, Israel.

CSC 373: Algorithm Design and Analysis Lecture 16

CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements

Logical Agents. Explorations in Artificial Intelligence. Knowledge-based Agents. Knowledge-base Agents. Outline. Knowledge bases

Logical Agents Explorations in Artificial Intelligence rof. Carla. Gomes gomes@cs.cornell.edu Agents that are able to: Form representations of the world Use a process to derive new representations of the

Data Structures and Algorithms Written Examination

Data Structures and Algorithms Written Examination 22 February 2013 FIRST NAME STUDENT NUMBER LAST NAME SIGNATURE Instructions for students: Write First Name, Last Name, Student Number and Signature where

Bounded Treewidth in Knowledge Representation and Reasoning 1

Bounded Treewidth in Knowledge Representation and Reasoning 1 Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien Luminy, October 2010 1 Joint work with G.

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

Indexing Multiple- Inheritance Hierarchies

Indexing Multiple- Inheritance Hierarchies Faculty of Electronics and Information Technology Warsaw University of Technology Jacek Lewandowski prof. Henryk Rybiński Layout The context of research Introduction

Exponential time algorithms for graph coloring

Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].

Analysis of Algorithms I: Binary Search Trees

Analysis of Algorithms I: Binary Search Trees Xi Chen Columbia University Hash table: A data structure that maintains a subset of keys from a universe set U = {0, 1,..., p 1} and supports all three dictionary

COMS4236: Introduction to Computational Complexity. Summer 2014

COMS4236: Introduction to Computational Complexity Summer 2014 Mihalis Yannakakis Lecture 17 Outline conp NP conp Factoring Total NP Search Problems Class conp Definition of NP is nonsymmetric with respect

Summary of Last Lecture. Automated Reasoning. Outline of the Lecture. Definition. Example. Lemma non-redundant superposition inferences are liftable

Summary Automated Reasoning Georg Moser Institute of Computer Science @ UIBK Summary of Last Lecture C A D B (C D)σ C s = t D A[s ] (C D A[t])σ ORe OPm(L) C s = t D u[s ] v SpL (C D u[t] v)σ C s t Cσ ERR

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like

Policy nalysis for dministrative Role Based ccess Control without Separate dministration Ping Yang Department of Computer Science, State University of New York at Binghamton, US Mikhail I. Gofman Department

Extracting Hardware Circuits from CNF Formulas. Master s Thesis. submitted in partial fulfillment of the requirements. for the academic degree

JOHANNES KEPLER UNIVERSITÄT LINZ JKU Faculty of Engineering and Natural Sciences Extracting Hardware Circuits from CNF Formulas Master s Thesis submitted in partial fulfillment of the requirements for

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:

Guessing Game: NP-Complete?

Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

Smart Graphics: Methoden 3 Suche, Constraints

Smart Graphics: Methoden 3 Suche, Constraints Vorlesung Smart Graphics LMU München Medieninformatik Butz/Boring Smart Graphics SS2007 Methoden: Suche 2 Folie 1 Themen heute Suchverfahren Hillclimbing Simulated

AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS

TKK Reports in Information and Computer Science Espoo 2009 TKK-ICS-R26 AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS Kari Kähkönen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF

Probabilistic Graphical Models

Probabilistic Graphical Models Raquel Urtasun and Tamir Hazan TTI Chicago April 4, 2011 Raquel Urtasun and Tamir Hazan (TTI-C) Graphical Models April 4, 2011 1 / 22 Bayesian Networks and independences

NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

NP-complete? NP-hard? Some Foundations of Complexity Prof. Sven Hartmann Clausthal University of Technology Department of Informatics Tractability of Problems Some problems are undecidable: no computer

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Computer Algorithms NP-Complete Problems NP-completeness The quest for efficient algorithms is about finding clever ways to bypass the process of exhaustive search, using clues from the input in order

Verifying Refutations with Extended Resolution

Verifying Refutations with Extended Resolution Marijn J. H. Heule, Warren A. Hunt Jr., and Nathan Wetzler The University of Texas at Austin Abstract. Modern SAT solvers use preprocessing and inprocessing

ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS

PROCEEDINGS OF THE YEREVAN STATE UNIVERSITY Physical and Mathematical Sciences 2012 1 p. 43 48 ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS I nf or m at i cs L. A. HAYKAZYAN * Chair of Programming and Information

Exploring the Duality in Conflict-Directed Model-Based Diagnosis

Exploring the Duality in Conflict-Directed Model-Based Diagnosis Roni Stern and Meir Kalech Information Systems Engineering Ben Gurion University Beer-Sheva, Israel 85104 roni.stern@gmail.com, kalech@bgu.ac.il

R u t c o r Research R e p o r t. Boolean functions with a simple certificate for CNF complexity. Ondřej Čepeka Petr Kučera b Petr Savický c

R u t c o r Research R e p o r t Boolean functions with a simple certificate for CNF complexity Ondřej Čepeka Petr Kučera b Petr Savický c RRR 2-2010, January 24, 2010 RUTCOR Rutgers Center for Operations

OPTIMAL BINARY SEARCH TREES

OPTIMAL BINARY SEARCH TREES 1. PREPARATION BEFORE LAB DATA STRUCTURES An optimal binary search tree is a binary search tree for which the nodes are arranged on levels such that the tree cost is minimum.

Computing Bond Orders in Molecule Graphs

Computing Bond Orders in Molecule Graphs Sebastian Böcker 1,2, Quang B. A. Bui 1, and Anke Truss 1 1 Lehrstuhl für Bioinformatik, Friedrich-Schiller-Universität Jena, Ernst-Abbe-Platz 2, 07743 Jena, Germany,

Minerva Access is the Institutional Repository of The University of Melbourne

Minerva Access is the Institutional Repository of The University of Melbourne Author/s: Chu, Geoffrey G. Title: Improving combinatorial optimization Date: 2011 Citation: Chu, G. G. (2011). Improving combinatorial

Discuss the size of the instance for the minimum spanning tree problem.

3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

each college c i C has a capacity q i - the maximum number of students it will admit

n colleges in a set C, m applicants in a set A, where m is much larger than n. each college c i C has a capacity q i - the maximum number of students it will admit each college c i has a strict order i

2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

Introduction to Algorithms. Part 3: P, NP Hard Problems

Introduction to Algorithms Part 3: P, NP Hard Problems 1) Polynomial Time: P and NP 2) NP-Completeness 3) Dealing with Hard Problems 4) Lower Bounds 5) Books c Wayne Goddard, Clemson University, 2004 Chapter

Ant Colony Optimization and Constraint Programming

Ant Colony Optimization and Constraint Programming Christine Solnon Series Editor Narendra Jussien WILEY Table of Contents Foreword Acknowledgements xi xiii Chapter 1. Introduction 1 1.1. Overview of the

Foundational Proof Certificates

An application of proof theory to computer science INRIA-Saclay & LIX, École Polytechnique CUSO Winter School, Proof and Computation 30 January 2013 Can we standardize, communicate, and trust formal proofs?

CoNP and Function Problems

CoNP and Function Problems conp By definition, conp is the class of problems whose complement is in NP. NP is the class of problems that have succinct certificates. conp is therefore the class of problems

On the Unique Games Conjecture

On the Unique Games Conjecture Antonios Angelakis National Technical University of Athens June 16, 2015 Antonios Angelakis (NTUA) Theory of Computation June 16, 2015 1 / 20 Overview 1 Introduction 2 Preliminary

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Lecture 4 Scheduling 1 Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max structure of a schedule 0 Q 1100 11 00 11 000 111 0 0 1 1 00 11 00 11 00

Borne inférieure de circuit : une application des expanders

Borne inférieure de circuit : une application des expanders Simone Bova 1 Florent Capelli 2 Friedrich Slivovski 1 Stefan Mengel 3 1 TU Wien, 2 IMJ-PRG, Paris 7, 3 CRIL, Lens 6 Novembre 2015 JGA 2015 Motivation

A SAT Based Scheduler for Tournament Schedules

A SAT Based Scheduler for Tournament Schedules Hantao Zhang, Dapeng Li, and Haiou Shen Department of Computer Science The University of Iowa Iowa City, IA 52242-1419, USA {dapli, hshen, hzhang}@cs.uiowa.edu

Instruction scheduling

Instruction ordering Instruction scheduling Advanced Compiler Construction Michel Schinz 2015 05 21 When a compiler emits the instructions corresponding to a program, it imposes a total order on them.

Lecture 5 - CPA security, Pseudorandom functions

Lecture 5 - CPA security, Pseudorandom functions Boaz Barak October 2, 2007 Reading Pages 82 93 and 221 225 of KL (sections 3.5, 3.6.1, 3.6.2 and 6.5). See also Goldreich (Vol I) for proof of PRF construction.

Chapter 13: Binary and Mixed-Integer Programming

Chapter 3: Binary and Mixed-Integer Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:

Reihe Informatik 11 / 1996 Constructing Optimal Bushy Processing Trees for Join Queries is NP-hard Wolfgang Scheufele Guido Moerkotte 1 Constructing Optimal Bushy Processing Trees for Join Queries is NP-hard

Chapter 1. NP Completeness I. 1.1. Introduction. By Sariel Har-Peled, December 30, 2014 1 Version: 1.05

Chapter 1 NP Completeness I By Sariel Har-Peled, December 30, 2014 1 Version: 1.05 "Then you must begin a reading program immediately so that you man understand the crises of our age," Ignatius said solemnly.

Informatique Fondamentale IMA S8

Informatique Fondamentale IMA S8 Cours 4 : graphs, problems and algorithms on graphs, (notions of) NP completeness Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université

University of Ostrava. Reasoning in Description Logic with Semantic Tableau Binary Trees

University of Ostrava Institute for Research and Applications of Fuzzy Modeling Reasoning in Description Logic with Semantic Tableau Binary Trees Alena Lukasová Research report No. 63 2005 Submitted/to

Chapter. NP-Completeness. Contents

Chapter 13 NP-Completeness Contents 13.1 P and NP......................... 593 13.1.1 Defining the Complexity Classes P and NP...594 13.1.2 Some Interesting Problems in NP.......... 597 13.2 NP-Completeness....................

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples

A first step towards modeling semistructured data in hybrid multimodal logic

A first step towards modeling semistructured data in hybrid multimodal logic Nicole Bidoit * Serenella Cerrito ** Virginie Thion * * LRI UMR CNRS 8623, Université Paris 11, Centre d Orsay. ** LaMI UMR

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery

On the Efficiency of Backtracking Algorithms for Binary Constraint Satisfaction Problems

On the Efficiency of Backtracking Algorithms for Binary Constraint Satisfaction Problems Achref El Mouelhi and Philippe Jégou and Cyril Terrioux LSIS - UMR CNRS 6168 Aix-Marseille Université Avenue Escadrille

Complexity Theory. Jörg Kreiker. Summer term 2010. Chair for Theoretical Computer Science Prof. Esparza TU München

Complexity Theory Jörg Kreiker Chair for Theoretical Computer Science Prof. Esparza TU München Summer term 2010 Lecture 8 PSPACE 3 Intro Agenda Wrap-up Ladner proof and time vs. space succinctness QBF

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

Tests for Divisibility, Theorems for Divisibility, the Prime Factor Test

1 Tests for Divisibility, Theorems for Divisibility, the Prime Factor Test Definition: Prime numbers are numbers with only two factors, one and itself. For example: 2, 3, and 5. Definition: Composite numbers

Optimal Binary Space Partitions in the Plane

Optimal Binary Space Partitions in the Plane Mark de Berg and Amirali Khosravi TU Eindhoven, P.O. Box 513, 5600 MB Eindhoven, the Netherlands Abstract. An optimal bsp for a set S of disjoint line segments

Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,

CHAPTER 7 GENERAL PROOF SYSTEMS

CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes