Certification and NP-Completeness

Total Page:16

File Type:pdf, Size:1020Kb

Certification and NP-Completeness Certification and NP-Completeness 1 Definition of NP efficient certification the class of problems NP 2 NP-Complete Problems a definition of NP-complete circuit satisfiability 3-satifiability CS 401/MCS 401 Lecture 19 Computer Algorithms I Jan Verschelde, 1 August 2018 Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 1 / 32 Certification and NP-Completeness 1 Definition of NP efficient certification the class of problems NP 2 NP-Complete Problems a definition of NP-complete circuit satisfiability 3-satifiability Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 2 / 32 computing and checking a solution What is good about the independent set problem? If we have an independent set of size k in a graph, then with the independent set of size k as a given, verification that the graph has indeed an independent set of size k is easy. What is good about the 3-SAT problem? If we have a truth assignment for a 3-SAT problem, then with the assignment of the variables as a given, verification that the 3-SAT problem is satisfiable is easy. The point is that there is a difference between computing a solution to a difficult problem, and verifying whether a given output is indeed a solution. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 3 / 32 we distinguish between problems and algorithms On problems: The input to our problem is encoded by a finite binary string s. The length of a string s is denoted by jsj. A decision problem X is identified with the set of strings on which the answer is "yes". On algorithms: An algorithm A takes on input a string s and returns "yes" or "no". A solves the problem X if for all strings s: A(s) = "yes" , s 2 X. Algorithm A has polynomial running time if there is a polynomial function p so that for every input string s, A terminates on s in at most O(p(jsj)) steps. Definition The set P is the set of all problems X for which there exists an algorithm A with a polynomial running time that solves X. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 4 / 32 efficient certification To check a solution for a problem X, we need the input string s and a seperate certificate string t which contains evidence that s is a "yes" instance of X. Definition Algorithm B is an efficient certifier for problem X if B runs in polynomial time on the inputs s and t, and there is a polynomial function p so that for every string s, we have s 2 X if and only if there exists a string t such that jtj ≤ p(jsj) and B(s; t) = "yes". An efficient certifier evaluates proposed proofs if they are not too long, could be used in a brute force algorithm: try all inputs. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 5 / 32 Certification and NP-Completeness 1 Definition of NP efficient certification the class of problems NP 2 NP-Complete Problems a definition of NP-complete circuit satisfiability 3-satifiability Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 6 / 32 the class of problems NP Definition The set NP collects all problems for which an efficient certifier exists. Theorem P ⊆ N P Proof. Consider a problem X 2 P So there is polynomial-time algorithm A to solve X. To show that X 2 N P, we need to find an efficient certifier for X. For inputs s and t, the certifier algorithm B returns the value of A(s). Why is B a efficient? A runs in a polynomial time. Why is B a certifier? Recall that X is decision problem. If s 2 X, then for every t of length at most p(jsj), B(s; t) = A(s) = "yes". Otherwise, B(s; t) = "no". Q.E.D. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 7 / 32 an efficient certifier for the independent set problem Definition Given a graph G = (V ; E), a subset S ⊆ V is an independent set if for all u; v 2 S: (u; v) 62 E. Given a graph G and some number k, does G contain an independent set of size at least k? 1 2 1 2 3 4 5 3 4 5 6 7 6 7 The certificate t is the set S of at least k vertices. The certifier checks that, for all pairs u; v 2 S: (u; v) 62 E. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 8 / 32 an efficient certifier for the set cover problem Given are U = f 1; 2;:::; n g, a collection Si ⊆ U, i = 1; 2;:::; m, and [ some number k. Is there an index set I = f i1; i2;:::; ik g: Sj = U ? j2I a collection a set cover The certificate t is the sequence of k subsets of U. The certifier checks that the union of the subsets equals U. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 9 / 32 an efficient certifier for the 3-satisfiability problem The conjunction of clauses (x _ y _ z) ^ (x _ y _ z) ^ (x _ y _ z) has a satisfying truth assignment ν(x) = 1, ν(y) = 0, ν(z) = 0. The certificate t is an assignment ν to the Boolean variables. The certifier evaluates the clauses with respect to the assignment ν. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 10 / 32 the question Is there a problem in NP that does not belong to P? Does P = NP? The general belief is P 6= NP. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 11 / 32 Certification and NP-Completeness 1 Definition of NP efficient certification the class of problems NP 2 NP-Complete Problems a definition of NP-complete circuit satisfiability 3-satifiability Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 12 / 32 NP-complete problems What are the hardest problems in NP? Definition Problem X is an NP-complete problem if 1 X 2 N P, and 2 for all Y 2 N P: Y ≤P X. Every problem in NP can be reduced to an NP-complete problem. Theorem Suppose X is an NP-complete problem. Then X is solvable in polynomial time if and only if P = NP. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 13 / 32 Theorem Suppose X is an NP-complete problem. Then X is solvable in polynomial time if and only if P = NP. Proof. If and only if means ) and (. ( If P = NP, then X can be solved in polynomial time as X 2 N P. ) Suppose X can be solved in polynomial time. For all Y 2 N P: Y ≤P X. By the Proposition on Slide 9 of Lecture 18, Y can be solved in polynomial time, and thus Y 2 P, so N P ⊆ P. By the Theorem on slide 7, P ⊆ N P, so P = NP. Q.E.D. Corollary If there is any problem in NP that cannot be solved in polynomial time, then no NP-complete problem can be solved in polynomial time. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 14 / 32 Certification and NP-Completeness 1 Definition of NP efficient certification the class of problems NP 2 NP-Complete Problems a definition of NP-complete circuit satisfiability 3-satifiability Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 15 / 32 encoding a problem in NP Do NP-complete problems exist? Every problem in NP can be reduced to an NP-complete problem. Could there be two incomparable problems Y and Z so that there is no X 2 N P so that Y ≤P X and Z ≤P X? To prove a problem is NP-complete, we must show how it could encode any problem in NP. This is harder to reformulating specific problems. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 16 / 32 a circuit: :(1 ^ x) ^ ((x _ 0) ^ (y _ z)) output: ^ : ^ ^ _ _ inputs: 1 x 0 y z Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 17 / 32 definition of a circuit A circuitK is a labeled, directed acyclic graph: The sources in K are nodes with no incoming edges. The sources are labeled either with a constant 0 or 1, or with the name of a distinct variable. Nodes labeled with the name of a variable are inputs to the circuit. Internal nodes are labeled with a Boolean operation, which is either the negation : (not), the disjunction _ (or), or the conjunction ^ (and). Nodes labeled with : have one incoming edge, nodes labeled with _ or ^ have two incoming edges. The output of the circuit is one single sink, with no outgoing edges. The output represents what the circuit computes. Computer Algorithms I (CS 401/MCS 401) Certification and NP-Completeness L-19 1 August 2018 18 / 32 the circuit satisfiability problem Assignments to the inputs of a circuit that results in the output one is called a satifying assignment.
Recommended publications
  • Complexity Theory Lecture 9 Co-NP Co-NP-Complete
    Complexity Theory 1 Complexity Theory 2 co-NP Complexity Theory Lecture 9 As co-NP is the collection of complements of languages in NP, and P is closed under complementation, co-NP can also be characterised as the collection of languages of the form: ′ L = x y y <p( x ) R (x, y) { |∀ | | | | → } Anuj Dawar University of Cambridge Computer Laboratory NP – the collection of languages with succinct certificates of Easter Term 2010 membership. co-NP – the collection of languages with succinct certificates of http://www.cl.cam.ac.uk/teaching/0910/Complexity/ disqualification. Anuj Dawar May 14, 2010 Anuj Dawar May 14, 2010 Complexity Theory 3 Complexity Theory 4 NP co-NP co-NP-complete P VAL – the collection of Boolean expressions that are valid is co-NP-complete. Any language L that is the complement of an NP-complete language is co-NP-complete. Any of the situations is consistent with our present state of ¯ knowledge: Any reduction of a language L1 to L2 is also a reduction of L1–the complement of L1–to L¯2–the complement of L2. P = NP = co-NP • There is an easy reduction from the complement of SAT to VAL, P = NP co-NP = NP = co-NP • ∩ namely the map that takes an expression to its negation. P = NP co-NP = NP = co-NP • ∩ VAL P P = NP = co-NP ∈ ⇒ P = NP co-NP = NP = co-NP • ∩ VAL NP NP = co-NP ∈ ⇒ Anuj Dawar May 14, 2010 Anuj Dawar May 14, 2010 Complexity Theory 5 Complexity Theory 6 Prime Numbers Primality Consider the decision problem PRIME: Another way of putting this is that Composite is in NP.
    [Show full text]
  • NP-Completeness (Chapter 8)
    CSE 421" Algorithms NP-Completeness (Chapter 8) 1 What can we feasibly compute? Focus so far has been to give good algorithms for specific problems (and general techniques that help do this). Now shifting focus to problems where we think this is impossible. Sadly, there are many… 2 History 3 A Brief History of Ideas From Classical Greece, if not earlier, "logical thought" held to be a somewhat mystical ability Mid 1800's: Boolean Algebra and foundations of mathematical logic created possible "mechanical" underpinnings 1900: David Hilbert's famous speech outlines program: mechanize all of mathematics? http://mathworld.wolfram.com/HilbertsProblems.html 1930's: Gödel, Church, Turing, et al. prove it's impossible 4 More History 1930/40's What is (is not) computable 1960/70's What is (is not) feasibly computable Goal – a (largely) technology-independent theory of time required by algorithms Key modeling assumptions/approximations Asymptotic (Big-O), worst case is revealing Polynomial, exponential time – qualitatively different 5 Polynomial Time 6 The class P Definition: P = the set of (decision) problems solvable by computers in polynomial time, i.e., T(n) = O(nk) for some fixed k (indp of input). These problems are sometimes called tractable problems. Examples: sorting, shortest path, MST, connectivity, RNA folding & other dyn. prog., flows & matching" – i.e.: most of this qtr (exceptions: Change-Making/Stamps, Knapsack, TSP) 7 Why "Polynomial"? Point is not that n2000 is a nice time bound, or that the differences among n and 2n and n2 are negligible. Rather, simple theoretical tools may not easily capture such differences, whereas exponentials are qualitatively different from polynomials and may be amenable to theoretical analysis.
    [Show full text]
  • Week 1: an Overview of Circuit Complexity 1 Welcome 2
    Topics in Circuit Complexity (CS354, Fall’11) Week 1: An Overview of Circuit Complexity Lecture Notes for 9/27 and 9/29 Ryan Williams 1 Welcome The area of circuit complexity has a long history, starting in the 1940’s. It is full of open problems and frontiers that seem insurmountable, yet the literature on circuit complexity is fairly large. There is much that we do know, although it is scattered across several textbooks and academic papers. I think now is a good time to look again at circuit complexity with fresh eyes, and try to see what can be done. 2 Preliminaries An n-bit Boolean function has domain f0; 1gn and co-domain f0; 1g. At a high level, the basic question asked in circuit complexity is: given a collection of “simple functions” and a target Boolean function f, how efficiently can f be computed (on all inputs) using the simple functions? Of course, efficiency can be measured in many ways. The most natural measure is that of the “size” of computation: how many copies of these simple functions are necessary to compute f? Let B be a set of Boolean functions, which we call a basis set. The fan-in of a function g 2 B is the number of inputs that g takes. (Typical choices are fan-in 2, or unbounded fan-in, meaning that g can take any number of inputs.) We define a circuit C with n inputs and size s over a basis B, as follows. C consists of a directed acyclic graph (DAG) of s + n + 2 nodes, with n sources and one sink (the sth node in some fixed topological order on the nodes).
    [Show full text]
  • Chapter 24 Conp, Self-Reductions
    Chapter 24 coNP, Self-Reductions CS 473: Fundamental Algorithms, Spring 2013 April 24, 2013 24.1 Complementation and Self-Reduction 24.2 Complementation 24.2.1 Recap 24.2.1.1 The class P (A) A language L (equivalently decision problem) is in the class P if there is a polynomial time algorithm A for deciding L; that is given a string x, A correctly decides if x 2 L and running time of A on x is polynomial in jxj, the length of x. 24.2.1.2 The class NP Two equivalent definitions: (A) Language L is in NP if there is a non-deterministic polynomial time algorithm A (Turing Machine) that decides L. (A) For x 2 L, A has some non-deterministic choice of moves that will make A accept x (B) For x 62 L, no choice of moves will make A accept x (B) L has an efficient certifier C(·; ·). (A) C is a polynomial time deterministic algorithm (B) For x 2 L there is a string y (proof) of length polynomial in jxj such that C(x; y) accepts (C) For x 62 L, no string y will make C(x; y) accept 1 24.2.1.3 Complementation Definition 24.2.1. Given a decision problem X, its complement X is the collection of all instances s such that s 62 L(X) Equivalently, in terms of languages: Definition 24.2.2. Given a language L over alphabet Σ, its complement L is the language Σ∗ n L. 24.2.1.4 Examples (A) PRIME = nfn j n is an integer and n is primeg o PRIME = n n is an integer and n is not a prime n o PRIME = COMPOSITE .
    [Show full text]
  • NP-Completeness Part I
    NP-Completeness Part I Outline for Today ● Recap from Last Time ● Welcome back from break! Let's make sure we're all on the same page here. ● Polynomial-Time Reducibility ● Connecting problems together. ● NP-Completeness ● What are the hardest problems in NP? ● The Cook-Levin Theorem ● A concrete NP-complete problem. Recap from Last Time The Limits of Computability EQTM EQTM co-RE R RE LD LD ADD HALT ATM HALT ATM 0*1* The Limits of Efficient Computation P NP R P and NP Refresher ● The class P consists of all problems solvable in deterministic polynomial time. ● The class NP consists of all problems solvable in nondeterministic polynomial time. ● Equivalently, NP consists of all problems for which there is a deterministic, polynomial-time verifier for the problem. Reducibility Maximum Matching ● Given an undirected graph G, a matching in G is a set of edges such that no two edges share an endpoint. ● A maximum matching is a matching with the largest number of edges. AA maximummaximum matching.matching. Maximum Matching ● Jack Edmonds' paper “Paths, Trees, and Flowers” gives a polynomial-time algorithm for finding maximum matchings. ● (This is the same Edmonds as in “Cobham- Edmonds Thesis.) ● Using this fact, what other problems can we solve? Domino Tiling Domino Tiling Solving Domino Tiling Solving Domino Tiling Solving Domino Tiling Solving Domino Tiling Solving Domino Tiling Solving Domino Tiling Solving Domino Tiling Solving Domino Tiling The Setup ● To determine whether you can place at least k dominoes on a crossword grid, do the following: ● Convert the grid into a graph: each empty cell is a node, and any two adjacent empty cells have an edge between them.
    [Show full text]
  • The Complexity Zoo
    The Complexity Zoo Scott Aaronson www.ScottAaronson.com LATEX Translation by Chris Bourke [email protected] 417 classes and counting 1 Contents 1 About This Document 3 2 Introductory Essay 4 2.1 Recommended Further Reading ......................... 4 2.2 Other Theory Compendia ............................ 5 2.3 Errors? ....................................... 5 3 Pronunciation Guide 6 4 Complexity Classes 10 5 Special Zoo Exhibit: Classes of Quantum States and Probability Distribu- tions 110 6 Acknowledgements 116 7 Bibliography 117 2 1 About This Document What is this? Well its a PDF version of the website www.ComplexityZoo.com typeset in LATEX using the complexity package. Well, what’s that? The original Complexity Zoo is a website created by Scott Aaronson which contains a (more or less) comprehensive list of Complexity Classes studied in the area of theoretical computer science known as Computa- tional Complexity. I took on the (mostly painless, thank god for regular expressions) task of translating the Zoo’s HTML code to LATEX for two reasons. First, as a regular Zoo patron, I thought, “what better way to honor such an endeavor than to spruce up the cages a bit and typeset them all in beautiful LATEX.” Second, I thought it would be a perfect project to develop complexity, a LATEX pack- age I’ve created that defines commands to typeset (almost) all of the complexity classes you’ll find here (along with some handy options that allow you to conveniently change the fonts with a single option parameters). To get the package, visit my own home page at http://www.cse.unl.edu/~cbourke/.
    [Show full text]
  • Computability (Section 12.3) Computability
    Computability (Section 12.3) Computability • Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible algorithms. • Example (Turing Machines): Associate a Turing machine with each n 2 N as follows: n $ b(n) (the binary representation of n) $ a(b(n)) (b(n) split into 7-bit ASCII blocks, w/ leading 0's) $ if a(b(n)) is the syntax of a TM then a(b(n)) else (0; a; a; S,halt) fi • So we can effectively describe all possible Turing machines: T0; T1; T2;::: Continued • Of course, we could use the same technique to list all possible instances of any computational model. For example, we can effectively list all possible Simple programs and we can effectively list all possible partial recursive functions. • If we want to use the Church-Turing thesis, then we can effectively list all possible solutions (e.g., Turing machines) to every intuitively computable problem. Decidable. • Is an arbitrary first-order wff valid? Undecidable and partially decidable. • Does a DFA accept infinitely many strings? Decidable • Does a PDA accept a string s? Decidable Decision Problems • A decision problem is a problem that can be phrased as a yes/no question. Such a problem is decidable if an algorithm exists to answer yes or no to each instance of the problem. Otherwise it is undecidable. A decision problem is partially decidable if an algorithm exists to halt with the answer yes to yes-instances of the problem, but may run forever if the answer is no.
    [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]
  • A Short History of Computational Complexity
    The Computational Complexity Column by Lance FORTNOW NEC Laboratories America 4 Independence Way, Princeton, NJ 08540, USA [email protected] http://www.neci.nj.nec.com/homepages/fortnow/beatcs Every third year the Conference on Computational Complexity is held in Europe and this summer the University of Aarhus (Denmark) will host the meeting July 7-10. More details at the conference web page http://www.computationalcomplexity.org This month we present a historical view of computational complexity written by Steve Homer and myself. This is a preliminary version of a chapter to be included in an upcoming North-Holland Handbook of the History of Mathematical Logic edited by Dirk van Dalen, John Dawson and Aki Kanamori. A Short History of Computational Complexity Lance Fortnow1 Steve Homer2 NEC Research Institute Computer Science Department 4 Independence Way Boston University Princeton, NJ 08540 111 Cummington Street Boston, MA 02215 1 Introduction It all started with a machine. In 1936, Turing developed his theoretical com- putational model. He based his model on how he perceived mathematicians think. As digital computers were developed in the 40's and 50's, the Turing machine proved itself as the right theoretical model for computation. Quickly though we discovered that the basic Turing machine model fails to account for the amount of time or memory needed by a computer, a critical issue today but even more so in those early days of computing. The key idea to measure time and space as a function of the length of the input came in the early 1960's by Hartmanis and Stearns.
    [Show full text]
  • TC Circuits for Algorithmic Problems in Nilpotent Groups
    TC0 Circuits for Algorithmic Problems in Nilpotent Groups Alexei Myasnikov1 and Armin Weiß2 1 Stevens Institute of Technology, Hoboken, NJ, USA 2 Universität Stuttgart, Germany Abstract Recently, Macdonald et. al. showed that many algorithmic problems for finitely generated nilpo- tent groups including computation of normal forms, the subgroup membership problem, the con- jugacy problem, and computation of subgroup presentations can be done in LOGSPACE. Here we follow their approach and show that all these problems are complete for the uniform circuit class TC0 – uniformly for all r-generated nilpotent groups of class at most c for fixed r and c. Moreover, if we allow a certain binary representation of the inputs, then the word problem and computation of normal forms is still in uniform TC0, while all the other problems we examine are shown to be TC0-Turing reducible to the problem of computing greatest common divisors and expressing them as linear combinations. 1998 ACM Subject Classification F.2.2 Nonnumerical Algorithms and Problems, G.2.0 Discrete Mathematics Keywords and phrases nilpotent groups, TC0, abelian groups, word problem, conjugacy problem, subgroup membership problem, greatest common divisors Digital Object Identifier 10.4230/LIPIcs.MFCS.2017.23 1 Introduction The word problem (given a word over the generators, does it represent the identity?) is one of the fundamental algorithmic problems in group theory introduced by Dehn in 1911 [3]. While for general finitely presented groups all these problems are undecidable [22, 2], for many particular classes of groups decidability results have been established – not just for the word problem but also for a wide range of other problems.
    [Show full text]
  • Introduction to the Theory of Computation Computability, Complexity, and the Lambda Calculus Some Notes for CIS262
    Introduction to the Theory of Computation Computability, Complexity, And the Lambda Calculus Some Notes for CIS262 Jean Gallier and Jocelyn Quaintance Department of Computer and Information Science University of Pennsylvania Philadelphia, PA 19104, USA e-mail: [email protected] c Jean Gallier Please, do not reproduce without permission of the author April 28, 2020 2 Contents Contents 3 1 RAM Programs, Turing Machines 7 1.1 Partial Functions and RAM Programs . 10 1.2 Definition of a Turing Machine . 15 1.3 Computations of Turing Machines . 17 1.4 Equivalence of RAM programs And Turing Machines . 20 1.5 Listable Languages and Computable Languages . 21 1.6 A Simple Function Not Known to be Computable . 22 1.7 The Primitive Recursive Functions . 25 1.8 Primitive Recursive Predicates . 33 1.9 The Partial Computable Functions . 35 2 Universal RAM Programs and the Halting Problem 41 2.1 Pairing Functions . 41 2.2 Equivalence of Alphabets . 48 2.3 Coding of RAM Programs; The Halting Problem . 50 2.4 Universal RAM Programs . 54 2.5 Indexing of RAM Programs . 59 2.6 Kleene's T -Predicate . 60 2.7 A Non-Computable Function; Busy Beavers . 62 3 Elementary Recursive Function Theory 67 3.1 Acceptable Indexings . 67 3.2 Undecidable Problems . 70 3.3 Reducibility and Rice's Theorem . 73 3.4 Listable (Recursively Enumerable) Sets . 76 3.5 Reducibility and Complete Sets . 82 4 The Lambda-Calculus 87 4.1 Syntax of the Lambda-Calculus . 89 4.2 β-Reduction and β-Conversion; the Church{Rosser Theorem . 94 4.3 Some Useful Combinators .
    [Show full text]
  • 1 the Class Conp
    80240233: Computational Complexity Lecture 3 ITCS, Tsinghua Univesity, Fall 2007 16 October 2007 Instructor: Andrej Bogdanov Notes by: Jialin Zhang and Pinyan Lu In this lecture, we introduce the complexity class coNP, the Polynomial Hierarchy and the notion of oracle. 1 The class coNP The complexity class NP contains decision problems asking this kind of question: On input x, ∃y : |y| = p(|x|) s.t.V (x, y), where p is a polynomial and V is a relation which can be computed by a polynomial time Turing Machine (TM). Some examples: SAT: given boolean formula φ, does φ have a satisfiable assignment? MATCHING: given a graph G, does it have a perfect matching? Now, consider the opposite problems of SAT and MATCHING. UNSAT: given boolean formula φ, does φ have no satisfiable assignment? UNMATCHING: given a graph G, does it have no perfect matching? This kind of problems are called coNP problems. Formally we have the following definition. Definition 1. For every L ⊆ {0, 1}∗, we say that L ∈ coNP if and only if L ∈ NP, i.e. L ∈ coNP iff there exist a polynomial-time TM A and a polynomial p, such that x ∈ L ⇔ ∀y, |y| = p(|x|) A(x, y) accepts. Then the natural question is how P, NP and coNP relate. First we have the following trivial relationships. Theorem 2. P ⊆ NP, P ⊆ coNP For instance, MATCHING ∈ coNP. And we already know that SAT ∈ NP. Is SAT ∈ coNP? If it is true, then we will have NP = coNP. This is the following theorem. Theorem 3. If SAT ∈ coNP, then NP = coNP.
    [Show full text]