# Satisfiability of Boolean Expressions

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Satisfiability of Boolean Expressions In the previous section, we have analysed in great detail one particular problem reachability in directed graphs. The reason for the attention devoted to this one problem is that studying algorithms for it provides insight into nondeterministic space complexity classes in general. The problem Reachability can be solved by a nondeterministic machine using logarithmic space and, as we have seen, the computation of any nondeterministic machine M on a given input x can be represented by an instance of the reachability problem, by considering the configuration graph of M on x. These facts allow Reachability to stand in for all problems in NL. In this section, we examine a specific algorithmic problem that captures nondeterministic time-bounded computation in the same sense that Reachability space-bounded computations. The problem is the satisfiability of Boolean expressions. We can take an arbitrary nondeterministic machine M, an input string x, and a time bound, and produce a Boolean expression whose satisfiability represents exactly the computation of M on x. Moreover, the Satisfiability problem is in NP, and as we shall see, it can be made to stand, in a precise sense, for all problems in NP. Boolean Expressions To start to make these notions precise, we define the collection of Boolean expressions to be the set of expressions formed from a given infinite set X = {x 1, x 2,...} of variables and the two constants true and false by means of the following rules: a constant or variable by itself is an expression; if φ is a Boolean expression, then so is ( φ); if φ and ψ are both Boolean expressions, then so are (φ ψ) and (φ ψ). If an expression contains no variables (that is, it is built up from just true and false using,, and ), then it can be evaluated to either true or false. If an expression φ contains variables, then φ is not by itself true or false, Rather, we say that it is true or false for a given assignment of truth values. A truth assignment is just a function T : X {true, false}. We say that T makes φ true or T satisfies φ if, when we substitute T (x) for each variable x in φ, we get an expression that evaluates to true. Conversely, if substituting T (x) for each x in φ results in an expression that evaluates to false, we say that T makes φ false or T does not satisfy φ. Examples 1. (true false) ( false) evaluates to true. 2. (x 1 false) (( x 1 ) x 2 ) 3. (x 1 false) ( x 1 ) is satisfied by some truth assignments, but not by all. is not satisfied by any truth assignment. 17

2 4. (x 1 ( x 1 )) true is satisfied by both possible truth assignments. Evaluation With the definition of Boolean expressions established, we can begin to look at some algorithms for manipulating them. The first problem we look at is the evaluation problem. That is, given a Boolean expression which does not contain any variables, determine whether it evaluates to true or false. There is a deterministic Turing machine which can decide this, and which runs in time O(n 2 ) on expressions of length n. The algorithm works by scanning the input, looking for subexpressions that match the left hand side of one of the rules below, and replacing it by the corresponding right hand side. (true φ) true (φ true) true (false φ) φ (false φ) false (φ false) false (true φ) φ ( true) false ( false) true Each scan of the input, taking O(n) steps must find at least one subexpression matching one of the rules. This can be formally proved by an induction on the structure of expressions, but should be intuitively clear. Since the application of a rule always removes at least one symbol from the expression, we can conclude that we cannot have more than n successive rule applications, as otherwise we would be left with no symbols at all. Thus, the algorithm takes O(n 2 ) steps overall. Satisfiability While a Boolean expression without variables can simply be evaluated, for an expression that contains variables, we can ask different questions. One question is whether such an expression is satisfiable. That is, is there a truth assignment that makes it true? We define SAT to be the set of all satisfiable Boolean expressions. This language can be decided by a deterministic Turing machine which runs in time O(n 2 2 n ). The straightforward algorithm is to try all possible truth assignments. There are at most 2 n possible assignments, since there are at most n variables in the expression. For each one in turn, we can use the O(n 2 ) algorithm described above to see if the resulting expression without variables is true. A related problem is checking the validity of a Boolean expression. An expression is said to be valid if every possible assignment of truth values to its variables makes it true. We 18

