Computability Theory

Similar documents
Introduction to Languages and Computation

Lecture 13: Foundations of Math and Kolmogorov Complexity

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

CS154, Lecture 12: Kolmogorov Complexity: A Universal Theory of Data Compression

Computability Theory

,

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Computational Models Lecture 9, Spring 2009

CS 125 Section #10 (Un)decidability and Probability November 1, 2016

Decidability: Church-Turing Thesis

CISC 876: Kolmogorov Complexity

Finish K-Complexity, Start Time Complexity

Introduction to Turing Machines. Reading: Chapters 8 & 9

Lecture Notes: The Halting Problem; Reductions

1 Showing Recognizability

1 Reducability. CSCC63 Worksheet Reducability. For your reference, A T M is defined to be the language { M, w M accepts w}. Theorem 5.

Introduction to Turing Machines

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

17.1 The Halting Problem

Final Exam Comments. UVa - cs302: Theory of Computation Spring < Total

Computational Models Lecture 8 1

Decidability and Undecidability

Computational Models Lecture 8 1

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

CSCI3390-Lecture 6: An Undecidable Problem

CSE 105 THEORY OF COMPUTATION

Undecidable Problems and Reducibility

CS 361 Meeting 26 11/10/17

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 8 Nancy Lynch

CS154, Lecture 10: Rice s Theorem, Oracle Machines

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 10 Nancy Lynch

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch]

Computational Models Lecture 8 1

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

Turing Machines Part III

q FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY. FLAC (15-453) Spring L. Blum. REVIEW for Midterm 2 TURING MACHINE

UNIT-VIII COMPUTABILITY THEORY

Decidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff

uring Reducibility Dept. of Computer Sc. & Engg., IIT Kharagpur 1 Turing Reducibility

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability

Computability Theory. CS215, Lecture 6,

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

V Honors Theory of Computation

Theory of Computation

Mapping Reducibility. Human-aware Robotics. 2017/11/16 Chapter 5.3 in Sipser Ø Announcement:

SD & Turing Enumerable. Lecture 33: Reductions and Undecidability. Lexicographically Enumerable. SD & Turing Enumerable

TURING MAHINES

Most General computer?

Computability Crib Sheet

Computation. Some history...

Reductions in Computability Theory

Mapping Reductions. Mapping Reductions. Introduction to Computability. Theory. Mapping Reductions. Lecture13: Mapping. Reductions

Non-emptiness Testing for TMs

Turing Machines, diagonalization, the halting problem, reducibility

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK

Turing Machine Recap

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

CSE 105 THEORY OF COMPUTATION

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis

The Turing machine model of computation

About the relationship between formal logic and complexity classes

CPSC 421: Tutorial #1

Computability and Complexity

Theory of Computation (IX) Yijia Chen Fudan University

Computability and Complexity

Turing Machines (TM) The Turing machine is the ultimate model of computation.

CSE 105 THEORY OF COMPUTATION. Spring 2018 review class

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010

Homework 8. a b b a b a b. two-way, read/write

Lecture 20: conp and Friends, Oracles in Complexity Theory

Complexity Theory Part I

CS154, Lecture 17: conp, Oracles again, Space Complexity

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

CSCE 551: Chin-Tser Huang. University of South Carolina

CS20a: Turing Machines (Oct 29, 2002)

A version of for which ZFC can not predict a single bit Robert M. Solovay May 16, Introduction In [2], Chaitin introd

Decidability: Reduction Proofs

Gödel s Incompleteness Theorem. Overview. Computability and Logic

On Rice s theorem. Hans Hüttel. October 2001

Kolmogorov complexity and its applications

Models. Models of Computation, Turing Machines, and the Limits of Turing Computation. Effective Calculability. Motivation for Models of Computation

Kolmogorov complexity

A Note on Turing Machine Design

AND RANDOMNESS1 by P. Martin-Lof University of Stockholm

Decidable Languages - relationship with other classes.

Kolmogorov complexity and its applications

CSE 105 THEORY OF COMPUTATION

Decidability (What, stuff is unsolvable?)

