Lecture 22: More Reductions Overview 22.1 NP, NP-Hard and NP
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
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. -
NP-Completeness: Reductions Tue, Nov 21, 2017
CMSC 451 Dave Mount CMSC 451: Lecture 19 NP-Completeness: Reductions Tue, Nov 21, 2017 Reading: Chapt. 8 in KT and Chapt. 8 in DPV. Some of the reductions discussed here are not in either text. Recap: We have introduced a number of concepts on the way to defining NP-completeness: Decision Problems/Language recognition: are problems for which the answer is either yes or no. These can also be thought of as language recognition problems, assuming that the input has been encoded as a string. For example: HC = fG j G has a Hamiltonian cycleg MST = f(G; c) j G has a MST of cost at most cg: P: is the class of all decision problems which can be solved in polynomial time. While MST 2 P, we do not know whether HC 2 P (but we suspect not). Certificate: is a piece of evidence that allows us to verify in polynomial time that a string is in a given language. For example, the language HC above, a certificate could be a sequence of vertices along the cycle. (If the string is not in the language, the certificate can be anything.) NP: is defined to be the class of all languages that can be verified in polynomial time. (Formally, it stands for Nondeterministic Polynomial time.) Clearly, P ⊆ NP. It is widely believed that P 6= NP. To define NP-completeness, we need to introduce the concept of a reduction. Reductions: The class of NP-complete problems consists of a set of decision problems (languages) (a subset of the class NP) that no one knows how to solve efficiently, but if there were a polynomial time solution for even a single NP-complete problem, then every problem in NP would be solvable in polynomial time. -
Mapping Reducibility and Rice's Theorem
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 9 Nancy Lynch Today • Mapping reducibility and Rice’s Theorem • We’ve seen several undecidability proofs. • Today we’ll extract some of the key ideas of those proofs and present them as general, abstract definitions and theorems. • Two main ideas: – A formal definition of reducibility from one language to another. Captures many of the reduction arguments we have seen. – Rice’s Theorem, a general theorem about undecidability of properties of Turing machine behavior (or program behavior). Today • Mapping reducibility and Rice’s Theorem • Topics: – Computable functions. – Mapping reducibility, ≤m – Applications of ≤m to show undecidability and non- recognizability of languages. – Rice’s Theorem – Applications of Rice’s Theorem • Reading: – Sipser Section 5.3, Problems 5.28-5.30. Computable Functions Computable Functions • These are needed to define mapping reducibility, ≤m. • Definition: A function f: Σ1* →Σ2* is computable if there is a Turing machine (or program) such that, for every w in Σ1*, M on input w halts with just f(w) on its tape. • To be definite, use basic TM model, except replace qacc and qrej states with one qhalt state. • So far in this course, we’ve focused on accept/reject decisions, which let TMs decide language membership. • That’s the same as computing functions from Σ* to { accept, reject }. • Now generalize to compute functions that produce strings. Total vs. partial computability • We require f to be total = defined for every string. • Could also define partial computable (= partial recursive) functions, which are defined on some subset of Σ1*. -
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. -
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. -
A Probabilistic Anytime Algorithm for the Halting Problem
Computability 7 (2018) 259–271 259 DOI 10.3233/COM-170073 IOS Press A probabilistic anytime algorithm for the halting problem Cristian S. Calude Department of Computer Science, University of Auckland, Auckland, New Zealand [email protected] www.cs.auckland.ac.nz/~cristian Monica Dumitrescu Faculty of Mathematics and Computer Science, Bucharest University, Romania [email protected] http://goo.gl/txsqpU The first author dedicates his contribution to this paper to the memory of his collaborator and friend S. Barry Cooper (1943–2015). Abstract. TheHaltingProblem,the most (in)famous undecidableproblem,has important applications in theoretical andapplied computer scienceand beyond, hencethe interest in its approximate solutions. Experimental results reportedonvarious models of computationsuggest that haltingprogramsare not uniformly distributed– running times play an important role.A reason is thataprogram whicheventually stopsbut does not halt “quickly”, stops ata timewhich is algorithmically compressible. In this paperweworkwith running times to defineaclass of computable probability distributions on theset of haltingprograms in ordertoconstructananytimealgorithmfor theHaltingproblem withaprobabilisticevaluationofthe errorofthe decision. Keywords: HaltingProblem,anytimealgorithm, running timedistribution 1. Introduction The Halting Problem asks to decide, from a description of an arbitrary program and an input, whether the computation of the program on that input will eventually stop or continue forever. In 1936 Alonzo Church, and independently Alan Turing, proved that (in Turing’s formulation) an algorithm to solve the Halting Problem for all possible program-input pairs does not exist; two equivalent models have been used to describe computa- tion by algorithms (an informal notion), the lambda calculus by Church and Turing machines by Turing. The Halting Problem is historically the first proved undecidable problem; it has many applications in mathematics, logic and theoretical as well as applied computer science, mathematics, physics, biology, etc. -
Homework 4 Solutions Uploaded 4:00Pm on Dec 6, 2017 Due: Monday Dec 4, 2017
CS3510 Design & Analysis of Algorithms Section A Homework 4 Solutions Uploaded 4:00pm on Dec 6, 2017 Due: Monday Dec 4, 2017 This homework has a total of 3 problems on 4 pages. Solutions should be submitted to GradeScope before 3:00pm on Monday Dec 4. The problem set is marked out of 20, you can earn up to 21 = 1 + 8 + 7 + 5 points. If you choose not to submit a typed write-up, please write neat and legibly. Collaboration is allowed/encouraged on problems, however each student must independently com- plete their own write-up, and list all collaborators. No credit will be given to solutions obtained verbatim from the Internet or other sources. Modifications since version 0 1. 1c: (changed in version 2) rewored to showing NP-hardness. 2. 2b: (changed in version 1) added a hint. 3. 3b: (changed in version 1) added comment about the two loops' u variables being different due to scoping. 0. [1 point, only if all parts are completed] (a) Submit your homework to Gradescope. (b) Student id is the same as on T-square: it's the one with alphabet + digits, NOT the 9 digit number from student card. (c) Pages for each question are separated correctly. (d) Words on the scan are clearly readable. 1. (8 points) NP-Completeness Recall that the SAT problem, or the Boolean Satisfiability problem, is defined as follows: • Input: A CNF formula F having m clauses in n variables x1; x2; : : : ; xn. There is no restriction on the number of variables in each clause. -
11 Reductions We Mentioned Above the Idea of Solving Problems By
11 Reductions We mentioned above the idea of solving problems by translating them into known soluble problems, or showing that a new problem is insoluble by translating a known insoluble into it. Reductions are the formal tool to implement this idea. It turns out that there are several subtly different variations – we will mainly use one form of reduction, which lets us make a fine analysis of uncomputability. First, we introduce a technical term for a Register Machine whose purpose is to translate one problem into another. Definition 12 A Turing transducer is an RM that takes an instance d of a problem (D, Q) in R0 and halts with an instance d0 = f(d) of (D0,Q0) in R0. / Thus f must be a computable function D D0 that translates the problem, and the → transducer is the machine that computes f. Now we define: Definition 13 A mapping reduction or many–one reduction from Q to Q0 is a Turing transducer f as above such that d Q iff f(d) Q0. Iff there is an m-reduction from Q ∈ ∈ to Q0, we write Q Q0 (mnemonic: Q is less difficult than Q0). / ≤m The standard term for these is ‘many–one reductions’, because the function f can be many–one – it doesn’t have to be injective. Our textbook Sipser doesn’t like that term, and calls them ‘mapping reductions’. To hedge our bets, and for brevity, we’ll call them m-reductions. Note that the reduction is just a transducer (i.e. translates the problem) that translates correctly (so that the answer to the translated problem is the same as the answer to the original). -
Thy.1 Reducibility Cmp:Thy:Red: We Now Know That There Is at Least One Set, K0, That Is Computably Enumerable Explanation Sec but Not Computable
thy.1 Reducibility cmp:thy:red: We now know that there is at least one set, K0, that is computably enumerable explanation sec but not computable. It should be clear that there are others. The method of reducibility provides a powerful method of showing that other sets have these properties, without constantly having to return to first principles. Generally speaking, a \reduction" of a set A to a set B is a method of transforming answers to whether or not elements are in B into answers as to whether or not elements are in A. We will focus on a notion called \many- one reducibility," but there are many other notions of reducibility available, with varying properties. Notions of reducibility are also central to the study of computational complexity, where efficiency issues have to be considered as well. For example, a set is said to be \NP-complete" if it is in NP and every NP problem can be reduced to it, using a notion of reduction that is similar to the one described below, only with the added requirement that the reduction can be computed in polynomial time. We have already used this notion implicitly. Define the set K by K = fx : 'x(x) #g; i.e., K = fx : x 2 Wxg. Our proof that the halting problem in unsolvable, ??, shows most directly that K is not computable. Recall that K0 is the set K0 = fhe; xi : 'e(x) #g: i.e. K0 = fhx; ei : x 2 Weg. It is easy to extend any proof of the uncomputabil- ity of K to the uncomputability of K0: if K0 were computable, we could decide whether or not an element x is in K simply by asking whether or not the pair hx; xi is in K0. -
Self-Referential Basis of Undecidable Dynamics: from the Liar Paradox and the Halting Problem to the Edge of Chaos
Self-referential basis of undecidable dynamics: from The Liar Paradox and The Halting Problem to The Edge of Chaos Mikhail Prokopenko1, Michael Harre´1, Joseph Lizier1, Fabio Boschetti2, Pavlos Peppas3;4, Stuart Kauffman5 1Centre for Complex Systems, Faculty of Engineering and IT The University of Sydney, NSW 2006, Australia 2CSIRO Oceans and Atmosphere, Floreat, WA 6014, Australia 3Department of Business Administration, University of Patras, Patras 265 00, Greece 4University of Pennsylvania, Philadelphia, PA 19104, USA 5University of Pennsylvania, USA [email protected] Abstract In this paper we explore several fundamental relations between formal systems, algorithms, and dynamical sys- tems, focussing on the roles of undecidability, universality, diagonalization, and self-reference in each of these com- putational frameworks. Some of these interconnections are well-known, while some are clarified in this study as a result of a fine-grained comparison between recursive formal systems, Turing machines, and Cellular Automata (CAs). In particular, we elaborate on the diagonalization argument applied to distributed computation carried out by CAs, illustrating the key elements of Godel’s¨ proof for CAs. The comparative analysis emphasizes three factors which underlie the capacity to generate undecidable dynamics within the examined computational frameworks: (i) the program-data duality; (ii) the potential to access an infinite computational medium; and (iii) the ability to im- plement negation. The considered adaptations of Godel’s¨ proof distinguish between computational universality and undecidability, and show how the diagonalization argument exploits, on several levels, the self-referential basis of undecidability. 1 Introduction It is well-known that there are deep connections between dynamical systems, algorithms, and formal systems. -
Halting Problems: a Historical Reading of a Paradigmatic Computer Science Problem
PROGRAMme Autumn workshop 2018, Bertinoro L. De Mol Halting problems: a historical reading of a paradigmatic computer science problem Liesbeth De Mol1 and Edgar G. Daylight2 1 CNRS, UMR 8163 Savoirs, Textes, Langage, Universit´e de Lille, [email protected] 2 Siegen University, [email protected] 1 PROGRAMme Autumn workshop 2018, Bertinoro L. De Mol and E.G. Daylight Introduction (1) \The improbable symbolism of Peano, Russel, and Whitehead, the analysis of proofs by flowcharts spearheaded by Gentzen, the definition of computability by Church and Turing, all inventions motivated by the purest of mathematics, mark the beginning of the computer revolution. Once more, we find a confirmation of the sentence Leonardo jotted despondently on one of those rambling sheets where he confided his innermost thoughts: `Theory is the captain, and application the soldier.' " (Metropolis, Howlett and Rota, 1980) Introduction 2 PROGRAMme Autumn workshop 2018, Bertinoro L. De Mol and E.G. Daylight Introduction (2) Why is this `improbable' symbolism considered relevant in comput- ing? ) Different non-excluding answers... 1. (the socio-historical answers) studying social and institutional developments in computing to understand why logic, or, theory, was/is considered to be the captain (or not) e.g. need for logic framed in CS's struggle for disciplinary identity and independence (cf (Tedre 2015)) 2. (the philosophico-historical answers) studying history of computing on a more technical level to understand why and how logic (or theory) are in- troduced in the computing practices { question: is there something to com- puting which makes logic epistemologically relevant to it? ) significance of combining the different answers (and the respective approaches they result in) ) In this talk: focus on paradigmatic \problem" of (theoretical) computer science { the halting problem Introduction 3 PROGRAMme Autumn workshop 2018, Bertinoro L. -
Lambda Calculus and the Decision Problem
Lambda Calculus and the Decision Problem William Gunther November 8, 2010 Abstract In 1928, Alonzo Church formalized the λ-calculus, which was an attempt at providing a foundation for mathematics. At the heart of this system was the idea of function abstraction and application. In this talk, I will outline the early history and motivation for λ-calculus, especially in recursion theory. I will discuss the basic syntax and the primary rule: β-reduction. Then I will discuss how one would represent certain structures (numbers, pairs, boolean values) in this system. This will lead into some theorems about fixed points which will allow us have some fun and (if there is time) to supply a negative answer to Hilbert's Entscheidungsproblem: is there an effective way to give a yes or no answer to any mathematical statement. 1 History In 1928 Alonzo Church began work on his system. There were two goals of this system: to investigate the notion of 'function' and to create a powerful logical system sufficient for the foundation of mathematics. His main logical system was later (1935) found to be inconsistent by his students Stephen Kleene and J.B.Rosser, but the 'pure' system was proven consistent in 1936 with the Church-Rosser Theorem (which more details about will be discussed later). An application of λ-calculus is in the area of computability theory. There are three main notions of com- putability: Hebrand-G¨odel-Kleenerecursive functions, Turing Machines, and λ-definable functions. Church's Thesis (1935) states that λ-definable functions are exactly the functions that can be “effectively computed," in an intuitive way.