FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

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

Lecture 13: Foundations of Math and Kolmogorov Complexity

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

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

Computability Theory

Introduction to Languages and Computation

,

Finish K-Complexity, Start Time Complexity

2 Plain Kolmogorov Complexity

Theory of Computation

CISC 876: Kolmogorov Complexity

Is there an Elegant Universal Theory of Prediction?

Lecture Notes: The Halting Problem; Reductions

1 Showing Recognizability

A Universal Turing Machine

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

Section 14.1 Computability then else

CSCI3390-Lecture 6: An Undecidable Problem

TURING MAHINES

CSCI 2200 Foundations of Computer Science Spring 2018 Quiz 3 (May 2, 2018) SOLUTIONS

Turing Machine Recap

CSE 105 THEORY OF COMPUTATION

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

COS597D: Information Theory in Computer Science October 19, Lecture 10

Kolmogorov complexity

Non-emptiness Testing for TMs

Further discussion of Turing machines

1 Acceptance, Rejection, and I/O for Turing Machines

Theory of Computation

Kolmogorov structure functions for automatic complexity

Lecture 20: conp and Friends, Oracles in Complexity Theory

Lecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009

Computability and Complexity

Computable Functions

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

problem X reduces to Problem Y solving X would be easy, if we knew how to solve Y

Algorithmic Information Theory and Kolmogorov Complexity

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

CS3719 Theory of Computation and Algorithms

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

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine

Preface These notes were prepared on the occasion of giving a guest lecture in David Harel's class on Advanced Topics in Computability. David's reques

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

Languages, regular languages, finite automata

Kolmogorov complexity and its applications

Introduction to the Theory of Computing

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

Reducability. Sipser, pages

CS6901: review of Theory of Computation and Algorithms

Computation Histories

Computational Models Lecture 9, Spring 2009

Turing Machines, diagonalization, the halting problem, reducibility

ECS 120 Lesson 20 The Post Correspondence Problem

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

Understanding Computation

Compression Complexity

The axiomatic power of Kolmogorov complexity

Theory of Computation

16.1 Countability. CS125 Lecture 16 Fall 2014

Most General computer?

CSCE 551 Final Exam, Spring 2004 Answer Key

conp, Oracles, Space Complexity

Undecidability. We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb)

3 Self-Delimiting Kolmogorov complexity

CSE 105 THEORY OF COMPUTATION

Lecture 12: Mapping Reductions

Limitations of Efficient Reducibility to the Kolmogorov Random Strings

CS 154 NOTES MOOR XU NOTES FROM A COURSE BY LUCA TREVISAN AND RYAN WILLIAMS

Introduction to Turing Machines. Reading: Chapters 8 & 9

CSE 555 Homework Three Sample Solutions

Kolmogorov complexity and its applications

Computability and Complexity

Turing machine recap. Universal Turing Machines and Undecidability. Alphabet size doesn t matter. Robustness of TM

1 The decision problem for First order logic

Sophistication Revisited

Kolmogorov complexity ; induction, prediction and compression

Recovery Based on Kolmogorov Complexity in Underdetermined Systems of Linear Equations

A non-turing-recognizable language

CMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems

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

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Decidability and Undecidability

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

Definition: conp = { L L NP } What does a conp computation look like?

CS154, Lecture 10: Rice s Theorem, Oracle Machines

About the relationship between formal logic and complexity classes

CS151 Complexity Theory. Lecture 1 April 3, 2017

CS 361 Meeting 26 11/10/17

CSE 105 Theory of Computation

Part I: Definitions and Properties

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

4.2 The Halting Problem

There are two main techniques for showing that problems are undecidable: diagonalization and reduction

6.5.3 An NP-complete domino game

Kolmogorov Complexity in Randomness Extraction

Theory of Computation

Theory of Computation

NP, polynomial-time mapping reductions, and NP-completeness

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

Limits of Computability

Transcription:

15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

KOLMOGOROV-CHAITIN (descriptive) COMPLEXITY TUESDAY, MAR 18

CAN WE QUANTIFY HOW MUCH INFORMATION IS IN A STRING? A = 01010101010101010101010101010101 B = 110010011101110101101001011001011 Idea: The more we can compress a string, the less information it contains.

INFORMATION AS DESCRIPTION INFORMATION IN A STRING: SHORTEST DESCRIPTION OF THE STRING How can we describe strings? Turing machines with inputs!

INFORMATION AS DESCRIPTION INFORMATION IN A STRING: SHORTEST DESCRIPTION OF THE STRING How can we describe strings? Turing machines with inputs! Definition: Let x be in {0,1}*. The shortest description of x, denoted as d(x), is the lexicographically shortest string <M,w> s.t. M(w) halts with x on tape.

KOLMOGOROV COMPLEXITY Definition: Let x in {0,1}*. The shortest description of x, denoted as d(x), is the lexicographically shortest string <M,w> s.t. M(w) halts with x on tape. Definition: The Kolmogorov complexity of x, denoted as K(x), is d(x).