CS151 Complexity Theory. Lecture 1 April 3, 2017

Turing Machines. Lecture 8

Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage?

4.2 The Halting Problem

Turing Machines. Reading Assignment: Sipser Chapter 3.1, 4.2

Reading Assignment: Sipser Chapter 3.1, 4.2

Theory of Computation

The Church-Turing Thesis

CS5371 Theory of Computation. Lecture 14: Computability V (Prove by Reduction)

15-251: Great Theoretical Ideas in Computer Science Fall 2016 Lecture 6 September 15, Turing & the Uncomputable

Transcription:

Computability Theory Cristian S. Calude May 2012 Computability Theory 1 / 1

Bibliography M. Sipser. Introduction to the Theory of Computation, PWS 1997. (textbook) Computability Theory 2 / 1

Supplementary bibliography 1 A. A. Abbott, C. S. Calude, K. Svozil. A quantum random oracle, in S. B. Cooper, J. van Leeuwen (eds.). Alan Turing, His Work and Impact, Elsevier, Amsterdam, 2012, to appear. C. S. Calude. Incompleteness: A Personal Perspective, Google Technical Talk, Mountainview, USA, 4 November 2008, http://www.youtube.com/watch?v=tyjmit422yq. J. P. Dowling. To compute or not to compute? Nature 439, 23 February 2006, 919 920. Computability Theory 3 / 1

Supplementary bibliography 2 R. Lipton and K. Regan. Random Axioms and Gödel Incompleteness, Lipton s blog: A Personal View of the Theory of Computation, http://rjlipton.wordpress.com/2011/ 03/30/random-axioms-and-gdel-incompleteness/, March 30, 2011. H. Zenil (ed.). Randomness Through Computation, World Scientific, Singapore, 2011. S. Wolfram. The New Kind of Science, Wolfram Media, 2002, http://www.wolframscience.com. Hypercomputation Research Network, http://www.hypercomputation.net. Computability Theory 4 / 1

Church-Turing thesis revisited 1 The Church-Turing thesis (formerly known as Church s thesis) says that every intuitively computable function is computable by some Turing machine. There are conflicting points of view about the Church-Turing thesis... Computability Theory 5 / 1

Church-Turing thesis revisited 2 (1) There has never been a proof for Church-Turing thesis; in fact it cannot be proven. The evidence for its validity comes from the fact that every realistic model of computation, yet discovered, has been shown to be equivalent. (2) A device which could answer questions beyond those that a Turing machine can answer would disprove the Church-Turing thesis. No such convincing device has been found (yet). Hypercomputation is searching for such a device. Computability Theory 6 / 1

Physical Church-Turing thesis or Here are two formulations out of a much larger set: every real-world computation can be translated into an equivalent computation involving a Turing machine any physical process can be simulated by some Turing machine. Both formulations would be falsified by the existence of genuine random processes. A. Turing: a machine with a random element can do more than a Turing Machine (see Turing 1950, pp. 438 439). What is more? Computability Theory 7 / 1

Wolfram s principle of computational equivalence Almost all processes that are not obviously simple can be viewed as computations of equivalent sophistication. In detail, the principle of computational equivalence says that: the systems found in nature can perform computations up to a maximal ( universal ) level of computational power, and that most systems do in fact attain this maximal level of computational power, so most systems are computationally equivalent. For example, the workings of the human brain or the evolution of weather systems can, in principle, compute the same things as a computer. Computability Theory 8 / 1

Recap A TM = { M, w : M is a TM and M accepts w}. HALT TM = { M, w : M is a TM and M halts on input w}. Theorem 4.11 A TM is undecidable. Theorem 5.1 HALT TM is undecidable. Computability Theory 9 / 1

Undecidable problems 1 The strategy used in the proof of undecidability of HALT TM was the following: we assumed that HALT TM is decidable and use that assumption to show that A TM is decidable, contradicting Theorem 4.11. We will use this method to prove the undecidability of other problems. Computability Theory 10 / 1

