NP-Completeness and Boolean Satisfiability

Total Page:16

File Type:pdf, Size:1020Kb

NP-Completeness and Boolean Satisfiability NP-Completeness and Boolean Satisfiability Mridul Aanjaneya Stanford University August 14, 2012 Mridul Aanjaneya Automata Theory 1/ 49 Time-Bounded Turing Machines • A Turing Machine that, given an input of lengthn, always halts within T(n) moves is said to be T(n)-time bounded. The TM can be multitape. Sometimes, it can be nondeterministic. • The deterministic, multitape case corresponds roughly to an O(T(n)) running-time algorithm. Mridul Aanjaneya Automata Theory 2/ 49 The class P • If a DTMM is T(n)-time bounded for some polynomial T(n), then we sayM is polynomial-time(polytime) bounded. • AndL(M) is said to be in the classP. • Important Point: When we talk ofP, it doesn't matter whether we mean by a computer or by a TM. Mridul Aanjaneya Automata Theory 3/ 49 Polynomial Equivalence of Computers and TM's • A multitape TM can simulate a computer that runs for time O(T(n)) in at most O(T2(n)) of its own steps. • If T(n) is a polynomial, so isT 2(n). Mridul Aanjaneya Automata Theory 4/ 49 Examples of Problems in P • Isw in L(G), for a given CFGG? Inputw. Use CYK algorithm, which is O(n3). • Is there a path from nodex to nodey in graphG? Input =x,y, andG. Use Dijkstra's algorithm, which is O(n log n) on a graph ofn nodes and arcs. Mridul Aanjaneya Automata Theory 5/ 49 Running Times Between Polynomials • You might worry that something like O(n log n) is not a polynomial. • However, to be inP, a problem only needs an algorithm that runs in time less than some polynomial. • Surely O(n log n) is less than the polynomial O(n2). Mridul Aanjaneya Automata Theory 6/ 49 A Tricky Case: Knapsack • The Knapsack problem is: given positive integersi 1, i2,:::, in, can we divide them in two sets with equal sums? • Perhaps we can solve this problem in polytime by a dynamic-programming algorithm: Maintain a table of all the differences we can achieve by partitioning the firstj integers. Mridul Aanjaneya Automata Theory 7/ 49 Knapsack • Basis: j=0. Initially, the table has true for0 and false for all other differences. • Induction: To consideri j , start with a new table initially all false. • Then setk to true if, in the old table, there is a valuem that was true, andk is either m+i j or m-ij . Mridul Aanjaneya Automata Theory 8/ 49 Knapsack • Suppose we measure running time in terms of the sum of the integers, saym. • Each table only needs space O(m) to represent all the positive and negative differences we could achieve. • Each table can be constructed in time O(n). Mridul Aanjaneya Automata Theory 9/ 49 Knapsack • Sincen ≤ m, we can build the final table in O(m2) time. • From that table, we can see if0 is achievable and solve the problem. Mridul Aanjaneya Automata Theory 10/ 49 Subtlety: Measuring Input Size • Input size has a specific meaning: the length of the representation of the problem as it is input to a TM. • For the Knapsack problem, you cannot always write the input in a number of characters that is polynomial in either the number of or sum of the integers. Mridul Aanjaneya Automata Theory 11/ 49 Knapsack - Bad Case • Suppose we haven integers, each of which is around2 n. • We can write integers in binary, so the input takes O(n2) space to write down. • But the tables require space O(n2n). • They therefore require at least that order of time to construct. Mridul Aanjaneya Automata Theory 12/ 49 Bad Case • Thus, the proposed polynomial algorithm actually takes time O(n22n) on an input of length O(n2). • Or, since we like to usen as the input size, it takes time O(n2sqrt(n)) on an input of lengthn. • In fact, it appears no algorithm solves Knapsack in polynomial time. Mridul Aanjaneya Automata Theory 13/ 49 Redefining Knapsack • We are free to describe another problem, call it Pseudo-Knapsack, where integers are represented unary. • Pseudo-Knapsack is inP. Mridul Aanjaneya Automata Theory 14/ 49 The class NP • The running time of a nondeterministic TM is the maximum number of steps taken along any branch. • If that time bound is polynomial, the NTM is said to be polynomial-time bounded. • And its language/problem is said to be in the classNP. Mridul Aanjaneya Automata Theory 15/ 49 Example: NP • The Knapsack problem is definitely inNP, even using the conventional binary representation of integers. • Use nondeterminism to guess one of the subsets. • Sum the two subsets and compare. Mridul Aanjaneya Automata Theory 16/ 49 P versus NP • Originally a curiosity of Computer Science, mathematicians now recognize as one of the most important open problems the questionP=NP? • There are thousands of problems that are inNP but appear not to be inP. • But no proof that they aren't really inP. Mridul Aanjaneya Automata Theory 17/ 49 Complete Problems • One way to address theP=NP question is to identify complete problems forNP. • An NP-complete problem has the property that if it is inP, then every problem inNP is also inP. • Defined formally via polytime reductions. Mridul Aanjaneya Automata Theory 18/ 49 Complete Problems: Intuition • A complete problem for a class embodies every problem in the class, even if it does not appear so. • Strange but true: Knapsack embodies every polytime NTM computation. Mridul Aanjaneya Automata Theory 19/ 49 Polytime Reductions • Goal: Find a way to show problem X to be NP-complete by reducing every language/problem inNP to X in such a way that if we had a deterministic polynomial time algorithm for X , then we could construct a deterministic polynomial time algorithm for any problem inNP. Mridul Aanjaneya Automata Theory 20/ 49 Polytime Reductions • We need the notion of a polytime transducer - a TM that: 1 Takes an input of lengthn. 2 Operates deterministically for some polynomial time p(n). 3 Produces an output on a separate output tape. • Note: output length is at most p(n). Mridul Aanjaneya Automata Theory 21/ 49 Polytime Reductions State input n scratch tapes output <= p(n) Mridul Aanjaneya Automata Theory 22/ 49 Polytime Reductions • LetL andM be languages. • SayL is polytime reducible toM if there is a polytime transducerT such that for every inputw toT, the outputx= T(w) 2 M if and only ifw 2 L. Mridul Aanjaneya Automata Theory 23/ 49 Picture of Polytime Reductions in L in M not T in L not in M Mridul Aanjaneya Automata Theory 24/ 49 NP-complete Problems • A problem/languageM is said to be NP-complete if for every languageL 2 NP, there is a polytime reduction fromL toM. • Fundamental Property: IfM has a polytime algorithm, then L also has a polytime algorithm. i.e., ifM 2 P, then everyL 2 NP is also inP, orP=NP. Mridul Aanjaneya Automata Theory 25/ 49 Proof that Polytime Reductions Work • SupposeM has an algorithm of polynomial time q(n). • LetL have a polytime transducerT toM, taking polynomial time p(n). • The output ofT, given an input of lengthn, is at most of length p(n). • The algorithm forM on the output ofT takes time at most q(p(n)). Mridul Aanjaneya Automata Theory 26/ 49 Proof that Polytime Reductions Work • We now have a polytime algorithm forL: 1 Givenw of lengthn, useT to producex of length ≤ p(n), taking time ≤ p(n). 2 Use the algorithm forM to tell ifx 2 M in time ≤ q(p(n)). 3 Answer forw is whatever the answer forx is. • Total time ≤ p(n)+ q(p(n))= a polynomial. Mridul Aanjaneya Automata Theory 27/ 49 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 by1 and0, respectively. We'll use concatenation for AND, + forOR, - for NOT. Mridul Aanjaneya Automata Theory 28/ 49 Example: Boolean Expressions • (x+y)(-x+-y) is true only when variablesx andy have opposite truth values. • Note: parentheses can be used at will, and are needed to modify the precendence order NOT (highest), AND,OR. Mridul Aanjaneya Automata Theory 29/ 49 The Satisfiability Problem (SAT) • Study of boolean functions generally is concerned with the set of truth assignments (assignments of0 or1 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? Mridul Aanjaneya Automata Theory 30/ 49 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. Mridul Aanjaneya Automata Theory 31/ 49 SAT is in NP • There is a multitape NTM that can decide if a Boolean formula of lengthn is satisfiable. • The NTM takes O(n2) time along any path. • Use nondeterminism to guess a truth assignment on a second tape. • Replace all variables by guessed truth values. • Evaluate the formula for this assignment. • Accept if true. Cook's Theorem SAT is NP-complete. Mridul Aanjaneya Automata Theory 32/ 49 Picture so far • We have one NP-complete problem: SAT. • In the future, we shall do polytime reductions of SAT to other problems, thereby showing them to be NP-complete. • Why? If we polytime reduce SAT to X , and X 2 P, then so is SAT, and therefore so is all ofNP. Mridul Aanjaneya Automata Theory 33/ 49 Conjunctive Normal Form • A Boolean formula is in Conjunctive Normal Form(CNF) if it is the AND of clauses.
Recommended publications
  • 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.
    [Show full text]
  • 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*.
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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).
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • Limits to Parallel Computation: P-Completeness Theory
    Limits to Parallel Computation: P-Completeness Theory RAYMOND GREENLAW University of New Hampshire H. JAMES HOOVER University of Alberta WALTER L. RUZZO University of Washington New York Oxford OXFORD UNIVERSITY PRESS 1995 This book is dedicated to our families, who already know that life is inherently sequential. Preface This book is an introduction to the rapidly growing theory of P- completeness — the branch of complexity theory that focuses on identifying the “hardest” problems in the class P of problems solv- able in polynomial time. P-complete problems are of interest because they all appear to lack highly parallel solutions. That is, algorithm designers have failed to find NC algorithms, feasible highly parallel solutions that take time polynomial in the logarithm of the problem size while using only a polynomial number of processors, for them. Consequently, the promise of parallel computation, namely that ap- plying more processors to a problem can greatly speed its solution, appears to be broken by the entire class of P-complete problems. This state of affairs is succinctly expressed as the following question: Does P equal NC ? Organization of the Material The book is organized into two parts: an introduction to P- completeness theory, and a catalog of P-complete and open prob- lems. The first part of the book is a thorough introduction to the theory of P-completeness. We begin with an informal introduction. Then we discuss the major parallel models of computation, describe the classes NC and P, and present the notions of reducibility and com- pleteness. We subsequently introduce some fundamental P-complete problems, followed by evidence suggesting why NC does not equal P.
    [Show full text]
  • Reductions and Satisfiability
    Reductions and Satisfiability 1 Polynomial-Time Reductions reformulating problems reformulating a problem in polynomial time independent set and vertex cover reducing vertex cover to set cover 2 The Satisfiability Problem satisfying truth assignments SAT and 3-SAT reducing 3-SAT to independent set transitivity of reductions CS 401/MCS 401 Lecture 18 Computer Algorithms I Jan Verschelde, 30 July 2018 Computer Algorithms I (CS 401/MCS 401) Reductions and Satifiability L-18 30 July 2018 1 / 45 Reductions and Satifiability 1 Polynomial-Time Reductions reformulating problems reformulating a problem in polynomial time independent set and vertex cover reducing vertex cover to set cover 2 The Satisfiability Problem satisfying truth assignments SAT and 3-SAT reducing 3-SAT to independent set transitivity of reductions Computer Algorithms I (CS 401/MCS 401) Reductions and Satifiability L-18 30 July 2018 2 / 45 reformulating problems The Ford-Fulkerson algorithm computes maximum flow. By reduction to a flow problem, we could solve the following problems: bipartite matching, circulation with demands, survey design, and airline scheduling. Because the Ford-Fulkerson is an efficient algorithm, all those problems can be solved efficiently as well. Our plan for the remainder of the course is to explore computationally hard problems. Computer Algorithms I (CS 401/MCS 401) Reductions and Satifiability L-18 30 July 2018 3 / 45 imagine a meeting with your boss ... From Computers and intractability. A Guide to the Theory of NP-Completeness by Michael R. Garey and David S. Johnson, Bell Laboratories, 1979. Computer Algorithms I (CS 401/MCS 401) Reductions and Satifiability L-18 30 July 2018 4 / 45 what you want to say is From Computers and intractability.
    [Show full text]
  • Quantum Computational Complexity Theory Is to Un- Derstand the Implications of Quantum Physics to Computational Complexity Theory
    Quantum Computational Complexity John Watrous Institute for Quantum Computing and School of Computer Science University of Waterloo, Waterloo, Ontario, Canada. Article outline I. Definition of the subject and its importance II. Introduction III. The quantum circuit model IV. Polynomial-time quantum computations V. Quantum proofs VI. Quantum interactive proof systems VII. Other selected notions in quantum complexity VIII. Future directions IX. References Glossary Quantum circuit. A quantum circuit is an acyclic network of quantum gates connected by wires: the gates represent quantum operations and the wires represent the qubits on which these operations are performed. The quantum circuit model is the most commonly studied model of quantum computation. Quantum complexity class. A quantum complexity class is a collection of computational problems that are solvable by a cho- sen quantum computational model that obeys certain resource constraints. For example, BQP is the quantum complexity class of all decision problems that can be solved in polynomial time by a arXiv:0804.3401v1 [quant-ph] 21 Apr 2008 quantum computer. Quantum proof. A quantum proof is a quantum state that plays the role of a witness or certificate to a quan- tum computer that runs a verification procedure. The quantum complexity class QMA is defined by this notion: it includes all decision problems whose yes-instances are efficiently verifiable by means of quantum proofs. Quantum interactive proof system. A quantum interactive proof system is an interaction between a verifier and one or more provers, involving the processing and exchange of quantum information, whereby the provers attempt to convince the verifier of the answer to some computational problem.
    [Show full text]
  • Recursion Theory Notes, Fall 2011 0.1 Introduction
    Recursion Theory Notes, Fall 2011 Lecturer: Lou van den Dries 0.1 Introduction Recursion theory (or: theory of computability) is a branch of mathematical logic studying the notion of computability from a rather theoretical point of view. This includes giving a lot of attention to what is not computable, or what is computable relative to any given, not necessarily computable, function. The subject is interesting on philosophical-scientific grounds because of the Church- Turing Thesis and its role in computer science, and because of the intriguing concept of Kolmogorov complexity. This course tries to keep touch with how recursion theory actually impacts mathematics and computer science. This impact is small, but it does exist. Accordingly, the first chapter of the course covers the basics: primitive recur- sion, partial recursive functions and the Church-Turing Thesis, arithmetization and the theorems of Kleene, the halting problem and Rice's theorem, recur- sively enumerable sets, selections and reductions, recursive inseparability, and index systems. (Turing machines are briefly discussed, but the arithmetization is based on a numerical coding of combinators.) The second chapter is devoted to the remarkable negative solution (but with positive aspects) of Hilbert's 10th Problem. This uses only the most basic notions of recursion theory, plus some elementary number theory that is worth knowing in any case; the coding aspects of natural numbers are combined here ingeniously with the arithmetic of the semiring of natural numbers. The last chapter is on Kolmogorov complexity, where concepts of recursion theory are used to define and study notions of randomness and information content.
    [Show full text]