Professional Documents
Culture Documents
Lecture #19
Sarmad Abbasi
Virtual University
Theory of Computation
1 / 38
A definition of information
Minimal Length Descriptions
Descriptive Complexity
Theory of Computation
2 / 38
A definition of information
Theory of Computation
3 / 38
A definition of information
There are two ways to describe the string A. One is to write its
individual bits and the other is to simply say that it is 10 repeated
fifteen times. We will be interested in the shortest description.
Theory of Computation
4 / 38
A definition of information
Theory of Computation
5 / 38
A definition of information
Theory of Computation
6 / 38
A definition of information
Theory of Computation
7 / 38
A definition of information
Theory of Computation
8 / 38
A definition of information
Theory of Computation
9 / 38
A definition of information
hMi = 1001011101
w = 101011
Theory of Computation
10 / 38
A definition of information
Theory of Computation
11 / 38
A definition of information
However, for a given string x there maybe many TMs and input pairs
that describe x. The minimal description of x, written d(x), is the
shortest string hM, wi such that
1
M halts on w
Running M on w produces x
Theory of Computation
12 / 38
A definition of information
Theory of Computation
13 / 38
A definition of information
Theory of Computation
14 / 38
A definition of information
You can download a program that produces the digits of . Thus the
digits of have been communicated to you in a very small program.
Theory of Computation
15 / 38
A definition of information
K (x)
is the smallest description of x. It is sometimes called
1
Kolmogorov complexity
Kolmogorov-Chaitin complexity.
Theory of Computation
16 / 38
A definition of information
Lets prove some simple but useful facts:
1
Theory of Computation
17 / 38
A definition of information
Theory of Computation
18 / 38
A definition of information
Theorem
There is a constant c such that
K (x) |x| + c
Let M0 be the TM that halts as soon as it starts. So, it does not change
its input at all. We can always describe x by
hM0 i, x
This description has size
2|hM0 i| + |x|
Theory of Computation
19 / 38
A definition of information
Theory of Computation
20 / 38
A definition of information
Note that we are saying that we can append the description of the
NULL machine to each string. Why dont we just leave M0 out.
This is because anyone reading the description is expecting to see a
description of some machine first then 01. If we agree that M0 will be
denoted by the empty string then we can simply send
01x
But even in this case c = 2.
Theory of Computation
21 / 38
A definition of information
Theorem
There is a constant c such that
K (xx) K (x) + c
We maybe tempted to give the following proof. Let M1 be a TM that
doubles its string; that is,
1
On input x
Output xx
We can describe xx with hM1 ix. However this only shows that
K (xx) |x| + c
So we have to be more clever.
Sarmad Abbasi (Virtual University)
Theory of Computation
22 / 38
A definition of information
Theorem
There is a constant c such that
K (xx) K (x) + c
Let M3 be a TM that takes hNiw as inputs and doubles the output after
running N on w.
1
On input hN, wi
Run N on w.
Write ss.
Theory of Computation
23 / 38
A definition of information
Theory of Computation
24 / 38
A definition of information
Theorem
There is a constant c such that
K (xy ) 2K (x) + K (y ) + c
Let M be a TM that breaks a string as follows:
1
On input w.
Output st.
Theory of Computation
25 / 38
A definition of information
Theory of Computation
26 / 38
A definition of information
Theorem
There is a constant c such that
K (xy ) 2 log K (x) + K (x) + K (y ) + c
and we can even improve this by using more sophisticated coding
techniques.
Theory of Computation
27 / 38
Optimality of Definition
We have a very important question we can ask.
What happens if we use some other way of describing algorithms. Lets
say we say algorithms are java programs. Wouldnt that change the
descriptive complexity?
Let
p :
be any computable function. Let us define
dp (x)
be the length of the lexicographically shortest string s such that
p(s) = x.
We define
Kp (x) = |dp (x)|
Sarmad Abbasi (Virtual University)
Theory of Computation
28 / 38
Optimality of Definition
For example we can let
Kjava (x)
to be the length of the shortest java program that outputs
x.
The question is what happens if we use Kjava instead of K ?
The answer is that descriptive complexity only changes by an additive
constant.
Thus K (x) is in some sense universal.
Theory of Computation
29 / 38
Optimality of Definition
Theorem
Let p be a computable function
p :
then there is a constant c such that
K (x) Kp (x) + c
The idea is that we can append an interpreter for java in our
descriptions and this changes the description length by a constant.
Consider the following TM M
1
On input w
Output p(w)
Theory of Computation
30 / 38
A definition of information
Theory of Computation
31 / 38
Incompressible strings
Theorem
In compressible strings of every length exists.
The proof is by counting. Let us take strings of length n. There are
2n
strings of length n.
On the other hand each description is also a string. How many
descriptions are there of length n 1. There are
20 + 21 + + 2n1 = 2n 1
descriptions of length n 1.
Hence at least one string must be incompressible.
Theory of Computation
32 / 38
Incompressible strings
Theorem
At least
2n 2nc+1 + 1
strings of length n are incompressible by c.
The proof is again by counting. Let us take strings of length n. There
are
2n
strings of length n.
On the other hand each description is also a string. How many
descriptions are there of length n c). There are
20 + 21 + + 2nc = 2nc+11
descriptions of length n 1. Therefore, at least 2n 2nc+1 + 1
strings are c-incompressible.
Sarmad Abbasi (Virtual University)
Theory of Computation
33 / 38
Incompressible strings
Theory of Computation
34 / 38
Incompressible strings
Theory of Computation
35 / 38
Incompressible strings
Theorem
A property that holds for "almost all strings" also holds for
incompressible strings.
Let us formalize this statement. A property p is a mapping from set of
all strings to {TRUE, FALSE}. Thus
p : {0, 1} {true, false}
Theory of Computation
36 / 38
Incompressible strings
Theory of Computation
37 / 38
Incompressible strings
Theorem
Let p be a computable property. If p holds for almost all strings the for
any b > 0, the property p is false on only finitely many strings that are
incompressible by b.
Let M be the following algorithm:
1
Find the ith string s such that p(s) = False. Considering the
strings lexicographically.
Output s.
Theory of Computation
38 / 38
Incompressible strings
Theory of Computation
39 / 38
Incompressible strings
Now we count. For any give b > 0 select n such that at most
1
2b+c
fraction of the strings of length n do not have property p. Note that
since p holds for almost all strings, this is true for all sufficiently large n.
Then we have
2n
ix b+c
2
Therefore, |ix | n b c. Hence the length of hMiix is at most
n b c + c = n b. Thus
K (x) n b
which means x is b compressible. Hence, only finitely many strings
that fail p can be incompressible by b.
Sarmad Abbasi (Virtual University)
Theory of Computation
40 / 38