Undecidable problems 2 E TM = { M : M is a TM and L(M) = }. Theorem 5.2 E TM is undecidable. Proof. First we construct the auxiliary TM M 1 based on a TM M and string w: M 1 = On input string x: 1. If x w, reject. 2. If x = w, run M on input w and accept if M does. Computability Theory 11 / 1

Undecidable problems 3 Proof of Theorem 5.2 continued. Assume that TM R decides E TM and construct TM S that decides A TM : S = On input M, w, an encoding of a TM M and a string w: 1. Use the description of M and w to construct the TM M 1 described before. 2. Run R on input M 1. 3. If R accepts, reject; if R rejects, accept. If R were a decider for E TM, S would be a decider for A TM, a contradiction. Computability Theory 12 / 1

Undecidable problems 4 EQ TM = { M 1, M 2 : M 1 and M 2 are TMs and L(M 1 ) = L(M 2 )}. Theorem 5.4 EQ TM is undecidable. Proof. Let R decide EQ TM and construct TM S to decide E TM : S = On input M, where M is a TM: 1. Run R on input M, M 1, where M 1 is a TM that rejects all inputs. 2. If R accepts, accept; if R rejects, reject. If R decides EQ TM, S decides E TM, which by Theorem 5.2 is a contradiction. Computability Theory 13 / 1

Mapping reducibility 1 The notion of reducing one problem to another may be defined formally in one of several ways. Our choice is a simple type of reducibility called mapping reducibility or many-one reducibility. A problem A can be reduced to a problem B by using a mapping reducibility if there is a computable function that converts instances of problem A to instances of problem B. If we have such a conversion function we can solve A with a solver for B. Reason: any instance of A can be solved by first using the reduction to convert it to an instance of B and then applying the solver for B. Computability Theory 14 / 1

Mapping reducibility 2 A function f : Σ Σ is called computable if some TM M, on every input w, halts with f (w) on its tape. All usual arithmetic operations on integers are computable functions. All usual string operations are computable functions. Computable functions may be transformations of TM descriptions. For example, the function that takes an input string w and returns 1 if w = M is an encoding of a TM or returns 0 in the opposite case, is computable. Computability Theory 15 / 1

Formal definition of mapping reducibility 1 Language A is mapping reducible to language B, written A m B, if there is a computable function f : Σ Σ, where for every w Σ w A f (w) B. The function f is called the reduction of A to B. To test whether w A we use the reduction f to map w to f (w) and test whether f (w) B. Computability Theory 16 / 1

Formal definition of mapping reducibility 2 Theorem 5.22 If A m B and B is decidable, then A is decidable. Proof. Let M be the decider for B and f be the reduction from A to B. Here is a decider N for A: N = On input w: 1. Compute f (w). 2. Run M on input f (w) and output whatever M outputs. So, w A iff f (w) B because f is a reduction from A to B. Computability Theory 17 / 1

Formal definition of mapping reducibility 3 Corollary If A m B and A is undecidable, then B is undecidable. Proof. Assume by contradiction that B is decidable. Then, by Theorem 5.22, A is decidable, a contradiction. Computability Theory 18 / 1

Formal definition of mapping reducibility 4 Theorem 5.28 If A m B and B is Turing-recognisable, then A is Turing-recognisable. Proof. The proof is the same as that of Theorem 5.22, except that M and N are recognisers instead of deciders. Let M be the recogniser for B and f be the reduction from A to B. The recogniser N for A is: N = On input w: 1. Compute f (w). 2. Run M on input f (w) and output whatever M outputs. So, w A iff f (w) B because f is a reduction from A to B. Computability Theory 19 / 1

Formal definition of mapping reducibility 5 Corollary 5.29 If A m B and A is not Turing-recognisable, then B is not Turing-recognisable. Proof. Assume A m B. If A is not Turing-recognisable then B cannot be Turing-recognisable because by Theorem 5.28 A would be Turing-recognisable. Computability Theory 20 / 1