KOLMOGOROV COMPLEXITY Definition: Let x in {0,1}*. The shortest description of x, denoted as d(x), is the lexicographically shortest string <M,w> s.t. M(w) halts with x on tape. Definition: The Kolmogorov complexity of x, denoted as K(x), is d(x). How to code <M,w>? Assume w in {0,1}* and we have a binary encoding of M

THE PAIRING FUNCTION Theorem. There is a 1-1 and onto computable function <,>: Σ* x Σ* Σ* and computable functions π 1 and π 2 : Σ* Σ* such that: z = <M,w> π 1 (z) = M and π 2 (z) = w Let Z(x 1 x 2 x k ) = 0 x 1 0 x 2 0 x k 1 Then: <M,w> := Z(M) w

THE PAIRING FUNCTION Theorem. There is a 1-1 and onto computable function <,>: Σ* x Σ* Σ* and computable functions π 1 and π 2 : Σ* Σ* such that: z = <M,w> π 1 (z) = M and π 2 (z) = w Let Z(x 1 x 2 x k ) = 0 x 1 0 x 2 0 x k 1 Then: <M,w> := Z(M) w (Example: <10110,101> = 01000101001101) Note that <M,w> = 2 M + w + 1

A BETTER PAIRING FUNCTION Let b(n) be the binary encoding of n Again let Z(x 1 x 2 x k ) = 0 x 1 0 x 2 0 x k 1 <M,w> := Z(b( M )) M w

A BETTER PAIRING FUNCTION Let b(n) be the binary encoding of n Again let Z(x 1 x 2 x k ) = 0 x 1 0 x 2 0 x k 1 <M,w> := Z(b( M )) M w Example: Let <M,w> = <10110,101> So, b( 10110 ) = 101 So, <10110,101> = 010001110110101

A BETTER PAIRING FUNCTION Let b(n) be the binary encoding of n Again let Z(x 1 x 2 x k ) = 0 x 1 0 x 2 0 x k 1 <M,w> := Z(b( M )) M w Example: Let <M,w> = <10110,101> So, b( 10110 ) = 101 So, <10110,101> = 010001110110101 We can still decode 10110 and 101 from this! Now, <M,w> = 2 log( M ) + M + w + 1

KOLMOGOROV COMPLEXITY Definition: Let x in {0,1}*. The shortest description of x, denoted as d(x), is the lexicographically shortest string <M,w> s.t. M(w) halts with x on tape. Definition: The Kolmogorov complexity of x, denoted as K(x), is d(x). EXAMPLES?? Let s start by figuring out some properties of K. Examples will fall out of this.

KOLMOGOROV COMPLEXITY Theorem: There is a fixed c so that for all x in {0,1}*, K(x) x + c The amount of information in x isn t much more than x

KOLMOGOROV COMPLEXITY Theorem: There is a fixed c so that for all x in {0,1}*, K(x) x + c The amount of information in x isn t much more than x Proof: Define M = On w, halt. On any string x, M(x) halts with x on its tape! This implies K(x) <M,x> 2 M + x + 1 c + x (Note: M is fixed for all x. So M is constant)

REPETITIVE STRINGS Theorem: There is a fixed c so that for all x in {0,1}*, K(xx) K(x) + c The information in xx isn t much more than that in x

REPETITIVE STRINGS Theorem: There is a fixed c so that for all x in {0,1}*, K(xx) K(x) + c The information in xx isn t much more than that in x Proof: Let N = On <M,w>, let s=m(w). Print ss. Let <M,w > be the shortest description of x. Then <N,<M,w >> is a description of xx Therefore K(xx) <N,<M,w >> 2 N + K(x) + 1 c + K(x)

REPETITIVE STRINGS Corollary: There is a fixed c so that for all n, and all x {0,1}*, K(x n ) K(x) + c log 2 n The information in x n isn t much more than that in x

REPETITIVE STRINGS Corollary: There is a fixed c so that for all n, and all x {0,1}*, K(x n ) K(x) + c log 2 n The information in x n isn t much more than that in x Proof: An intuitive way to see this: Define M: On <x, n>, print x for n times. Now take <M,<x,n>> as a description of x n. In binary, n takes O(log n) bits to write down, so we have K(x) + O(log n) as an upper bound on K(x n ).

REPETITIVE STRINGS Corollary: There is a fixed c so that for all n, and all x {0,1}*, K(x n ) K(x) + c log 2 n The information in x n isn t much more than that in x Recall: A = 01010101010101010101010101010101 For w = (01) n, K(w) K(01) + c log 2 n

CONCATENATION of STRINGS Theorem: There is a fixed c so that for all x, y in {0,1}*, K(xy) 2K(x) + K(y) + c Better: K(xy) 2 logk(x) +K(x) + K(y) + c

