The Satisfiability Problem
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
“The Church-Turing “Thesis” As a Special Corollary of Gödel's
“The Church-Turing “Thesis” as a Special Corollary of Gödel’s Completeness Theorem,” in Computability: Turing, Gödel, Church, and Beyond, B. J. Copeland, C. Posy, and O. Shagrir (eds.), MIT Press (Cambridge), 2013, pp. 77-104. Saul A. Kripke This is the published version of the book chapter indicated above, which can be obtained from the publisher at https://mitpress.mit.edu/books/computability. It is reproduced here by permission of the publisher who holds the copyright. © The MIT Press The Church-Turing “ Thesis ” as a Special Corollary of G ö del ’ s 4 Completeness Theorem 1 Saul A. Kripke Traditionally, many writers, following Kleene (1952) , thought of the Church-Turing thesis as unprovable by its nature but having various strong arguments in its favor, including Turing ’ s analysis of human computation. More recently, the beauty, power, and obvious fundamental importance of this analysis — what Turing (1936) calls “ argument I ” — has led some writers to give an almost exclusive emphasis on this argument as the unique justification for the Church-Turing thesis. In this chapter I advocate an alternative justification, essentially presupposed by Turing himself in what he calls “ argument II. ” The idea is that computation is a special form of math- ematical deduction. Assuming the steps of the deduction can be stated in a first- order language, the Church-Turing thesis follows as a special case of G ö del ’ s completeness theorem (first-order algorithm theorem). I propose this idea as an alternative foundation for the Church-Turing thesis, both for human and machine computation. Clearly the relevant assumptions are justified for computations pres- ently known. -
NP-Completeness: Reductions Tue, Nov 21, 2017
CMSC 451 Dave Mount CMSC 451: Lecture 19 NP-Completeness: Reductions Tue, Nov 21, 2017 Reading: Chapt. 8 in KT and Chapt. 8 in DPV. Some of the reductions discussed here are not in either text. Recap: We have introduced a number of concepts on the way to defining NP-completeness: Decision Problems/Language recognition: are problems for which the answer is either yes or no. These can also be thought of as language recognition problems, assuming that the input has been encoded as a string. For example: HC = fG j G has a Hamiltonian cycleg MST = f(G; c) j G has a MST of cost at most cg: P: is the class of all decision problems which can be solved in polynomial time. While MST 2 P, we do not know whether HC 2 P (but we suspect not). Certificate: is a piece of evidence that allows us to verify in polynomial time that a string is in a given language. For example, the language HC above, a certificate could be a sequence of vertices along the cycle. (If the string is not in the language, the certificate can be anything.) NP: is defined to be the class of all languages that can be verified in polynomial time. (Formally, it stands for Nondeterministic Polynomial time.) Clearly, P ⊆ NP. It is widely believed that P 6= NP. To define NP-completeness, we need to introduce the concept of a reduction. Reductions: The class of NP-complete problems consists of a set of decision problems (languages) (a subset of the class NP) that no one knows how to solve efficiently, but if there were a polynomial time solution for even a single NP-complete problem, then every problem in NP would be solvable in polynomial time. -
Mapping Reducibility and Rice's Theorem
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 9 Nancy Lynch Today • Mapping reducibility and Rice’s Theorem • We’ve seen several undecidability proofs. • Today we’ll extract some of the key ideas of those proofs and present them as general, abstract definitions and theorems. • Two main ideas: – A formal definition of reducibility from one language to another. Captures many of the reduction arguments we have seen. – Rice’s Theorem, a general theorem about undecidability of properties of Turing machine behavior (or program behavior). Today • Mapping reducibility and Rice’s Theorem • Topics: – Computable functions. – Mapping reducibility, ≤m – Applications of ≤m to show undecidability and non- recognizability of languages. – Rice’s Theorem – Applications of Rice’s Theorem • Reading: – Sipser Section 5.3, Problems 5.28-5.30. Computable Functions Computable Functions • These are needed to define mapping reducibility, ≤m. • Definition: A function f: Σ1* →Σ2* is computable if there is a Turing machine (or program) such that, for every w in Σ1*, M on input w halts with just f(w) on its tape. • To be definite, use basic TM model, except replace qacc and qrej states with one qhalt state. • So far in this course, we’ve focused on accept/reject decisions, which let TMs decide language membership. • That’s the same as computing functions from Σ* to { accept, reject }. • Now generalize to compute functions that produce strings. Total vs. partial computability • We require f to be total = defined for every string. • Could also define partial computable (= partial recursive) functions, which are defined on some subset of Σ1*. -
The Satisfiability Problem
The Satisfiability Problem Cook’s Theorem: An NP-Complete Problem Restricted SAT: CSAT, 3SAT 1 Boolean Expressions ◆Boolean, or propositional-logic expressions are built from variables and constants using the operators AND, OR, and NOT. ◗ Constants are true and false, represented by 1 and 0, respectively. ◗ We’ll use concatenation (juxtaposition) for AND, + for OR, - for NOT, unlike the text. 2 Example: Boolean expression ◆(x+y)(-x + -y) is true only when variables x and y have opposite truth values. ◆Note: parentheses can be used at will, and are needed to modify the precedence order NOT (highest), AND, OR. 3 The Satisfiability Problem (SAT ) ◆Study of boolean functions generally is concerned with the set of truth assignments (assignments of 0 or 1 to each of the variables) that make the function true. ◆NP-completeness needs only a simpler Question (SAT): does there exist a truth assignment making the function true? 4 Example: SAT ◆ (x+y)(-x + -y) is satisfiable. ◆ There are, in fact, two satisfying truth assignments: 1. x=0; y=1. 2. x=1; y=0. ◆ x(-x) is not satisfiable. 5 SAT as a Language/Problem ◆An instance of SAT is a boolean function. ◆Must be coded in a finite alphabet. ◆Use special symbols (, ), +, - as themselves. ◆Represent the i-th variable by symbol x followed by integer i in binary. 6 SAT is in NP ◆There is a multitape NTM that can decide if a Boolean formula of length n is satisfiable. ◆The NTM takes O(n2) time along any path. ◆Use nondeterminism to guess a truth assignment on a second tape. -
Homework 4 Solutions Uploaded 4:00Pm on Dec 6, 2017 Due: Monday Dec 4, 2017
CS3510 Design & Analysis of Algorithms Section A Homework 4 Solutions Uploaded 4:00pm on Dec 6, 2017 Due: Monday Dec 4, 2017 This homework has a total of 3 problems on 4 pages. Solutions should be submitted to GradeScope before 3:00pm on Monday Dec 4. The problem set is marked out of 20, you can earn up to 21 = 1 + 8 + 7 + 5 points. If you choose not to submit a typed write-up, please write neat and legibly. Collaboration is allowed/encouraged on problems, however each student must independently com- plete their own write-up, and list all collaborators. No credit will be given to solutions obtained verbatim from the Internet or other sources. Modifications since version 0 1. 1c: (changed in version 2) rewored to showing NP-hardness. 2. 2b: (changed in version 1) added a hint. 3. 3b: (changed in version 1) added comment about the two loops' u variables being different due to scoping. 0. [1 point, only if all parts are completed] (a) Submit your homework to Gradescope. (b) Student id is the same as on T-square: it's the one with alphabet + digits, NOT the 9 digit number from student card. (c) Pages for each question are separated correctly. (d) Words on the scan are clearly readable. 1. (8 points) NP-Completeness Recall that the SAT problem, or the Boolean Satisfiability problem, is defined as follows: • Input: A CNF formula F having m clauses in n variables x1; x2; : : : ; xn. There is no restriction on the number of variables in each clause. -
11 Reductions We Mentioned Above the Idea of Solving Problems By
11 Reductions We mentioned above the idea of solving problems by translating them into known soluble problems, or showing that a new problem is insoluble by translating a known insoluble into it. Reductions are the formal tool to implement this idea. It turns out that there are several subtly different variations – we will mainly use one form of reduction, which lets us make a fine analysis of uncomputability. First, we introduce a technical term for a Register Machine whose purpose is to translate one problem into another. Definition 12 A Turing transducer is an RM that takes an instance d of a problem (D, Q) in R0 and halts with an instance d0 = f(d) of (D0,Q0) in R0. / Thus f must be a computable function D D0 that translates the problem, and the → transducer is the machine that computes f. Now we define: Definition 13 A mapping reduction or many–one reduction from Q to Q0 is a Turing transducer f as above such that d Q iff f(d) Q0. Iff there is an m-reduction from Q ∈ ∈ to Q0, we write Q Q0 (mnemonic: Q is less difficult than Q0). / ≤m The standard term for these is ‘many–one reductions’, because the function f can be many–one – it doesn’t have to be injective. Our textbook Sipser doesn’t like that term, and calls them ‘mapping reductions’. To hedge our bets, and for brevity, we’ll call them m-reductions. Note that the reduction is just a transducer (i.e. translates the problem) that translates correctly (so that the answer to the translated problem is the same as the answer to the original). -
Thy.1 Reducibility Cmp:Thy:Red: We Now Know That There Is at Least One Set, K0, That Is Computably Enumerable Explanation Sec but Not Computable
thy.1 Reducibility cmp:thy:red: We now know that there is at least one set, K0, that is computably enumerable explanation sec but not computable. It should be clear that there are others. The method of reducibility provides a powerful method of showing that other sets have these properties, without constantly having to return to first principles. Generally speaking, a \reduction" of a set A to a set B is a method of transforming answers to whether or not elements are in B into answers as to whether or not elements are in A. We will focus on a notion called \many- one reducibility," but there are many other notions of reducibility available, with varying properties. Notions of reducibility are also central to the study of computational complexity, where efficiency issues have to be considered as well. For example, a set is said to be \NP-complete" if it is in NP and every NP problem can be reduced to it, using a notion of reduction that is similar to the one described below, only with the added requirement that the reduction can be computed in polynomial time. We have already used this notion implicitly. Define the set K by K = fx : 'x(x) #g; i.e., K = fx : x 2 Wxg. Our proof that the halting problem in unsolvable, ??, shows most directly that K is not computable. Recall that K0 is the set K0 = fhe; xi : 'e(x) #g: i.e. K0 = fhx; ei : x 2 Weg. It is easy to extend any proof of the uncomputabil- ity of K to the uncomputability of K0: if K0 were computable, we could decide whether or not an element x is in K simply by asking whether or not the pair hx; xi is in K0. -
Logic and Proof
Logic and Proof Computer Science Tripos Part IB Lent Term Lawrence C Paulson Computer Laboratory University of Cambridge [email protected] Copyright c 2018 by Lawrence C. Paulson I Logic and Proof 101 Introduction to Logic Logic concerns statements in some language. The language can be natural (English, Latin, . ) or formal. Some statements are true, others false or meaningless. Logic concerns relationships between statements: consistency, entailment, . Logical proofs model human reasoning (supposedly). Lawrence C. Paulson University of Cambridge I Logic and Proof 102 Statements Statements are declarative assertions: Black is the colour of my true love’s hair. They are not greetings, questions or commands: What is the colour of my true love’s hair? I wish my true love had hair. Get a haircut! Lawrence C. Paulson University of Cambridge I Logic and Proof 103 Schematic Statements Now let the variables X, Y, Z, . range over ‘real’ objects Black is the colour of X’s hair. Black is the colour of Y. Z is the colour of Y. Schematic statements can even express questions: What things are black? Lawrence C. Paulson University of Cambridge I Logic and Proof 104 Interpretations and Validity An interpretation maps variables to real objects: The interpretation Y 7 coal satisfies the statement Black is the colour→ of Y. but the interpretation Y 7 strawberries does not! A statement A is valid if→ all interpretations satisfy A. Lawrence C. Paulson University of Cambridge I Logic and Proof 105 Consistency, or Satisfiability A set S of statements is consistent if some interpretation satisfies all elements of S at the same time. -
Satisfiability 6 the Decision Problem 7
Satisfiability Difficult Problems Dealing with SAT Implementation Klaus Sutner Carnegie Mellon University 2020/02/04 Finding Hard Problems 2 Entscheidungsproblem to the Rescue 3 The Entscheidungsproblem is solved when one knows a pro- cedure by which one can decide in a finite number of operations So where would be look for hard problems, something that is eminently whether a given logical expression is generally valid or is satis- decidable but appears to be outside of P? And, we’d like the problem to fiable. The solution of the Entscheidungsproblem is of funda- be practical, not some monster from CRT. mental importance for the theory of all fields, the theorems of which are at all capable of logical development from finitely many The Circuit Value Problem is a good indicator for the right direction: axioms. evaluating Boolean expressions is polynomial time, but relatively difficult D. Hilbert within P. So can we push CVP a little bit to force it outside of P, just a little bit? In a sense, [the Entscheidungsproblem] is the most general Say, up into EXP1? problem of mathematics. J. Herbrand Exploiting Difficulty 4 Scaling Back 5 Herbrand is right, of course. As a research project this sounds like a Taking a clue from CVP, how about asking questions about Boolean fiasco. formulae, rather than first-order? But: we can turn adversity into an asset, and use (some version of) the Probably the most natural question that comes to mind here is Entscheidungsproblem as the epitome of a hard problem. Is ϕ(x1, . , xn) a tautology? The original Entscheidungsproblem would presumable have included arbitrary first-order questions about number theory. -
CS21 Decidability and Tractability Outline Definition of Reduction
Outline • many-one reductions CS21 • undecidable problems Decidability and Tractability – computation histories – surprising contrasts between Lecture 13 decidable/undecidable • Rice’s Theorem February 3, 2021 February 3, 2021 CS21 Lecture 13 1 February 3, 2021 CS21 Lecture 13 2 Definition of reduction Definition of reduction • Can you reduce co-HALT to HALT? • More refined notion of reduction: – “many-one” reduction (commonly) • We know that HALT is RE – “mapping” reduction (book) • Does this show that co-HALT is RE? A f B yes yes – recall, we showed co-HALT is not RE reduction from f language A to no no • our current notion of reduction cannot language B distinguish complements February 3, 2021 CS21 Lecture 13 3 February 3, 2021 CS21 Lecture 13 4 Definition of reduction Definition of reduction A f B yes yes • Notation: “A many-one reduces to B” is written f no no A ≤m B – “yes maps to yes and no maps to no” means: • function f should be computable w ∈ A maps to f(w) ∈ B & w ∉ A maps to f(w) ∉ B Definition: f : Σ*→ Σ* is computable if there exists a TM Mf such that on every w ∈ Σ* • B is at least as “hard” as A Mf halts on w with f(w) written on its tape. – more accurate: B at least as “expressive” as A February 3, 2021 CS21 Lecture 13 5 February 3, 2021 CS21 Lecture 13 6 1 Using reductions Using reductions Definition: A ≤m B if there is a computable • Main use: given language NEW, prove it is function f such that for all w undecidable by showing OLD ≤m NEW, w ∈ A ⇔ f(w) ∈ B where OLD known to be undecidable – proof by contradiction Theorem: if A ≤m B and B is decidable then A is decidable – if NEW decidable, then OLD decidable Proof: – OLD undecidable. -
Solving the Boolean Satisfiability Problem Using the Parallel Paradigm Jury Composition
Philosophæ doctor thesis Hoessen Benoît Solving the Boolean Satisfiability problem using the parallel paradigm Jury composition: PhD director Audemard Gilles Professor at Universit´ed'Artois PhD co-director Jabbour Sa¨ıd Assistant Professor at Universit´ed'Artois PhD co-director Piette C´edric Assistant Professor at Universit´ed'Artois Examiner Simon Laurent Professor at University of Bordeaux Examiner Dequen Gilles Professor at University of Picardie Jules Vernes Katsirelos George Charg´ede recherche at Institut national de la recherche agronomique, Toulouse Abstract This thesis presents different technique to solve the Boolean satisfiability problem using parallel and distributed architec- tures. In order to provide a complete explanation, a careful presentation of the CDCL algorithm is made, followed by the state of the art in this domain. Once presented, two proposi- tions are made. The first one is an improvement on a portfo- lio algorithm, allowing to exchange more data without loosing efficiency. The second is a complete library with its API al- lowing to easily create distributed SAT solver. Keywords: SAT, parallelism, distributed, solver, logic R´esum´e Cette th`ese pr´esente diff´erentes techniques permettant de r´esoudre le probl`eme de satisfaction de formule bool´eenes utilisant le parall´elismeet du calcul distribu´e. Dans le but de fournir une explication la plus compl`ete possible, une pr´esentation d´etaill´ee de l'algorithme CDCL est effectu´ee, suivi d'un ´etatde l'art. De ce point de d´epart,deux pistes sont explor´ees. La premi`ereest une am´eliorationd'un algorithme de type portfolio, permettant d'´echanger plus d'informations sans perte d’efficacit´e. -
Recursion Theory and Undecidability
Recursion Theory and Undecidability Lecture Notes for CSCI 303 by David Kempe March 26, 2008 In the second half of the class, we will explore limits on computation. These are questions of the form “What types of things can be computed at all?” “What types of things can be computed efficiently?” “How fast can problem XYZ be solved?” We already saw some positive examples in class: problems we could solve, and solve efficiently. For instance, we saw that we can sort n numbers in time O(n log n). Or compute the edit distance of two strings in time O(nm). But we might wonder if that’s the best possible. Maybe, there are still faster algorithms out there. Could we prove that these problems cannot be solved faster? In order to answer these questions, we first need to be precise about what exactly we mean by “a problem” and by “to compute”. In the case of an algorithm, we can go with “we know it when we see it”. We can look at an algorithm, and agree that it only uses “reasonable” types of statements. When we try to prove lower bounds, or prove that a problem cannot be solved at all, we need to be more precise: after all, an algorithm could contain the statement “Miraculously and instantaneously guess the solution to the problem.” We would probably all agree that that’s cheating. But how about something like “Instantaneously find all the prime factors of the number n”? Would that be legal? This writeup focuses only on the question of what problems can be solved at all.