Example 1 Example 5.24 A TM m HALT TM. Proof. We will construct a computable function f that takes input of the form M, w and returns output of the form M, w, where M, w A TM M, w HALT TM. The following TM F computes f. F = On input M, w : 1. Construct the following machine M. M = On input x: 1. Run M on x. 2. If M accepts, accept. 3. If M rejects, enter a loop. 2. Output M, w. Computability Theory 21 / 1

Example continued 1 Improperly formed input strings i.e. inputs not of the form M, w (where M is a TM and w is a string) can be detected and in such a case F outputs a string not in HALT TM. How does the proof compare with the proof of Theorem 5.1? Computability Theory 22 / 1

Example 2 Example 5.26 E TM m EQ TM. Proof. The reduction f maps the input M to the output M, M 1, where M 1 is the TM that rejects all inputs (revisit the proof of Theorem 5.4). Computability Theory 23 / 1

Example 3 Example 5.27 A TM m E TM. Proof. From the reduction in the proof of Theorem 5.2.2, we construct a function f that takes input M, w and produces output M 1, where M 1 is the TM described in that proof. As M accepts w iff L(M 1 ), f is a mapping reduction from A TM to E TM. Computability Theory 24 / 1

Example 4 Example A If A TM m B, then B is not Turing-recognisable. Proof. As A TM m B, we have A TM m B = B, so by Corollary 4.23 and Corollary 5.29, B is not Turing-recognisable. Example B E TM is not Turing-recognisable. Proof. Use Example A and Example 5.27. Computability Theory 25 / 1

Example 5 Example C If A m B, A m B, and B is Turing-recognisable, then A is decidable. Proof. First, from A m B and B is Turing-recognisable we deduce, using Theorem 5.28, that A is Turing-recognisable. If A m B, then A m B = B and B is Turing-recognisable we deduce, using Theorem 5.28, that A is Turing-recognisable. Since A and A are Turing-recognisable, A is decidable (Theorem 4.22). Computability Theory 26 / 1

Example 6 Example D A TM m E TM. Proof. In Example C we put: A = A TM, B = E TM. By Example 5.27, A TM m E TM. Since the language E TM is Turing-recognisable, if A TM m E TM, then by Example C, A TM is decidable, a contradiction (Theorem 4.9). Computability Theory 27 / 1

The remarkable language EQ TM 1 Recall that EQ TM = { M 1, M 2 : M 1 and M 2 are TMs and L(M 1 ) = L(M 2 )}. Theorem 5.30 EQ TM is not Turing-recognisable nor co-turing-recognisable. Proof. First we show that EQ TM is not Turing-recognisable by showing that A TM m EQ TM. Computability Theory 28 / 1

The remarkable language EQ TM 2 The reducing function f works as follows. F = On input M, w where M is a TM and w a string: 1. Construct the following two machines M 1 and M 2. M 1 = On any input: 1. Reject. M 2 = On any input: 1. Run M on w. If it accepts, accept. 2. Output M 1, M 2. Here, M 1 accepts nothing. If M accepts w, M 2 accepts everything, and so the two TMs are not equivalent. Conversely, if M doesn t accept w, M 2 accepts nothing, and the TMs are equivalent. Computability Theory 29 / 1

The remarkable language EQ TM 3 To show that EQ TM is not Turing-Recognisable we give a reduction from A TM to the complement of EQ TM which is simply EQ TM. Hence we show that A TM m EQ TM. The following TM G computes the reducing function g: G = The input is M, w where M is a TM and w a string: 1. Construct the following two machines M 1 and M 2. M 1 = On any input: 1. Accept. M 2 = On any input: 1. Run M on w. If it accepts, accept. 2. Output M 1, M 2. Computability Theory 30 / 1

The remarkable language EQ TM 4 The only difference between f and g is in the construction of the TM machine M 1. In f, machine M 1 always rejects, whereas in g it always accepts. In both f and g, M accepts w iff M 2 always accepts. In g, M accepts w iff L(M 1 ) = L(M 2 ) showing that A TM m EQ TM. Computability Theory 31 / 1

