We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C.

Similar documents
6. Advanced Topics in Computability

CSCI 270: Introduction to Algorithms and Theory of Computing Fall 2017 Prof: Leonard Adleman Scribe: Joseph Bebel

COMPUTABILITY THEORY AND RECURSIVELY ENUMERABLE SETS

Name: CS 341 Practice Final Exam. 1 a 20 b 20 c 20 d 20 e 20 f 20 g Total 207

9.5 Equivalence Relations

Material from Recitation 1

TAFL 1 (ECS-403) Unit- V. 5.1 Turing Machine. 5.2 TM as computer of Integer Function

Course notes for Data Compression - 2 Kolmogorov complexity Fall 2005

Theory of Languages and Automata

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions.

Chapter 3. Set Theory. 3.1 What is a Set?

Elementary Recursive Function Theory

Recursively Enumerable Languages, Turing Machines, and Decidability

Theory of Computation, Homework 3 Sample Solution

CSE 105 THEORY OF COMPUTATION

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

The Turing Machine. Unsolvable Problems. Undecidability. The Church-Turing Thesis (1936) Decision Problem. Decision Problems

Limitations of Algorithmic Solvability In this Chapter we investigate the power of algorithms to solve problems Some can be solved algorithmically and

Lecture 5: The Halting Problem. Michael Beeson

ECS 120 Lesson 16 Turing Machines, Pt. 2

Matching Theory. Figure 1: Is this graph bipartite?