3 write VAL for the set of valid expressions. By an algorithm completely analogous to the one outlined for SAT above, we see that VAL is in time O(n 2 2 n ). VAL and SAT are dual problems in the sense that a Boolean expression φ is valid if, and only if, the expression φ is not satisfiable. This shows that an algorithm for deciding one language can easily be converted into an algorithm for deciding the other. No polynomial time algorithm is known for either problem, and it is widely believed that no such algorithm exists. However, it is not difficult to establish that there is a nondeterministic algorithm that decides SAT in polynomial time. Indeed, time O(n 2 ) suffices. The algorithm, in n nondeterministic steps, guesses a truth value for each variable. That is, for each variable in the expression, it makes a nondeterministic branch, where along one branch the variable is set to true and along the other it is set to false. Since the number of variables is no more than the length of the expression, n steps are sufficient for this process. Now, we have a Boolean expression φ and a truth assignment T for all its variables, so we can use the O(n 2 ) deterministic algorithm described above to determine whether T satisfies φ. If there is any T that satisfies φ, some path through this nondeterministic computation will result in acceptance, so φ will be accepted. Unfortunately, this approach does not yield an algorithm for VAL. To decide VAL, we have to determine, given φ, whether every possible truth assignment to the variables of φ will satisfy it. This universal, rather than existential requirement on computation paths does not sit well with the definition of acceptance by a nondeterministic machine. What we can establish is that VAL is in co-np. There is a nondeterministic machine, running in O(n 2 ) time, which can decide whether φ is falsifiable, that is to say, it is in the complement of VAL. This machine is just like the nondeterministic machine for SAT described above, accept it rejects whenever the latter accepts and vice versa. SAT is typical of problems in NP. In general, a language in NP is characterised by a solution space which can be searched. For each possible input string x, there is a space of possible solutions to be searched. The number of such candidate solutions may be exponential in the length of x, but each solution can be represented by a string whose length is bounded by a polynomial p in the length of x. In particular, this means that the space can be searched by a backtracking search algorithm, where the depth of nesting of choice points is never greater than p( x ). Another way of viewing the same class of problems is the generate and test paradigm. A language L in NP is one that can be solved by an algorithm with two components: a Prover and a Verifier. Given an input x, the Prover generates a proof V x which demonstrates that x is in L. The Verifier then checks that the proof V x is correct. As long as the length of V x is bounded by a polynomial in the length of x and the Verifier runs in time polynomial in its input, the algorithm establishes that L is in NP (Fig. 3). yes x generate V x verify no Figure 3: Generate and Test 19

4 SAT is typical of the problems in NP in the sense that the independent choices of truth assignments that can be made to the variables in a Boolean expression can encode the choices of any nondeterministic computation. It is in this sense that SAT captures nondeterministic time bounded computation, just as Reachability captures nondeterministic space bounded computation. In the following, we make this notion of encoding nondeterministic choices precise. Reductions The idea of a reduction is central to the study of computability. It is used to establish undecidability of languages. Formally, given two languages L 1 Σ star 1, and L 2 Σ 2, a reduction of L 1 to L 2 is a computable function f : Σ 1 Σ 2, such that for every string x Σ 1, f(x) L 2 if, and only if, x L 1. Σ 1 Σ 2 L 1 L2 x f(x) y f f(y) Figure 4: Reduction In other words, every string in L 1 is mapped by f to a string in L 2, and every string that is not in L 1 is mapped to a string that is not in L 2. Note that there is no requirement for f to be surjective. In general, the range of f may be a small part of L 1, and a small part of its complement. Reductions are useful in showing decidability (or, more usually, undecidability). If there is a reduction from a language L 1 to a language L 2, and L 2 is decidable, then we also know that L 1 is decidable. An algorithm to decide L 1 is obtained by computing, on any input x, f(x) and then using the decision procedure for L 2 to determine a yes or no answer. If f(x) L 2, we know that x L 1 and if f(x) L 2, we know that x L 1. This argument is most useful in its contrapositive form: if there is a reduction from L 1 to L 2, and L 1 is known to be undecidable, then L 2 is undecidable as well. So, once we have proved one language (such as the Halting problem) to be undecidable, we can use reductions from it to prove other problems undecidable as well. Resource Bounded Reductions When we are concerned about polynomial time computability rather than questions of decidability, we consider reductions that can be computed 20