Rice s theorem 1 Rice s theorem (Problem 5.28) Let P be a language consisting of TM descriptions where P fulfils two conditions. First, P is nontrivial it contains some, but not all, TM descriptions. Second, P is a property of the TM s language whenever L(M 1 ) = L(M 2 ), we have M 1 P iff M 2 P. Here M 1 and M 2 are any TMs. Then, P is undecidable. Proof. Assume for the sake of a contradiction that P is decidable and let R P be a TM that decides P. We will show how to use R P to decide A TM obtaining a contradiction (Theorem 4.11). Computability Theory 32 / 1

Rice s theorem 2 Proof of Rice s theorem continued. First let T be a TM such that L(T ) =. You may assume that T P without loss of generality (otherwise proceed with P instead of P). Secondly, because P is not trivial, there exists a TM T with T P. Computability Theory 33 / 1

Rice s theorem 2 Proof of Rice s theorem continued. The following TM S decides A TM. S = On input M, w : 1. Use M and w to construct the following TM M w. M w = On input x: 1. Simulate M on w. If it halts and rejects, reject. If it accepts, proceed to stage 2. 2. Simulate T on x. If it accepts, accept. 2. Use TM R P to determine whether M w P. If YES, accept. If NO, reject. Computability Theory 34 / 1

Rice s theorem 3 Proof of Rice s theorem continued. TM M w simulates T if M accepts w, hence { L(T ), if M accepts w, L(M w ) =, if M does not accept w, { L(T ), if M accepts w, = L(T ), if M does not accept w. Therefore M w P iff M accepts w. Computability Theory 35 / 1

Rice s theorem 4 Corollary to Rice s Theorem The following languages 1 { M : L(M) = }, 2 { M : L(M) = infinite}, 3 { M : L(M) = finite}, 4 { M : L(M) = regular}, 5 { M : 10 L(M)}, 6 { M : L(M) = Σ }. are undecidable. Proof. Each property specified in the languages above is a nontrivial property of the TM s language so it satisfies Rice s Theorem. Computability Theory 36 / 1

Turing reducibility 1 The mapping reducibility was introduced to model the idea of reducing one problem to another one: if A is reducible to B, and we find a solution to B, we can obtain a solution to A. We now test its adequacy for the languages A TM and A TM. Intuitively, A TM and A TM are reducible to one another because a solution to either could be used to solve the other by simply reversing the answer. However, we know that A TM m A TM because A TM is Turing-recognisable but A TM is not. Computability Theory 37 / 1

Turing reducibility 2 Definition 6.18 An oracle for a language B is an external device that is capable of reporting whether any string w is a member of B. According to Turing We shall not go any further into the nature of this oracle apart from saying that it cannot be a machine. An oracle Turing machine is a modified TM that has the additional capability of querying an oracle. We write M B to describe an oracle TM that has an oracle for language B. We accept the term oracle as a magical ability and consider oracles for possibly non-decidable languages. Computability Theory 38 / 1

Turing reducibility 3 Example 6.19 Consider an oracle for A TM. An oracle TM M A TM can decide undecidable languages languages, for example, A TM itself, by querying the oracle about the input. The following oracle TM T A TM decides E TM. T A TM = On input M, where M is a TM: 1. Construct the following TM N. N = On any input: 1. Run M in parallel on all strings in Σ. 2. If M accepts any of these strings, accept. 2. Query the oracle to determine whether N, 0 A TM. 3. If the oracle answers NO, accept; if YES, reject. Computability Theory 39 / 1

Turing reducibility 4 Example 6.19 continued. If L(M), then N will accept every input and, in particular, input 0. Hence the oracle will answer YES, and T A TM Conversely, if L(M) =, then L(N) =, T A TM will reject. will accept. Thus T A TM decides E TM. We also say that E TM is decidable relative to A TM. Computability Theory 40 / 1

Turing reducibility 5 Definition 6.20 Language A is Turing reducible to language B, written A T B, if A is decidable relative to B. Example 6.19 shows that E TM is Turing reducible to A TM. Computability Theory 41 / 1

Turing reducibility 6 Turing reducibility satisfies our intuitive concept of reducibility: Theorem 6.21 If A T B and B is decidable, then A is decidable. Proof. If B is decidable, then we may replace the oracle for B by an actual TM that decides B. Thus we may replace the oracle TM M B that decides A by an ordinary TM D that decides A. Fact If A m B, then A T B, because the mapping reduction may be used to give an oracle TM that decides A relative to B. Computability Theory 42 / 1

Turing reducibility 7 Theorem HALT TM is Turing-complete, i.e. a) it is Turing-recognisable and b) it can decide any Turing-recognisable set. Proof. The language HALT TM is Turing-recognisable (same type of proof as in Theorem 4.11). Let B be Turing-recognisable by a TM M. The following TM, R HALT TM decides B: R HALT TM = On input M, w : 1. If M, w is in HALT TM, then run M on w and produce the same output; 2. If M, w is not in HALT TM, then reject. Computability Theory 43 / 1