DOES THE LANGUAGE MATTER? Turing machines are one programming language. If we use other programming languages, can we get shorter descriptions? An interpreter is a (partial) computable function p : Σ* Σ* Takes programs as input, and prints their outputs

DOES THE LANGUAGE MATTER? Turing machines are one programming language. If we use other programming languages, can we get shorter descriptions? An interpreter is a (partial) computable function p : Σ* Σ* Takes programs as input, and prints their outputs Definition: Let x {0,1}*. The shortest description of x under p, (d p (x)), is the lexicographically shortest string for which p(d p (x)) = x.

DOES THE LANGUAGE MATTER? Turing machines are one programming language. If we use other programming languages, can we get shorter descriptions? An interpreter is a (partial) computable function p : Σ* Σ* Takes programs as input, and prints their outputs Definition: Let x {0,1}*. The shortest description of x under p, (d p (x)), is the lexicographically shortest string for which p(d p (x)) = x. Definition: K p (x) = d p (x).

DOES THE LANGUAGE MATTER? Theorem: For every interpreter p, there is a fixed c so that for all x {0,1}*, K(x) K p (x) + c Using any other programming language would only change K(x) by some constant

DOES THE LANGUAGE MATTER? Theorem: For every interpreter p, there is a fixed c so that for all x {0,1}*, K(x) K p (x) + c Using any other programming language would only change K(x) by some constant Proof: Define M p = On w, output p(w) Then <M p, d p (x)> is a description of x, and K(x) <M p,d p (x)> 2 M p + K p (x) + 1 c + K p (x)

INCOMPRESSIBLE STRINGS Theorem: For all n, there is an x {0,1} n such that K(x) n There are incompressible strings of every length

INCOMPRESSIBLE STRINGS Theorem: For all n, there is an x {0,1} n such that K(x) n There are incompressible strings of every length Proof: (Number of binary strings of length n) = 2 n (Number of descriptions of length < n) (Number of binary strings of length < n) = 2 n 1. Therefore: there s at least one n-bit string that doesn t have a description of length < n

INCOMPRESSIBLE STRINGS Theorem: For all n and c, Pr x {0,1}^n [ K(x) n-c ] 1 1/2 c Most strings are fairly incompressible Proof: (Number of binary strings of length n) = 2 n (Number of descriptions of length < n-c) (Number of binary strings of length < n-c) = 2 n-c 1. So the probability that a random x has K(x) < n-c is at most (2 n-c 1)/2 n < 1/2 c.

A QUIZ Give short algorithms for generating: 1. 01000110110000010100111001011101110000 2. 123581321345589144233377610 3. 12624120720504040320362880 This seems hard in general. Why? We ll give a formal answer in just one moment

DETERMINING COMPRESSIBILITY Can an algorithm help us compress strings? Can an algorithm tell us when a string is compressible? COMPRESS = {(x,c) K(x) c} Theorem: COMPRESS is undecidable!

DETERMINING COMPRESSIBILITY Can an algorithm help us compress strings? Can an algorithm tell us when a string is compressible? COMPRESS = {(x,c) K(x) c} Theorem: COMPRESS is undecidable! Berry Paradox: The first string whose shortest description cannot be written in less than fifteen words.

DETERMINING COMPRESSIBILITY COMPRESS = {(x,n) K(x) n} Theorem: COMPRESS is undecidable! Proof: M = On input x {0,1}*, Interpret x as integer n. ( x log n) Find first y {0,1}* in lexicographical order, s.t. (y,n) COMPRESS, then print y and halt. M(x) prints the first string y* with K(y*) > n. Thus <M,x> describes y*, and <M,x> c + log n So n < K(y*) c + log n. CONTRADICTION!

DETERMINING COMPRESSIBILITY Theorem: K is not computable Proof: M = On input x {0,1}*, Interpret x as integer n. ( x log n) Find first y {0,1}* in lexicographical order, s. t. K(y) > n, then print y and halt. M(x) prints the first string y* with K(y*) > n. Thus <M,x> describes y*, and <M,x> c + log n So n < K(y*) c + log n. CONTRADICTION!

SO WHAT CAN YOU DO WITH THIS? Many results in mathematics can be proved very simply using incompressibility. Theorem: There are infinitely many primes. IDEA: Finitely many primes can compress everything!

SO WHAT CAN YOU DO WITH THIS? Many results in mathematics can be proved very simply using incompressibility. Theorem: There are infinitely many primes. IDEA: Finitely many primes can compress everything! Proof: Suppose not. Let p 1,, p k be the primes. Let x be incompressible. Think of n = x as integer. Then there are e i s.t. n = p 1 e1 p k ek For all i, e i log n, so e i log log n Can describe n (and x) with k log log n + c bits! But x was incompressible CONTRADICTION!

WWW.FLAC.WS Read Chapter 7.1 for next time