5 within bounded resources. To be precise, if f is a reduction from L 1 to L 2 and f is computable by an algorithm running in polynomial time, we say that L 1 is polynomial time reducible to L 2, which we write as L 1 P L 2. If L 1 P L 2, we can say that L 2 is at least as hard as L 1, at least in the sense of being polynomial time computable. In short, if L 1 P L 2 and L 2 P, then L 1 P. This is for reasons analogous to those for decidability. We can compose the algorithm computing the reduction with the decision procedure for L 2 to get a polynomial time decision procedure for L 1. One point to be noted is that the string f(x) produced by the reduction on f on input x must be bounded in length by a polynomial in the length of x, since it is computed by a polynomial time algorithm. This is why the decision procedure for L 2 which runs in polynomial time on its input f(x) is still running in time polynomial in the length of x. NP-Completeness The usefulness of reductions is in allowing us to make statements about the relative complexity of problems, even when we are not able to prove absolute lower bounds. So, even if we do not know whether or not there is a polynomial time algorithm for L 2, if L 1 P L 2, we can say if there were one, there would also be one for L 1. In this sense of relative complexity, Stephen Cook first showed that there are problems in NP that are maximally difficult. Definition A language L is said to be NP-hard if for every language A NP, A P L. A language L is NP-complete if it is in NP and it is NP-hard. What Cook showed was that the language SAT of satisfiable Boolean reductions is NPcomplete. In this sense, it is as hard as any problem in NP. A polynomial time algorithm for SAT would yield a polynomial time algorithm for every problem in NP. We have already seen that SAT is in NP. To prove that it is NP-complete, we need to show that for every language L in NP, there is a polynomial time reduction from L To SAT. Since L is in NP, we know that there is a nondeterministic machine M = (K, Σ, s, δ) and a polynomial p such that a string x is in L if, and only if, it is accepted by M within p( x ) steps. In what follows, we will assume, without loss of generality, that p is of the form n k, where n is the length of x and k is a constant. To establish the polynomial time reduction from L to SAT, we need to give, for each x Σ, a Boolean expression f(x) which is satisfiable if, and only if, there is an accepting computation of M on x. We construct f(x) using the following variables: S i,q T i,j,σ for each i n k and q K for each i, j n k and σ Σ H i,j for each i, j n k. The total number of variables is K n k + Σ n 2k +n 2k. The intended reading of these variables is that S i,q will be true if the machine at time i is in state q; T i,j,σ will be set to true if at 21

6 time i, the symbol at position j in the tape is σ; and H i,j indicates that at time i, the head is pointing at position j on the tape. Of course, these meanings are not inherent in the symbols. We have to construct the expression f(x) to enforce them. The intention is that the only way to consistently assign truth values to these variables is to encode a possible computation of the machine M. The expression f(x) is built up as the conjunction of the following expressions: S 1,s H 1,1 (1) which asserts that at the beginning, the state is s and the head is at the beginning of the tape. (H i,j ( H i,j )) (2) i j which asserts that the head is never in two places at once. That is, if H i,j is true for any i and j, then H i,j must be false for any other j. j j (S i,q ( S i,q )) (3) q i q q which asserts that the machine is never in two states at once. That is, for each state q and each state i, if S i,q is true, then S i,q must be false for all other q. (T i,j,σ ( T i,j,σ )) (4) i j σ σ σ which asserts that each tape cell contains only one symbol. In other words, if T i,j,σ is true for any i, j and σ, then T i,j,σ must be false for all other σ. T 1,j,xj T 1,j, (5) j n n<j where x j denotes the jth symbol in the string x. This expression asserts that at time 1, the tape contains the string x in its first n cells, and is blank after that. (H i,j T i,j,σ) T i+1,j,σ (6) i j j j σ which asserts that the tape only changes under the head. That is, if the head at time i is at position j, and at the same time position j on the tape (for some other j ) contains σ, then position j still contains σ at time i + 1. (H i,j S i,q T i,j,σ ) (H i+1,j S i+1,q T i+1,j,σ ) (7) i j σ q where is the set of all triples (q, σ, D) such that ((q, σ), (q, σ, D)) δ and j if D = S j = j 1 if D = L j + 1 if D = R. 22