Berry s paradox The least integer not definable by an English sentence with less than fifteen words. The sentence above has 14 words! Computability Theory 44 / 1

Probability theory paradox If we toss an unbiassed coin 100 times then, according to probability theory, 100 heads are just as probable as any other outcome. Do you really believe this? Probability theory does not explain all mysteries that are sometimes supposed to do! Computability Theory 45 / 1

Four strings Consider the information content of the following strings: A= 0101010101010101010101010101010101010101010101010101010101010101 B= 0101101010100101010110101010010101011010101001010101101010100101 C= 1010001000011000110001010110100110100000100010010011000010001000 D= 0100100010111101001011110100111101001110111100111010000010001011 Computability Theory 46 / 1

Minimal length descriptions 1 Try to memorise as many strings in the previous slide as you can. Which strings contain more information? Why? Computability Theory 47 / 1

Minimal length descriptions 2 We define the quantity of information contained in an object (= binary string, for this discussion) to be the size of that object s smallest description a precise and unambiguous characterisation of the object so that we may recreate it from the description alone. Why do we consider only the shortest description when determining a string s quantity of information? Computability Theory 48 / 1

Minimal length descriptions 2 We can easily describe a string by placing a copy of itself directly into the description. Thus we can obviously describe the preceding string D with a table that is 64 bits long containing a copy of D. This description does not tell us anything about its information quantity. A significantly shorter description implies that the information contained within it can be compressed into a small volume, and so the amount of information cannot be very large. Hence the size of the shortest description determines the amount of information. Computability Theory 49 / 1

Minimal length descriptions 3 In what follows we use TM computations to describe strings. We describe a string x with a TM M and a binary input w to M. The length of the description is the combined length of representing M and w: M, w = M w. Because we use prefix-free encoding, from M, w we can uniquely extract its components M and w, and M, w = 2 M + w. Computability Theory 50 / 1

Minimal length descriptions 4 Definition 6.3 Let x be a binary string. The minimal description of x, written 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 descriptive complexity or Kolmogorov-Chaitin complexity of x, written K(x), is K(x) = d(x). Computability Theory 51 / 1

Minimal length descriptions 5 Theorem 6.24 c x [K(x) x + c]. Proof. Consider the following description of the string x. Let M(x)=x be a TM that computes the identity function. A description of x is simply M, x which has the length: M, w = 2 M + x = x + c, where c = 2 M is a fixed constant depending on the particular M used (not on x). Computability Theory 52 / 1

Minimal length descriptions 6 Theorem 6.25 c x [K(xx) K(x) + c]. Proof. Consider the following TM M, 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 : 1. Run N on w until it halts and produces an output string s. 2. Output the string ss. A description of xx is M d(x). As d(x) is a minimal description of x, the length of this description is where c = M. M d(x) = M + d(x) = c + K(x), Computability Theory 53 / 1

Minimal length descriptions 7 Theorem 6.26 c x, y [K(xy) 2K(x) + K(y) + c]. Proof. We construct a TM M that breaks its input w into two separate descriptions. The bits of the first description d(x) are all doubled, string 01 follows and finally the description d(y). Once both descriptions have been obtained, they are run to obtain the strings x and y and output xy. The length of this description of xy is the sum 2K(x) + K(y) + the description for M. Computability Theory 54 / 1

