Complexity Theory

Total Page:16

File Type:pdf, Size:1020Kb

Complexity Theory Mapping Reductions Part II -and- Complexity Theory Announcements ● Casual CS Dinner for Women Studying Computer Science is tomorrow night: Thursday, March 7 at 6PM in Gates 219! ● RSVP through the email link sent out earlier this week. Announcements ● Problem Set 7 due tomorrow at 12:50PM with a late day. ● This is a hard deadline – no submissions will be accepted after 12:50PM so that we can release solutions early. Recap from Last Time Mapping Reductions ● A function f : Σ1* → Σ2* is called a mapping reduction from A to B iff ● For any w ∈ Σ1*, w ∈ A iff f(w) ∈ B. ● f is a computable function. ● Intuitively, a mapping reduction from A to B says that a computer can transform any instance of A into an instance of B such that the answer to B is the answer to A. Why Mapping Reducibility Matters ● Theorem: If B ∈ R and A ≤M B, then A ∈ R. ● Theorem: If B ∈ RE and A ≤M B, then A ∈ RE. ● Theorem: If B ∈ co-RE and A ≤M B, then A ∈ co-RE. ● Intuitively: A ≤M B means “A is not harder than B.” Why Mapping Reducibility Matters ● Theorem: If A ∉ R and A ≤M B, then B ∉ R. ● Theorem: If A ∉ RE and A ≤M B, then B ∉ RE. ● Theorem: If A ∉ co-RE and A ≤M B, then B ∉ co-RE. ● Intuitively: A ≤M B means “B is at at least as hard as A.” Why Mapping Reducibility Matters IfIf thisthis oneone isis “easy”“easy” ((RR,, RERE,, co-co-RERE)…)… A ≤M B …… thenthen thisthis oneone isis “easy”“easy” ((RR,, RERE,, co-co-RERE)) too.too. Why Mapping Reducibility Matters IfIf thisthis oneone isis “hard”“hard” (not(not RR,, notnot RERE,, oror notnot coco-RE-RE))…… A ≤M B …… thenthen thisthis oneone isis “hard”“hard” (not(not RR,, notnot RERE,, oror notnot coco-RE-RE)) too.too. The Limits of Computability co-RE R RE LD LD ADD HALT ATM HALT ATM ONES SEARCH ONES Le Le What's out here? An Extremely Hard Problem ● Recall: All regular languages are also RE. ● This means that some TMs accept regular languages and some TMs do not. ● Let REGULARTM be the language of all TM descriptions that accept regular languages: REGULARTM = { ⟨M⟩ | ℒ(M) is regular } REGULARTM ∉ RE ● It turns out that REGULARTM is unrecognizable, meaning that there is no computer program that can confirm that another TM's language is regular! ● To do this, we'll do a reduction from LD and prove that LD ≤M REGULARTM. LD ≤M REGULARTM ● We want to find a computable function f such that ⟨M⟩ ∈ LD iff f(⟨M⟩) ∈ REGULARTM. ● We need to choose N such that f(⟨M⟩) = ⟨N⟩ for some TM N. Then ⟨M⟩ ∈ LD iff f(⟨M⟩) ∈ REGULARTM ⟨M⟩ ∈ LD iff ⟨N⟩ ∈ REGULARTM ⟨M⟩ ∉ ℒ(M) iff ℒ(N) is regular. ● Question: How do we pick N? LD ≤M REGULARTM ● We want to construct some N out of M such that ● If ⟨M⟩ ∈ ℒ(M), then ℒ(N) is not regular. ● If ⟨M⟩ ∉ ℒ(M), then ℒ(N) is regular. ● One option: choose two languages, one regular and one nonregular, then construct N so its language switches from regular to nonregular based on whether ⟨M⟩ ∉ ℒ(M). ● If ⟨M⟩ ∈ ℒ(M), then ℒ(N) = { 0n1n | n ∈ ℕ } ● If ⟨M⟩ ∉ ℒ(M), then ℒ(N) = Ø The Reduction ● We want to build N from M such that ● If ⟨M⟩ ∈ ℒ(M), then ℒ(N) = { 0n1n | n ∈ ℕ } ● If ⟨M⟩ ∉ ℒ(M), then ℒ(N) = Ø ● Here is one way to do this: N = “On input w: · If w does not have the form 0n1n, then N rejects w. · Run M on ⟨M⟩. · If M accepts ⟨M⟩, then N accepts w. · If M rejects ⟨M⟩, then N rejects w.” Graphically { 0n1n | n ∈ ℕ } Σ* N = “On input w: N = “On input w: n n · ·If If w w does does not not have have the the form form 0 01n1,n, then N rejects w. then N rejects w. · Run M on ⟨M⟩. · Run M on ⟨M⟩. · If M accepts ⟨M⟩, then N accepts w. · If M accepts ⟨M⟩, then N accepts w. · If M rejects ⟨M⟩, then N rejects w.” · If M rejects ⟨M⟩, then N rejects w.” Theorem: LD ≤M REGULARTM. Proof: We exhibit a mapping reduction from LD to REGULARTM. For any TM M, let f(⟨M⟩) = ⟨N⟩, where N is defined in terms of M as follows: N = “On input w: If w does not have the form 0n1n, N rejects w. Run M on ⟨M⟩. If M accepts ⟨M⟩, N accepts w. If M rejects ⟨M⟩, N rejects w.” We claim f is computable and omit the details from this proof. We further claim that ⟨M⟩ ∈ LD iff f(⟨M⟩) ∈ REGULARTM. To see this, note that f(⟨M⟩) = ⟨N⟩ ∈ REGULARTM iff ℒ(N) is regular. We claim that ℒ(N) is regular iff ⟨M⟩ ∉ ℒ(M). To see this, note that if ⟨M⟩ ∉ ℒ(M), then N never accepts any strings. Thus ℒ(N) = Ø, which is regular. Otherwise, if ⟨M⟩ ∈ ℒ(M), then N accepts all strings of the form 0n1n, so we have that ℒ(M) = { 0n1n | n ∈ ℕ }, which is not regular. Finally, ⟨M⟩ ∉ ℒ(⟨M⟩) iff ⟨M⟩ ∈ LD. Thus ⟨M⟩ ∈ LD iff f(⟨M⟩) ∈ REGULARTM, so f is a mapping reduction from LD to REGULARTM. Therefore, LD ≤M REGULARTM. ■ REGULARTM ∉ co-RE ● Not only is REGULARTM ∉ RE, but REGULARTM ∉ co-RE. ● Before proving this, take a minute to think about just how ridiculously hard this problem is. ● No computer can confirm that an arbitrary TM has a regular language. ● No computer can confirm that an arbitrary TM has a nonregular language. ● This is vastly beyond the limits of what computers could ever hope to solve. LD ≤M REGULARTM ● To prove that REGULARTM is not co-RE, we will prove that LD ≤M REGULARTM. ● Since LD is not co-RE, this proves that REGULARTM is not co-RE either. ● Goal: Find a function f such that ⟨M⟩ ∈ LD iff f(⟨M⟩) ∈ REGULARTM ● Let f(⟨M⟩) = ⟨N⟩ for some TM N. Then we want ⟨M⟩ ∈ LD iff ⟨N⟩ ∈ REGULARTM ⟨M⟩ ∈ ℒ(M) iff ℒ(N) is regular ● Question: How do we pick machine N? LD ≤M REGULARTM ● We want to construct some N out of M such that ● If ⟨M⟩ ∈ ℒ(M), then ℒ(N) is regular. ● If ⟨M⟩ ∉ ℒ(M), then ℒ(N) is not regular. ● One option: choose two languages, one regular and one nonregular, then construct N so its language switches from regular to nonregular based on whether ⟨M⟩ ∈ ℒ(M). ● If ⟨M⟩ ∈ ℒ(M), then ℒ(N) = Σ*. ● If ⟨M⟩ ∉ ℒ(M), then ℒ(N) = {0n1n | n ∈ ℕ} LD ≤M REGULARTM ● We want to build N from M such that ● If ⟨M⟩ ∈ ℒ(M), then ℒ(N) = Σ* ● If ⟨M⟩ ∉ ℒ(M), then ℒ(N) = { 0n1n | n ∈ ℕ } ● Here is one way to do this: N = “On input w: · If w has the form 0n1n, then N accepts w. · Run M on ⟨M⟩. · If M accepts ⟨M⟩, then N accepts w. · If M rejects ⟨M⟩, then N rejects w.” Graphically { 0n1n | n ∈ ℕ } Σ* N = “On input w: N = “On input w: n n · ·If If w w has has the the form form 0 01n1,n, then N accepts w. then N accepts w. · Run M on ⟨M⟩. · Run M on ⟨M⟩. · If M accepts ⟨M⟩, then N accepts w. · If M accepts ⟨M⟩, then N accepts w. · If M rejects ⟨M⟩, then N rejects w.” · If M rejects ⟨M⟩, then N rejects w.” Theorem: LD ≤M REGULARTM. Proof: We exhibit a mapping reduction from LD to REGULARTM. For any TM M, let f(⟨M⟩) = ⟨N⟩, where N is defined from M as follows: N = “On input w: If w has the form 0n1n, then N accepts w. Run M on ⟨M⟩. If M accepts ⟨M⟩, then N accepts w. If M rejects ⟨M⟩, then N rejects w.” We state without proof that f is computable. We further claim that ⟨M⟩ ∈ LD iff f(⟨M⟩) ∈ REGULARTM. Note f(⟨M⟩) = ⟨N⟩ and ⟨N⟩ ∈ REGULARTM iff ℒ(N) is regular. We claim that ℒ(N) is regular iff ⟨M⟩ ∈ ℒ(M). To see this, note that if ⟨M⟩ ∈ ℒ(M), then N accepts all strings, either because that string is of the form 0n1n or because M eventually accepts ⟨M⟩. Thus ℒ(N) = Σ*, which is regular. Otherwise, if ⟨M⟩ ∉ ℒ(M), then N only accepts strings of the form 0n1n, so ℒ(N) = { 0n1n | n ∈ ℕ }, which is not regular. Finally, ⟨M⟩ ∈ ℒ(⟨M⟩) iff ⟨M⟩ ∈ LD. Thus ⟨M⟩ ∈ LD iff f(⟨M⟩) ∈ REGULARTM, so f is a mapping reduction from LD to REGULARTM. Therefore, LD ≤M REGULARTM. ■ The Limits of Computability REGULARTM REGULARTM HALT HALT R ONESTM ONESTM LD ADD LD ONLYONES ONLYONES TM SEARCH TM ATM ATM co-RE RE All Languages Why All This Matters The Limits of Computability REGULARTM REGULARTM HALT HALT R ONESTM ONESTM LD ADD LD ONLYONES ONLYONES TM SEARCH TM ATM ATM co-RE RE All Languages What problems can be solved by a computer? What problems can be solved efficiently by a computer? Where We've Been ● The class R represents problems that can be solved by a computer. ● The class RE represents problems where “yes” answers can be verified by a computer. ● The class co-RE represents problems where “no” answers can be verified by a computer. ● The mapping reduction can be used to find connections between problems. Where We're Going ● The class P represents problems that can be solved efficiently by a computer.
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]
  • On the Randomness Complexity of Interactive Proofs and Statistical Zero-Knowledge Proofs*
    On the Randomness Complexity of Interactive Proofs and Statistical Zero-Knowledge Proofs* Benny Applebaum† Eyal Golombek* Abstract We study the randomness complexity of interactive proofs and zero-knowledge proofs. In particular, we ask whether it is possible to reduce the randomness complexity, R, of the verifier to be comparable with the number of bits, CV , that the verifier sends during the interaction. We show that such randomness sparsification is possible in several settings. Specifically, unconditional sparsification can be obtained in the non-uniform setting (where the verifier is modelled as a circuit), and in the uniform setting where the parties have access to a (reusable) common-random-string (CRS). We further show that constant-round uniform protocols can be sparsified without a CRS under a plausible worst-case complexity-theoretic assumption that was used previously in the context of derandomization. All the above sparsification results preserve statistical-zero knowledge provided that this property holds against a cheating verifier. We further show that randomness sparsification can be applied to honest-verifier statistical zero-knowledge (HVSZK) proofs at the expense of increasing the communica- tion from the prover by R−F bits, or, in the case of honest-verifier perfect zero-knowledge (HVPZK) by slowing down the simulation by a factor of 2R−F . Here F is a new measure of accessible bit complexity of an HVZK proof system that ranges from 0 to R, where a maximal grade of R is achieved when zero- knowledge holds against a “semi-malicious” verifier that maliciously selects its random tape and then plays honestly.
    [Show full text]
  • 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]
  • Dspace 6.X Documentation
    DSpace 6.x Documentation DSpace 6.x Documentation Author: The DSpace Developer Team Date: 27 June 2018 URL: https://wiki.duraspace.org/display/DSDOC6x Page 1 of 924 DSpace 6.x Documentation Table of Contents 1 Introduction ___________________________________________________________________________ 7 1.1 Release Notes ____________________________________________________________________ 8 1.1.1 6.3 Release Notes ___________________________________________________________ 8 1.1.2 6.2 Release Notes __________________________________________________________ 11 1.1.3 6.1 Release Notes _________________________________________________________ 12 1.1.4 6.0 Release Notes __________________________________________________________ 14 1.2 Functional Overview _______________________________________________________________ 22 1.2.1 Online access to your digital assets ____________________________________________ 23 1.2.2 Metadata Management ______________________________________________________ 25 1.2.3 Licensing _________________________________________________________________ 27 1.2.4 Persistent URLs and Identifiers _______________________________________________ 28 1.2.5 Getting content into DSpace __________________________________________________ 30 1.2.6 Getting content out of DSpace ________________________________________________ 33 1.2.7 User Management __________________________________________________________ 35 1.2.8 Access Control ____________________________________________________________ 36 1.2.9 Usage Metrics _____________________________________________________________
    [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]
  • 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]
  • Theory of Computation
    A Universal Program (4) Theory of Computation Prof. Michael Mascagni Florida State University Department of Computer Science 1 / 33 Recursively Enumerable Sets (4.4) A Universal Program (4) The Parameter Theorem (4.5) Diagonalization, Reducibility, and Rice's Theorem (4.6, 4.7) Enumeration Theorem Definition. We write Wn = fx 2 N j Φ(x; n) #g: Then we have Theorem 4.6. A set B is r.e. if and only if there is an n for which B = Wn. Proof. This is simply by the definition ofΦ( x; n). 2 Note that W0; W1; W2;::: is an enumeration of all r.e. sets. 2 / 33 Recursively Enumerable Sets (4.4) A Universal Program (4) The Parameter Theorem (4.5) Diagonalization, Reducibility, and Rice's Theorem (4.6, 4.7) The Set K Let K = fn 2 N j n 2 Wng: Now n 2 K , Φ(n; n) #, HALT(n; n) This, K is the set of all numbers n such that program number n eventually halts on input n. 3 / 33 Recursively Enumerable Sets (4.4) A Universal Program (4) The Parameter Theorem (4.5) Diagonalization, Reducibility, and Rice's Theorem (4.6, 4.7) K Is r.e. but Not Recursive Theorem 4.7. K is r.e. but not recursive. Proof. By the universality theorem, Φ(n; n) is partially computable, hence K is r.e. If K¯ were also r.e., then by the enumeration theorem, K¯ = Wi for some i. We then arrive at i 2 K , i 2 Wi , i 2 K¯ which is a contradiction.
    [Show full text]
  • Glossary of Complexity Classes
    App endix A Glossary of Complexity Classes Summary This glossary includes selfcontained denitions of most complexity classes mentioned in the b o ok Needless to say the glossary oers a very minimal discussion of these classes and the reader is re ferred to the main text for further discussion The items are organized by topics rather than by alphab etic order Sp ecically the glossary is partitioned into two parts dealing separately with complexity classes that are dened in terms of algorithms and their resources ie time and space complexity of Turing machines and complexity classes de ned in terms of nonuniform circuits and referring to their size and depth The algorithmic classes include timecomplexity based classes such as P NP coNP BPP RP coRP PH E EXP and NEXP and the space complexity classes L NL RL and P S P AC E The non k uniform classes include the circuit classes P p oly as well as NC and k AC Denitions and basic results regarding many other complexity classes are available at the constantly evolving Complexity Zoo A Preliminaries Complexity classes are sets of computational problems where each class contains problems that can b e solved with sp ecic computational resources To dene a complexity class one sp ecies a mo del of computation a complexity measure like time or space which is always measured as a function of the input length and a b ound on the complexity of problems in the class We follow the tradition of fo cusing on decision problems but refer to these problems using the terminology of promise problems
    [Show full text]