7 This asserts that the change from time step i to i+1, for each i is according to the transition relation δ. That is, if at time i, the head position is j, the state is q, and the symbol at position j is σ, then the state q and head position j at time i + 1, as well as the symbol at position j at time i + 1 are obtained by one of the possible transitions allowed by δ. S i,acc (8) which asserts that at some time i, the accepting state is reached. Conjunctive Normal Form i A Boolean expression is in conjunctive normal form (or CNF) if it is the conjunction of a set of clauses, each of which is the disjunction of a set of literals, each of these being either a variable or the negation of a variable. Every Boolean expression is equivalent to one in CNF. In fact, any expression can be turned into an equivalent expression in CNFby repeated application of DeMorgan s laws, the laws of distributivity (of over ) and by the law of double negation (which says that φ is equivalent to φ. There is, therefore, an algorithm for converting any Boolean expression into an equivalent expression in CNF. This is not, however, a polynomial time algorithm. We can prove that it requires exponential time (a rare example of a real lower bound result). This is because there are (for arbitrarily large n) expressions φ of length n such that the shortest CNFexpression equivalent to φ has length Ω(2 n ). However, if we consider the reduction constructed above from any language L in NP to SAT, and take the Boolean expressions that result from the reduction, then there is a polynomial time algorithm that will convert them into equivalent CNFexpressions. This is because the formulas are almost in CNFalready. In particular, the expression is a conjunction of expressions, of which (1) is just a conjunction of literals (and is therefore in CNF). The expressions in (2), (3) and (4) can be easily converted into CNFby distributing the implication over the innermost conjunction. For example, (2) can be rewritten as (H i,j ( H i,j )). i j j j This is now in CNF(recall that φ ψ is just shorthand for φ ψ). Note also that while (2) contains only one occurrence of the variable H i,j for each i and j, the CNFversion above has n k 1 occurrences of each H i,j. This is however, a fixed polynomial increase. Similarly, (5) and (6) are already in CNF. The expression (7) requires a bit more work, but it is not too difficult, and is left here as an exercise. We can conclude that, for each language L in NP, there is, in fact, a polynomial time computable function f such that f(x) is a CNFexpression for all x, and f(x) is satisfiable if, and only if, x L. In other words, if we define CNF-SAT to be the collection of all satisfiable CNFexpressions, then we can say that we have shown that CNF-SAT is NP-complete. We define a further restriction on our expressions. A Boolean expression φ is said to be in 3CNF if it is in CNF, i.e. φ C 1... C m, and each clause C i is the disjunction of no more than 3 literals. We also define 3SAT to be the set of those expressions in 3CNF that are satisfiable. 23

8 While it is not the case that every Boolean expression is equivalent to one in 3CNF, what we can say is that for every CNFexpression φ, there is an expression φ in 3CNF so that φ is satisfiable if, and only if, φ is. Moreover, there is an algorithm, running in polynomial time, which will convert φ to φ. We will illustrate this with an example. Suppose we have a clause C with four literals C (l 1 l 2 l 3 l 4 ). Introducing new variables n 1 and n 2, we can write down an expression ψ in 3CNF ψ (l 1 l 2 n 1 ) ( n 1 l 3 n 2 ) ( n 2 l 4 ). This expression is not equivalent to C because, for one thing, it contains variables that are not in C. But, ψ is satisfiable if, and only if, C is. The idea can be easily generalised to clauses with any number of variables. Moreover, we can verify that the number of new variables and clauses introduced is no more than the number of literals in the clause being replaced. This ensures that the conversion can be carried out in polynomial time. What we can conclude from this is that there is a polynomial time computable reduction from CNF-SAT to 3SAT. This can be combined with the fact that CNF-SAT is NP-complete to show that 3SAT is also NP-complete. 24

### NP-Completeness and Cook s Theorem

NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:

### Tutorial 8. NP-Complete Problems

Tutorial 8 NP-Complete Problems Decision Problem Statement of a decision problem Part 1: instance description defining the input Part 2: question stating the actual yesor-no question A decision problem

### 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

### The Classes P and NP

The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the

### 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

### 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

### Introduction to NP-Completeness Written and copyright c by Jie Wang 1

91.502 Foundations of Comuter Science 1 Introduction to Written and coyright c by Jie Wang 1 We use time-bounded (deterministic and nondeterministic) Turing machines to study comutational comlexity of

### 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....................

### 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:

### Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas Ahto.Buldas@ut.ee Background One basic goal in complexity theory is to separate interesting complexity

### Lecture 1: Time Complexity

Computational Complexity Theory, Fall 2010 August 25 Lecture 1: Time Complexity Lecturer: Peter Bro Miltersen Scribe: Søren Valentin Haagerup 1 Introduction to the course The field of Computational Complexity

### Turing Machines: An Introduction

CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,

### Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture No. # 31 Recursive Sets, Recursively Innumerable Sets, Encoding

### 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.

### Lecture 2: Universality

CS 710: Complexity Theory 1/21/2010 Lecture 2: Universality Instructor: Dieter van Melkebeek Scribe: Tyson Williams In this lecture, we introduce the notion of a universal machine, develop efficient universal

### MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis

LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,

### Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU

Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU Birgit Vogtenhuber Institute for Software Technology email: bvogt@ist.tugraz.at office hour: Tuesday 10:30 11:30 slides: http://www.ist.tugraz.at/pact.html

### 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

### 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

### CSE 135: Introduction to Theory of Computation Decidability and Recognizability

CSE 135: Introduction to Theory of Computation Decidability and Recognizability Sungjin Im University of California, Merced 04-28, 30-2014 High-Level Descriptions of Computation Instead of giving a Turing

### CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

CS54 Turing Machines Turing Machine q 0 AI N P U T IN TAPE read write move read write move Language = {0} q This Turing machine recognizes the language {0} Turing Machines versus DFAs TM can both write

### 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

### 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

### Theoretical Computer Science (Bridging Course) Complexity

Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the

### 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

### Computability Theory

CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Computability Theory This section is partly inspired by the material in A Course in Mathematical Logic by Bell and Machover, Chap 6, sections 1-10.

### Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

### The Halting Problem is Undecidable

185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine

### NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

NP-Completeness CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Hard Graph Problems Hard means no known solutions with

### 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

### P versus NP, and More

1 P versus NP, and More Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 If you have tried to solve a crossword puzzle, you know that it is much harder to solve it than to verify

### SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK MATEMATISKA INSTITUTIONEN, STOCKHOLMS UNIVERSITET Automated Theorem Proving av Tom Everitt 2010 - No 8 MATEMATISKA INSTITUTIONEN, STOCKHOLMS UNIVERSITET, 106 91 STOCKHOLM

### 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

### Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

### 1 Definition of a Turing machine

Introduction to Algorithms Notes on Turing Machines CS 4820, Spring 2012 April 2-16, 2012 1 Definition of a Turing machine Turing machines are an abstract model of computation. They provide a precise,

### Structural properties of oracle classes

Structural properties of oracle classes Stanislav Živný Computing Laboratory, University of Oxford, Wolfson Building, Parks Road, Oxford, OX1 3QD, UK Abstract Denote by C the class of oracles relative

### 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

### Finite Automata and Formal Languages

Finite Automata and Formal Languages TMV026/DIT321 LP4 2011 Lecture 14 May 19th 2011 Overview of today s lecture: Turing Machines Push-down Automata Overview of the Course Undecidable and Intractable Problems

### 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

### Complexity Classes P and NP

Complexity Classes P and NP MATH 3220 Supplemental Presentation by John Aleshunas The cure for boredom is curiosity. There is no cure for curiosity Dorothy Parker Computational Complexity Theory In computer

### NP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness

Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce

### 3515ICT Theory of Computation Turing Machines

Griffith University 3515ICT Theory of Computation Turing Machines (Based loosely on slides by Harald Søndergaard of The University of Melbourne) 9-0 Overview Turing machines: a general model of computation

### Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24

Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24 The final exam will cover seven topics. 1. greedy algorithms 2. divide-and-conquer algorithms

### A Working Knowledge of Computational Complexity for an Optimizer

A Working Knowledge of Computational Complexity for an Optimizer ORF 363/COS 323 Instructor: Amir Ali Ahmadi TAs: Y. Chen, G. Hall, J. Ye Fall 2014 1 Why computational complexity? What is computational

### Semantics for the Predicate Calculus: Part I

Semantics for the Predicate Calculus: Part I (Version 0.3, revised 6:15pm, April 14, 2005. Please report typos to hhalvors@princeton.edu.) The study of formal logic is based on the fact that the validity

### 2. Methods of Proof Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try.

2. METHODS OF PROOF 69 2. Methods of Proof 2.1. Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try. Trivial Proof: If we know q is true then

### 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

### CS 3719 (Theory of Computation and Algorithms) Lecture 4

CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a

### ECS 120 Lesson 17 Church s Thesis, The Universal Turing Machine

ECS 120 Lesson 17 Church s Thesis, The Universal Turing Machine Oliver Kreylos Monday, May 7th, 2001 In the last lecture, we looked at the computation of Turing Machines, and also at some variants of Turing

### Notes on Complexity Theory Last updated: August, 2011. Lecture 1

Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look

### Automata and Computability. Solutions to Exercises

Automata and Computability Solutions to Exercises Fall 25 Alexis Maciel Department of Computer Science Clarkson University Copyright c 25 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata

### 6.080/6.089 GITCS Feb 12, 2008. Lecture 3

6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my

### Notes on NP Completeness

Notes on NP Completeness Rich Schwartz November 10, 2013 1 Overview Here are some notes which I wrote to try to understand what NP completeness means. Most of these notes are taken from Appendix B in Douglas

### One last point: we started off this book by introducing another famously hard search problem:

S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 261 Factoring One last point: we started off this book by introducing another famously hard search problem: FACTORING, the task of finding all prime factors

### Regular Expressions and Automata using Haskell

Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions

### Cartesian Products and Relations

Cartesian Products and Relations Definition (Cartesian product) If A and B are sets, the Cartesian product of A and B is the set A B = {(a, b) :(a A) and (b B)}. The following points are worth special

### Handout #1: Mathematical Reasoning

Math 101 Rumbos Spring 2010 1 Handout #1: Mathematical Reasoning 1 Propositional Logic A proposition is a mathematical statement that it is either true or false; that is, a statement whose certainty or

### (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem

### Notes on Complexity Theory Last updated: August, 2011. Lecture 1

Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look

### The P versus NP Solution

The P versus NP Solution Frank Vega To cite this version: Frank Vega. The P versus NP Solution. 2015. HAL Id: hal-01143424 https://hal.archives-ouvertes.fr/hal-01143424 Submitted on 17 Apr

### Mathematical Induction

Mathematical Induction In logic, we often want to prove that every member of an infinite set has some feature. E.g., we would like to show: N 1 : is a number 1 : has the feature Φ ( x)(n 1 x! 1 x) How

### COMPUTER SCIENCE TRIPOS

CST.98.5.1 COMPUTER SCIENCE TRIPOS Part IB Wednesday 3 June 1998 1.30 to 4.30 Paper 5 Answer five questions. No more than two questions from any one section are to be answered. Submit the answers in five

### 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].

### 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

### CMPSCI611: Approximating MAX-CUT Lecture 20

CMPSCI611: Approximating MAX-CUT Lecture 20 For the next two lectures we ll be seeing examples of approximation algorithms for interesting NP-hard problems. Today we consider MAX-CUT, which we proved to

### On the Relationship between Classes P and NP

Journal of Computer Science 8 (7): 1036-1040, 2012 ISSN 1549-3636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,

### Solutions Q1, Q3, Q4.(a), Q5, Q6 to INTLOGS16 Test 1

Solutions Q1, Q3, Q4.(a), Q5, Q6 to INTLOGS16 Test 1 Prof S Bringsjord 0317161200NY Contents I Problems 1 II Solutions 3 Solution to Q1 3 Solutions to Q3 4 Solutions to Q4.(a) (i) 4 Solution to Q4.(a)........................................

### 8.1 Makespan Scheduling

600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programing: Min-Makespan and Bin Packing Date: 2/19/15 Scribe: Gabriel Kaptchuk 8.1 Makespan Scheduling Consider an instance

### SOLVING NARROW-INTERVAL LINEAR EQUATION SYSTEMS IS NP-HARD PATRICK THOR KAHL. Department of Computer Science

SOLVING NARROW-INTERVAL LINEAR EQUATION SYSTEMS IS NP-HARD PATRICK THOR KAHL Department of Computer Science APPROVED: Vladik Kreinovich, Chair, Ph.D. Luc Longpré, Ph.D. Mohamed Amine Khamsi, Ph.D. Pablo

### Introduction to Turing Machines

Automata Theory, Languages and Computation - Mírian Halfeld-Ferrari p. 1/2 Introduction to Turing Machines SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Automata Theory, Languages and Computation

### 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

### BATTLESHIPS AS DECISION PROBLEM

42 ICGA Journal September 24 BATTLESHIPS AS DECISION PROBLEM Merlijn Sevenster Amsterdam, The Netherlands ABSTRACT We define the well-known puzzle of Battleships as a decision problem and prove it to be

### Computational Models Lecture 8, Spring 2009

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown Univ. p. 1 Computational Models Lecture 8, Spring 2009 Encoding of TMs Universal Turing Machines The Halting/Acceptance

### 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

### WRITING PROOFS. Christopher Heil Georgia Institute of Technology

WRITING PROOFS Christopher Heil Georgia Institute of Technology A theorem is just a statement of fact A proof of the theorem is a logical explanation of why the theorem is true Many theorems have this

### 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

### Bounded-width QBF is PSPACE-complete

Bounded-width QBF is PSPACE-complete Albert Atserias 1 and Sergi Oliva 2 1 Universitat Politècnica de Catalunya Barcelona, Spain atserias@lsi.upc.edu 2 Universitat Politècnica de Catalunya Barcelona, Spain

### 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

### Quantum and Non-deterministic computers facing NP-completeness

Quantum and Non-deterministic computers facing NP-completeness Thibaut University of Vienna Dept. of Business Administration Austria Vienna January 29th, 2013 Some pictures come from Wikipedia Introduction

### 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

### 5.1 Bipartite Matching

CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

### 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

### Practice with Proofs

Practice with Proofs October 6, 2014 Recall the following Definition 0.1. A function f is increasing if for every x, y in the domain of f, x < y = f(x) < f(y) 1. Prove that h(x) = x 3 is increasing, using

### 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

### 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

### We give a basic overview of the mathematical background required for this course.

1 Background We give a basic overview of the mathematical background required for this course. 1.1 Set Theory We introduce some concepts from naive set theory (as opposed to axiomatic set theory). The

### 4 Domain Relational Calculus

4 Domain Relational Calculus We now present two relational calculi that we will compare to RA. First, what is the difference between an algebra and a calculus? The usual story is that the algebra RA is

### Pythagorean Triples. Chapter 2. a 2 + b 2 = c 2

Chapter Pythagorean Triples The Pythagorean Theorem, that beloved formula of all high school geometry students, says that the sum of the squares of the sides of a right triangle equals the square of the

### 2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

### Theory of Computation Chapter 2: Turing Machines

Theory of Computation Chapter 2: Turing Machines Guan-Shieng Huang Feb. 24, 2003 Feb. 19, 2006 0-0 Turing Machine δ K 0111000a 01bb 1 Definition of TMs A Turing Machine is a quadruple M = (K, Σ, δ, s),

### C H A P T E R. Logic Circuits

C H A P T E R Logic Circuits Many important functions are naturally computed with straight-line programs, programs without loops or branches. Such computations are conveniently described with circuits,

### CAs and Turing Machines. The Basis for Universal Computation

CAs and Turing Machines The Basis for Universal Computation What We Mean By Universal When we claim universal computation we mean that the CA is capable of calculating anything that could possibly be calculated*.

### 1.7 Graphs of Functions

64 Relations and Functions 1.7 Graphs of Functions In Section 1.4 we defined a function as a special type of relation; one in which each x-coordinate was matched with only one y-coordinate. We spent most

### Likewise, we have contradictions: formulas that can only be false, e.g. (p p).

CHAPTER 4. STATEMENT LOGIC 59 The rightmost column of this truth table contains instances of T and instances of F. Notice that there are no degrees of contingency. If both values are possible, the formula

### 13 Infinite Sets. 13.1 Injections, Surjections, and Bijections. mcs-ftl 2010/9/8 0:40 page 379 #385

mcs-ftl 2010/9/8 0:40 page 379 #385 13 Infinite Sets So you might be wondering how much is there to say about an infinite set other than, well, it has an infinite number of elements. Of course, an infinite

### Testing LTL Formula Translation into Büchi Automata

Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland

### 1 Review of Newton Polynomials

cs: introduction to numerical analysis 0/0/0 Lecture 8: Polynomial Interpolation: Using Newton Polynomials and Error Analysis Instructor: Professor Amos Ron Scribes: Giordano Fusco, Mark Cowlishaw, Nathanael

### 898 BOOK REVIEWS MICHAEL P. DRAZIN. irrespective of the statements in The New York Times, November 7, 1979, p. 1.

898 BOOK REVIEWS linear algebra texts; it would have been well worth taking space to develop this theme at some length. To summarize, after its renaissance in the 1950s, GI theory passed through its infancy