Minimal length descriptions 8 Theorem (Problem 6.22) The function K is not computable. Proof. Assume for a contradiction that K is computable. Fix m 0 and define f m = min[x : K(x) > m], where min is in taken according to the lexicographical order. As K is unbounded, for every m there exists a string x such that K(x) > m. Because K is computable, f m is also computable, say, by a TM R. Clearly, R log 2 (m) + constant < m, for large enough m and R ε is a description of a string x with K(x) > m, a contradiction. Computability Theory 55 / 1

Optimality of the definition 1 K(x) has an optimality property among all possible ways of defining descriptive complexity with algorithms. A general description language is a computable function p : Σ Σ ; the minimal description of x with respect to p, written d p (x), is the lexicographically shortest string s where p(s) = x and K p (x) = d p (x). For example, for LISP (encoded into binary) as the description language, d L1SP (x) is the minimal LISP program that outputs x, and K L1SP (x) is the length of the minimal program. Computability Theory 56 / 1

Optimality of the definition 2 Theorem 6.27 For any descriptional language p, a fixed constant c exists that depends only on p, such that x [K(x) K p (x) + c]. Proof. Let p be a description language and consider the following TM M: M = On input w: 1. Output p(w). Then M d p (x) is a description of x and where c = M. M d p (x) = K p (x) + M = K p (x) + c, Computability Theory 57 / 1

Incompressible strings and randomness 1 Theorem 6.24 shows that a string s minimal description is never much longer than the string itself. Of course for some strings, the minimal description may be much shorter if the information in the string appears sparsely or redundantly. But, do some strings lack short descriptions? Definition 6.28 A string x is c-compressible (1 c < x ) 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. Do incompressible strings exist? Computability Theory 58 / 1

Incompressible strings and randomness 2 Theorem 6.29 Incompressible strings of every length exist. Proof. Each description is a binary string, so the number of descriptions of length less than n is at most the sum of the number of strings length 0, 1,... up to n 1: 1 + 2 + 4 + + 2 n 1 = 2 n 1. The number of short descriptions is less than the number of strings of length n which is 2 n, so at least one string of length n is incompressible. Computability Theory 59 / 1

Incompressible strings and randomness 3 Corollary 6.30 At least 2 n 2 n c+1 + 1 strings of length n are incompressible by c. Proof. As in the proof of Theorem 6.29, at most 2 n c+1 1 strings of length n are c-compressible (at most that many descriptions of length at most n c exist), hence the remaining 2 n (2 n c+1 1) strings of length n are incompressible by c. Incompressible strings have many properties of random strings, i.e. the set of incompressible strings is not computable, in a long enough incompressible string the numbers of 0s and 1s are roughly equal and the length of its longest run of 0s is about the log of the string s length. Computability Theory 60 / 1

Incompressible strings and randomness 4 The probability that a string x of length n is c-compressible is #{ x = n : K(x) n c} 2 n (2 n c+1 1) 2 n < 2 1 c, so the probability that a string x of length n is not c-compressible is #{ x = n : K(x) n c} 2 n 1 2 1 c. For example, the probability that a string x of length n is not n/2-compressible is smaller than 2 1 n/2 which converges to 0 when n tends to infinity, while the probability that a string x of length n is n/2-compressible is larger than 1 2 1 n/2 which converges to 1 when n tends to infinity. Computability Theory 61 / 1

Probability theory paradox revisited 1 According to probability theory every string of length 100 has the same probability 2 100 = 1 1267650600228229401496703205376 7.88861 10 31, The probability of getting a 50-compressible string of length 100 is at most 2 100 50+1 1 2 100 1.77636 10 15. Computability Theory 62 / 1

Probability theory paradox revisited 2 The probability of getting a 100-bit string which is not 50-compressible is at least far higher than 2 100. 1 2100 50+1 1 2 100 0.99, Computability Theory 63 / 1