(a) Give inductive definitions of the relations M N and M N of single-step and many-step β-reduction between λ-terms M and N. (You may assume the

Source of Slides: Introduction to Automata Theory, Languages, and Computation By John E. Hopcroft, Rajeev Motwani and Jeffrey D.

A Note on the Succinctness of Descriptions of Deterministic Languages

Turing Machine Languages

14.1 Encoding for different models of computation

CSE 105 THEORY OF COMPUTATION

2.8 Universal Turing Machines and the Halting Problem

The Encoding Complexity of Network Coding

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

CS 125 Section #4 RAMs and TMs 9/27/16

CHAPTER 2. Graphs. 1. Introduction to Graphs and Graph Isomorphism

3 Fractional Ramsey Numbers

LECTURE 18 - OPTIMIZATION

Module 11. Directed Graphs. Contents

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

Introduction to Sets and Logic (MATH 1190)

STABILITY AND PARADOX IN ALGORITHMIC LOGIC

Point-Set Topology 1. TOPOLOGICAL SPACES AND CONTINUOUS FUNCTIONS

CS21 Decidability and Tractability

A Characterization of the Chomsky Hierarchy by String Turing Machines

Topology Homework 3. Section Section 3.3. Samuel Otten

On Rainbow Cycles in Edge Colored Complete Graphs. S. Akbari, O. Etesami, H. Mahini, M. Mahmoody. Abstract

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

Computer Sciences Department

Functions. How is this definition written in symbolic logic notation?

Lecture 15. Error-free variable length schemes: Shannon-Fano code

1 Elementary number theory

Variants of Turing Machines

Elementary Recursive Function Theory

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Horn Formulae. CS124 Course Notes 8 Spring 2018

31.6 Powers of an element

8 Matroid Intersection

Recognizing Interval Bigraphs by Forbidden Patterns

Examples of P vs NP: More Problems

Theory Bridge Exam Example Questions Version of June 6, 2008

6. Finding Efficient Compressions; Huffman and Hu-Tucker

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected

Outline. Language Hierarchy

Number Theory and Graph Theory

AXIOMS FOR THE INTEGERS

{ 1} Definitions. 10. Extremal graph theory. Problem definition Paths and cycles Complete subgraphs

EDAA40 At home exercises 1

Theorem 2.9: nearest addition algorithm

Turing Machines. A transducer is a finite state machine (FST) whose output is a string and not just accept or reject.

4 Generating functions in two variables

Computable Sets. KR Chowdhary Professor & Head.

Does this program exist? Limits of computability. Does this program exist? A helper function. For example, if the string program is

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial.

2.2 Set Operations. Introduction DEFINITION 1. EXAMPLE 1 The union of the sets {1, 3, 5} and {1, 2, 3} is the set {1, 2, 3, 5}; that is, EXAMPLE 2

1. Relations 2. Equivalence relations 3. Modular arithmetics. ! Think of relations as directed graphs! xry means there in an edge x!

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

K 4 C 5. Figure 4.5: Some well known family of graphs

CS 531: Notes II. January 31, 2014

Enumerations and Turing Machines

Slides for Faculty Oxford University Press All rights reserved.

Rice s Theorem and Enumeration

1 Variations of the Traveling Salesman Problem

CS 275 Automata and Formal Language Theory. First Problem of URMs. (a) Definition of the Turing Machine. III.3 (a) Definition of the Turing Machine

Closure Properties of CFLs; Introducing TMs. CS154 Chris Pollett Apr 9, 2007.

CSE 105 THEORY OF COMPUTATION

CS525 Winter 2012 \ Class Assignment #2 Preparation

2. CONNECTIVITY Connectivity

Algorithms, Games, and Networks February 21, Lecture 12

Topology and Topological Spaces

Theory of Computations Spring 2016 Practice Final Exam Solutions

CS 125 Section #10 Midterm 2 Review 11/5/14

University of Nevada, Las Vegas Computer Science 456/656 Fall 2016

MA651 Topology. Lecture 4. Topological spaces 2

Lecture T4: Computability

The clique number of a random graph in (,1 2) Let ( ) # -subgraphs in = 2 =: ( ) We will be interested in s.t. ( )~1. To gain some intuition note ( )

Complexity Theory. Compiled By : Hari Prasad Pokhrel Page 1 of 20. ioenotes.edu.np

Random Sequences and Recursive Measures

Infinity and Uncountability. Countable Countably infinite. Enumeration

3 No-Wait Job Shops with Variable Processing Times

p x i 1 i n x, y, z = 2 x 3 y 5 z

CSE 120. Computer Science Principles

Transcription:

219 Lemma J For all languages A, B, C the following hold i. A m A, (reflexive) ii. if A m B and B m C, then A m C, (transitive) iii. if A m B and B is Turing-recognizable, then so is A, and iv. if A m B and B is decidable, then so is A Proof. i. Let us choose f(x) = x as the reduction. ii. Let f be reduction of A to B and g a reduction of B to C. In other words, f: A m B, g: B m C. We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C. 220 1. his computable: Let M f and M g be the total Turing machines computing f and g. M REW replaces all symbols to the right of the tape head with and moves the tape head to the beginning of the tape. The total machine depicted in the following figure computes function h. 2. his a reduction: x A f(x) B g(f(x)) = h(x) C, hence, h: A m C. iii. (and iv.) Let f: A m B, M B the recognizer of B and M f the TM computing f. The TM depicted below recognizes language A and it is total whenever M B is. 1

221 x f(x) f(x) g(f(x)) M M f M REW g h(x) The TM computing the composite mapping 222 x f(x) f(x) M f M REW M B The TM recognizing A 2

223 We have already used the following consequence of Lemma J to prove undecidability. Corollary 5.23 If A m B and A is undecidable, then B is undecidable. Let us call language B { 0, 1 }* TR-complete, if 1. Bis Turing-recognizable (TR), and 2. A m Bfor all Turing-recognizable languages A Theorem K The universal language U is TR-complete. Proof. We know that U is Turing-recognizable. Let B be any Turingrecognizable language. Furthermore, let B = L(M B ). Now, B can be reduced to U with the function f(x) = M B, x, which is clearly computable, and for which it holds x B = L(M B ) f(x) = M B, x U. 224 Theorem L Let A be a TR-complete language, B TR, and A m B. Then also B is a TR-complete language. All ' natural'' languages belonging to the difference of TR and decidable languages are TR-complete, but it contains also other languages The class of TR languages is not closed under complementation, thus it has the dual class co-tr = { A TR } TR co-tr = decidable languages (by Theorem 4.22) B { 0, 1 }* is co-tr-complete, if B co-tr and A m B for all A co-tr A language A is co-tr-complete, if and only if the language is TR-complete Language TOT = { M M halts on all inputs } does not belong to either TR or co-tr 3

225 TR-complete co-tr-complete U NE TOT TR decidable co-tr 226 6. Advanced Topics in Computability The Church-Turing thesis gives a universally acceptable definition of algorithm Another fundamental concept in computer science is information No equally comprehensive definition of information is known Several definitions of information are used depending upon the application In the following we present one way of defining information, using computability theory 4

227 6.4 A Definition of Information Consider the following two binary sequences A = 0101010101010101010101010101010101010101 B = 1110010110100011101010000111010011010111 Intuitively, A contains little information: it is merely a repetition of the pattern 01 twenty times In contrast, B appears to contain more information We define the quantity of information contained in an object to be the size of that object s smallest representation or description a precise and unambiguous characterization of the object so that we may recreate it from the description alone Sequence A contains little information: it has a small description Sequence B apparently contains more information because it seems to have no concise description 228 We may always describe an object (e.g., string) by placing a copy of the object directly into the description This type of a description is never shorter than the object itself Neither does it tell us anything about its information quantity A description that is significantly shorter than the object implies that the information contained within it can be compressed into a small volume Therefore, the amount of information cannot be very large The size of the shortest description determines the amount of information 5

229 Minimal Length Descriptions We describe a binary string x with a Turing machine M and a binary input w to M The length of the description is the combined length of representing M and w: M, w = Mw Definition 6.23 Let x be a binary string. The minimal description of x, denoted d(x), is the shortest string M, w where TM M on input w halts with x on its tape. If several such strings exist, select the lexicographically first among them. The Kolmogorov complexity (also Kolmogorov-Chaitin c. and descriptive c.) of x is K(x) = d(x) 230 In other words, K(x) is the length of the minimal description of x It is intended to capture our intuition for the amount of information in the string x The Kolmogorov complexity of a string is at most a fixed constant more than its length The constant is universal, it is not dependent on the string Theorem 6.24 c x: K(x) x + c Proof Consider the following description of the string x. Let M be a TM that halts as soon as it is started. This machine computes the identity function its output is the same as input. A description of x is simply Mx. Letting c be the length of M completes the proof. 6

231 Theorem 6.24 conforms to our intuition: the information contained by a string cannot be (substantially) more than its length Similarly, the information contained by the string xx is not significantly more than the information contained by x Theorem 6.25 c x: K(xx) K(x) + c Proof Consider the following Turing machine, which expects an input of the form N, w, where N is a TM and w is an input for it. M = On input N, w, where N is a TM and w is a string: 1. Run N on w until it halts and produces an output string s. 2. Output the string ss. A description of xx is Md(x). Recall that d(x) is the minimal description of x. The length of this description is M + d(x), which is c + K(x), where c is the length of M. 232 By the above results we might expect the Kolmogorov complexity of the concatenation xy of two strings x and y to be at most the sum of their individual complexities (plus a fixed constant) That bound, however, cannot be reached The cost of combining two descriptions leads to a greater bound: Theorem 6.26 c x, y: K(xy) 2K(x) + K(y) + c Proof We construct a TM M that breaks its input into two separate descriptions. The bits of the first description d(x) are doubled and terminated with string 01 before the second description d(y) appears. Once both descriptions have been obtained, they are run to obtain the strings x and y and the output xy is produced. The length of this description of xy is clearly twice the complexity of x plus the complexity of y plus a fixed constant describing M. 7

233 A more efficient method of indicating the separation between the two descriptions improves this theorem somewhat Instead of doubling the bits of d(x), we may prepend the length of d(x) as a binary integer that has been doubled to differentiate it from d(x) The description still contains enough information to decode it into the two descriptions of x and y The description now has length at most 2log 2 K(x) + K(x) + K(y) + c 234 Optimality of the Definition Kolmogorov complexity K(x) has an optimality property among all possible ways of defining descriptive complexity with algorithms Consider a general description language to be any computable function p: * * E.g., p could be the programming language LISP (encoded in binary) Define the minimal description of x w.r.t. p denoted d p (x) to be the lexicographically shortest string s where p(s) = x Let K p (x) = d p (x) If, for example, p = LISP, then d LISP (x) is the minimal LISP program that outputs x K LISP (x) is the length of the minimal program 8

235 Theorem 6.27 For any description language p, a fixed constant c exists that depends only on p, where x: K(x) K p (x) + c Proof: Take any description language p and consider the following Turing machine: M = On input w: Output p(w). Then Md p (x) is a description of x whose length is at most the fixed constant M greater than d p (x). Let p = LISP. Suppose that x has a short description w in LISP. Let M be a TM that can interpret LISP and use the LISP program w for x as input to M. Then M, w is a description of x that is only a fixed amount M larger than the LISP description of x 236 Incompressible Strings and Randomness For some strings the minimal description may be much shorter than the string itself (if the information in the string appears sparsely or redundantly) Do some strings lack short descriptions? I.e., is the minimal description of some strings actually as long as the string itself? Such strings exist: They cannot be described more concisely than simply writing them out explicitly Definition 6.28 Say that string x is c-compressible if K(x) x c. If x is not c-compressible, we say that x is incompressible by c. If x is incompressible by 1, we say that x is incompressible. 9

237 Theorem 6.29 Incompressible strings of every length exist. Proof: The number of distinct binary strings of length n is 2 n. Each description is a binary string, so the number of descriptions of length < n is at most the sum of the number of strings of each length up to n 1: n1 i0 i n 2 1 2 4 2 n 2 1 The number of short descriptions is less than the number of strings of length n. Therefore at least one string of length n is incompressible. 1 Corollary 6.30 At least 2 n 2 n c+1 + 1 strings of length n are incompressible by c. 238 Incompressible strings have many properties we would expect to find in randomly chosen strings: For example, any incompressible string of length n has roughly an equal number of 0s and 1s The length of its longest run of 0s is approx. log 2 n Any computable property that holds for almost all strings also holds for all sufficiently long incompressible strings A property of strings is simply a function that maps strings to the truth values A property holds for almost all strings if the fraction of strings of length n on which it is false approaches 0 as n grows large Also a randomly chosen long string is likely to satisfy a computable property that holds for almost all strings 10

239 Theorem 6.31 Let f be a computable property that holds for almost all strings. Then for any b > 0, the property f is False on only finitely many strings that are incompressible by b. Proof: Let us consider the following algorithm: M = On input i, a binary integer: 1. Find the ith string s where f(s) = False, considering the strings ordered lexicographically. 2. Output string s. We can use M to obtain short descriptions of strings that fail to have property f as follows. For any such string x, let i x be the index of x on a list of all strings that fail to have property f, ordered lexicographically. Then M, i x is a description of x with length i x + c. Because only few strings fail to have property f, the index of x is small and its description is correspondingly short. 240 Fix any number b > 0. Select n such that at most a 1/2 b+c+1 fraction of strings of length n or less fail to have property f. All sufficiently large n satisfy this condition because f holds for almost all strings. Let x be a string of length n that fails to have property f. We have 2 n+1 1 strings of length n or less, so i x n 2 2 1 1 2 bc1. nbc Therefore, i x n b c, so the length of M, i x is at most (n b c) + c = n b, which implies that K(x n b. Thus, every sufficiently long x that fails to have property f is compressible by b. Hence, only finitely many strings that fail to have property f are incompressible by b. 11

241 Examples of incompressible strings? Unfortunately, Kolmogorov complexity is not computable (exercises next week) No algorithm can decide in general whether strings are incompressible (exercises next week) Indeed, no infinite subset of them is Turing-recognizable So we have no way of obtaining long incompressible strings In any case, we would have no way to determine whether a string is incompressible even if we could somehow obtain such The following theorem describes certain strings that are nearly incompressible, but doesn t provide a way to exhibit them explicitly 242 Theorem 6.32 For some constant b, for every string x, the minimal description d(x) of x is incompressible by b. Proof: Consider the following TM: M = On input R, y, where R is a TM and y is a string: 1. Run R on y and reject if its output isn t of the form S, z 2. Run S on z and halt with its output on the tape. Let b be M +1. We show that b satisfies the claim. Suppose to the contrary that d(x) is b-compressible for some string x. Then K(d(x)) = d(d(x)) d(x) b. But then Md(d(x)) is a description of x whose length is at most M + d(d(x)) (b 1) + ( d(x) b) = d(x) 1. This description of x is shorter than d(x), contradicting the latter s minimality. 12