Incompressible strings and randomness 5 Theorem (undecidability) For every b > 0, the set R b = {x : K(x) > x b} is not Turing-recognisable, in particular, undecidable. Proof. Assume for the sake of a contradiction that R b is enumerated by a TM M. Let E be a computable infinite subset of R b and define the function (defined on a non-negative integer represented in binary): p(n) = min[x E : x > n], where min is taken according to the fixed enumeration given by M. Computability Theory 64 / 1

Incompressible strings and randomness 6 Theorem (undecidability) continued. The function p has the following properties: 1 As E R b is computable and infinite, p is computable. 2 For each n, p(n) E R b, so K(p(n)) p(n) b > n b. 3 Finally, in view of Theorem 6.27, there exists constant c such that for all n: n b < K(p(n)) K p (p(n)) + c log 2 (n) + c + 1, a contradiction. Computability Theory 65 / 1

Incompressible strings and randomness 7 Corollary (Problem 6.23) The set of incompressible strings is undecidable. Proof. Put b = 1 in the above Theorem. Theorem (Problem 6.24) The set of incompressible strings contains no infinite Turing-recognisable set. Proof. Use an infinite Turing-recognisable set D R b instead of R b in the proof of the above Theorem. Computability Theory 66 / 1

Incompressible strings provability 1 Consider a formal theory (like Peano arithmetic or ZFC set theory) whose theorems can be enumerated by a TM. Assume: 1 All theorems are true. 2 The theory can express all statements of the form K(x) > m, where x is a string and m > 0 is an integer. Computability Theory 67 / 1

Incompressible strings provability 2 Theorem (Chaitin) There exists a constant c (depending on the formal system only) such that for every theorem of the form K(x) > m we have m < c. Proof. Construct the function computable p (defined on non-negative integers represented in binary) as follows: p(i) = x if K(x) > s is the first theorem (in the order generated by the formal system) of the form K(x) > s with s i. Because all theorems are true, K(p(i)) > s i. In view of Theorem 6.27, there exists a c such that for all i: a contradiction. i s < K(p(i)) K p (p(i)) + c log 2 (i) + c + 1, Computability Theory 68 / 1

Incompressible strings provability 3 Corollary (Gödel) In the context of the above theorem, there exist infinitely many true statements (expressible in the formal theory) which are not theorems (not provable in the formal theory). Proof. First, as K is unbounded, there are infinitely many true statements of the form K(x) > m, all expressible in the formal theory. By Chaitin s Theorem, there exists a constant c such that if K(x) > s is the first theorem generated in the formal theory, then s c. Consequently, no statement in the infinite set { K(x) > m : K(x) > m > c} is a theorem (but each such statement is true). Computability Theory 69 / 1

Oracles Following Definition 6.18 we said: We accept the term oracle as a magical ability and consider oracles for possibly non-decidable languages. Are Turing oracles real or just pure theoretical mathematical notions? Computability Theory 70 / 1

Quantum mechanics Quantum mechanics is a world that appears to behave randomly and is essentially non-deterministic. The failures of a deterministic viewpoint to account for the predictions of quantum mechanics are exemplified by no-go theorems which exclude the possibility of assigning hidden variables that predict the outcome of quantum measurements. Computability Theory 71 / 1

Quantum random number generators Can be easily and reliably produced: A photon generated by a source beamed to a semitransparent mirror is reflected or transmitted with 50 per cent chance, and these measurements can be translated into a string of quantum random bits. Computability Theory 72 / 1

Quantum random oracles Let x be the sequence of bits obtained from the concatenation of repeated state preparations and non-trivial measurements. If the experiment is certified by value-indefiniteness roughly speaking, the variable measured has no definite value 0 or 1 before measurement then the sequence x is bi-immune, i.e. no Turing machine can compute more than finitely many bits of it. Such experiments exist, so it follows that x is a real oracle! Computability Theory 73 / 1

Quantum random oracle Turing machines A Turing machine working with the oracle x trespasses the Turing barrier. Does this fact challenge the Church-Turing thesis? Open problem: Does a Turing machine working with the oracle x solve the halting problem? Computability Theory 74 / 1