• Ei tuloksia

Autumn2012 Lecture11:FurtherTopicsJyrkiKivinen Information-TheoreticModeling

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "Autumn2012 Lecture11:FurtherTopicsJyrkiKivinen Information-TheoreticModeling"

Copied!
111
0
0

Kokoteksti

(1)

Outline Kolmogorov Complexity Gambling

Information-Theoretic Modeling

Lecture 11: Further Topics

Jyrki Kivinen

Department of Computer Science, University of Helsinki

Autumn 2012

(2)

Outline Kolmogorov Complexity Gambling

Lecture 11: Further Topics

(Peter Falk asColumbo, NBC)

(3)

Outline Kolmogorov Complexity Gambling

1 Kolmogorov Complexity Definition

Basic Properties

2 Gambling

Gambler’s Ruin Kelly Criterion

(4)

Outline Kolmogorov Complexity Gambling

1 Kolmogorov Complexity Definition

Basic Properties

2 Gambling

Gambler’s Ruin Kelly Criterion

(5)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

We probably agree that the string

10101010101010101010. . .10

| {z }

10 million characters

is “simple”.

Why?

(One) Solution: The string has a short description:

“10 repeated 5 000 000 times”.

Remark: “Description” should be understood to mean a code that can be decoded by some algorithm (a formal procedure that halts).

(6)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

We probably agree that the string

10101010101010101010. . .10

| {z }

10 million characters

is “simple”.

Why?

(One) Solution: The string has a short description:

“10 repeated 5 000 000 times”.

Remark: “Description” should be understood to mean a code that can be decoded by some algorithm (a formal procedure that halts).

(7)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

We probably agree that the string

10101010101010101010. . .10

| {z }

10 million characters

is “simple”.

Why?

(One) Solution: The string has a short description:

“10 repeated 5 000 000 times”.

Remark: “Description” should be understood to mean a code that can be decoded by some algorithm (a formal procedure that halts).

(8)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Turing machines

To precisely define Kolmogorov complexity we need to fix a formal notion of algorithm.

Following tradition, we use here Turing Machine (TM), but any other universal model of computation could be used as well. For simplicity, we assume that the inputs and outputs are strings over the binary alphabet{0,1}.

If TMU on input p ∈ {0,1} halts and outputs x∈ {0,1}, we writeU(p) =x.

IfU does not halt on inputp, we say that U(p) in undefined and writeU(p) =∅.

We use|p|to denote the length of string x.

(9)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Turing machines

To precisely define Kolmogorov complexity we need to fix a formal notion of algorithm.

Following tradition, we use here Turing Machine (TM), but any other universal model of computation could be used as well. For simplicity, we assume that the inputs and outputs are strings over the binary alphabet{0,1}.

If TMU on input p ∈ {0,1} halts and outputs x∈ {0,1}, we writeU(p) =x.

IfU does not halt on inputp, we say that U(p) in undefined and writeU(p) =∅.

We use|p|to denote the length of string x.

(10)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Turing machines

To precisely define Kolmogorov complexity we need to fix a formal notion of algorithm.

Following tradition, we use here Turing Machine (TM), but any other universal model of computation could be used as well. For simplicity, we assume that the inputs and outputs are strings over the binary alphabet{0,1}.

If TMU on input p ∈ {0,1} halts and outputsx ∈ {0,1}, we writeU(p) =x.

IfU does not halt on inputp, we say that U(p) in undefined and writeU(p) =∅.

We use|p|to denote the length of stringx.

(11)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

Kolmogorov Complexity

TheKolmogorov complexity of stringx ∈ {0,1} with respect to a Turing machineU is defined as the length of shortest input on whichU outputsx:

KU(x) = min{ |p| |U(p) =x} .

Notice thatKU(x) depends on our choice ofU, which at this stage is abritrary. However, we can remove most of this dependence by limiting the set of machinesU we consider.

Turing machine U is a prefix machineif the set of inputs on which U halts is prefix-free.

Turing machine U isuniversal if for any other TMV there is a stringqV such that V(p) =U(qvp) for allp ∈ {0,1}. Hereqp means concatenation of stringsq andp.

(12)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

Kolmogorov Complexity

TheKolmogorov complexity of stringx ∈ {0,1} with respect to a Turing machineU is defined as the length of shortest input on whichU outputsx:

KU(x) = min{ |p| |U(p) =x} .

Notice thatKU(x) depends on our choice ofU, which at this stage is abritrary. However, we can remove most of this dependence by limiting the set of machinesU we consider.

Turing machine U is a prefix machineif the set of inputs on which U halts is prefix-free.

Turing machine U isuniversal if for any other TMV there is a stringqV such that V(p) =U(qvp) for allp ∈ {0,1}. Hereqp means concatenation of stringsq andp.

(13)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

Kolmogorov Complexity

TheKolmogorov complexity of stringx ∈ {0,1} with respect to a Turing machineU is defined as the length of shortest input on whichU outputsx:

KU(x) = min{ |p| |U(p) =x} .

Notice thatKU(x) depends on our choice ofU, which at this stage is abritrary. However, we can remove most of this dependence by limiting the set of machinesU we consider.

Turing machine U is a prefix machineif the set of inputs on which U halts is prefix-free.

Turing machine U isuniversal if for any other TMV there is a stringqV such that V(p) =U(qvp) for allp ∈ {0,1}. Hereqp means concatenation of stringsq andp.

(14)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

Kolmogorov Complexity

TheKolmogorov complexity of stringx ∈ {0,1} with respect to a Turing machineU is defined as the length of shortest input on whichU outputsx:

KU(x) = min{ |p| |U(p) =x} .

Notice thatKU(x) depends on our choice ofU, which at this stage is abritrary. However, we can remove most of this dependence by limiting the set of machinesU we consider.

Turing machine U is a prefix machineif the set of inputs on which U halts is prefix-free.

Turing machine U isuniversal if for any other TMV there is a stringqV such that V(p) =U(qvp) for all p ∈ {0,1}.

Hereqp means concatenation of stringsq andp.

(15)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

Kolmogorov Complexity

TheKolmogorov complexity of stringx ∈ {0,1} with respect to a Turing machineU is defined as the length of shortest input on whichU outputsx:

KU(x) = min{ |p| |U(p) =x} .

Notice thatKU(x) depends on our choice ofU, which at this stage is abritrary. However, we can remove most of this dependence by limiting the set of machinesU we consider.

Turing machine U is a prefix machineif the set of inputs on which U halts is prefix-free.

Turing machine U isuniversal if for any other TMV there is a stringqV such that V(p) =U(qvp) for all p ∈ {0,1}. Hereqp means concatenation of stringsq andp.

(16)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix property in practice

Requiring prefix property may seem a bit technical, but intuitively it just means we must be able to tell when the input ends.

In practical programming, this is done by methods such as end-of-file markers, or having the operating system keep track of file lengths.

End-of-file markers actually are a way of keeping the input set prefix free. However reserving one symbol for this special use is not generally acceptable if we are interested in optimal code lengths. Theoretically more satisfying way to make a set of inputs

prefix-free is to include the lenght of (the rest of) the input string using some prefix code.

(17)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix property in practice

Requiring prefix property may seem a bit technical, but intuitively it just means we must be able to tell when the input ends.

In practical programming, this is done by methods such as end-of-file markers, or having the operating system keep track of file lengths.

End-of-file markers actually are a way of keeping the input set prefix free. However reserving one symbol for this special use is not generally acceptable if we are interested in optimal code lengths. Theoretically more satisfying way to make a set of inputs

prefix-free is to include the lenght of (the rest of) the input string using some prefix code.

(18)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix property in practice

Requiring prefix property may seem a bit technical, but intuitively it just means we must be able to tell when the input ends.

In practical programming, this is done by methods such as end-of-file markers, or having the operating system keep track of file lengths.

End-of-file markers actually are a way of keeping the input set prefix free. However reserving one symbol for this special use is not generally acceptable if we are interested in optimal code lengths.

Theoretically more satisfying way to make a set of inputs

prefix-free is to include the lenght of (the rest of) the input string using some prefix code.

(19)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix property in practice

Requiring prefix property may seem a bit technical, but intuitively it just means we must be able to tell when the input ends.

In practical programming, this is done by methods such as end-of-file markers, or having the operating system keep track of file lengths.

End-of-file markers actually are a way of keeping the input set prefix free. However reserving one symbol for this special use is not generally acceptable if we are interested in optimal code lengths.

Theoretically more satisfying way to make a set of inputs

prefix-free is to include the lenght of (the rest of) the input string using some prefix code.

(20)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix code for integers

A straighforward prefix code for integers is the following:

Consider integerx with n bit binary representationx1x2x3. . .xn. We encodex asx1x1x2x2x3x3. . .xnxn01.

We denode this code forx byhxi.

For example, forx = 19 = 100112 we gethxi= 110000111101. The lenght of the prefix-free encoding is| hxi |= 2n+ 2 bits, wheren=dlog2(x+ 1)e ≤log2x+ 1 is the length of the original binary representation.

(21)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix code for integers

A straighforward prefix code for integers is the following:

Consider integerx with n bit binary representationx1x2x3. . .xn. We encodex asx1x1x2x2x3x3. . .xnxn01.

We denode this code forx byhxi.

For example, forx = 19 = 100112 we gethxi= 110000111101.

The lenght of the prefix-free encoding is| hxi |= 2n+ 2 bits, wheren=dlog2(x+ 1)e ≤log2x+ 1 is the length of the original binary representation.

(22)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix code for integers

A straighforward prefix code for integers is the following:

Consider integerx with n bit binary representationx1x2x3. . .xn. We encodex asx1x1x2x2x3x3. . .xnxn01.

We denode this code forx byhxi.

For example, forx = 19 = 100112 we gethxi= 110000111101.

The lenght of the prefix-free encoding is| hxi |= 2n+ 2 bits, wheren=dlog2(x+ 1)e ≤log2x+ 1 is the length of the original binary representation.

(23)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix property for Turing Machines

We can now make the set of inputs prefix-free by inserting before each inputx its length encoded ash|x|i.

For example, input 1000100101101, which has 13 bits, becomes 1111001101

| {z }

code for 13 = 11012

1000100101101

| {z }

actual input

.

More generally, an input ofn bits gets code length of at most n+ 2 log2n+ 2 bits.

For largen this is much better than 2n+ 2 we would get by applying the prefix-free encoding from previous slide directly tox. To summarize, the prefix property is reasonable from a practical point of view, and from a theoretical point of view can be assumed without increasing input lengths too much.

(24)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix property for Turing Machines

We can now make the set of inputs prefix-free by inserting before each inputx its length encoded ash|x|i.

For example, input 1000100101101, which has 13 bits, becomes 1111001101

| {z }

code for 13 = 11012

1000100101101

| {z }

actual input

.

More generally, an input ofn bits gets code length of at most n+ 2 log2n+ 2 bits.

For largen this is much better than 2n+ 2 we would get by applying the prefix-free encoding from previous slide directly tox. To summarize, the prefix property is reasonable from a practical point of view, and from a theoretical point of view can be assumed without increasing input lengths too much.

(25)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix property for Turing Machines

We can now make the set of inputs prefix-free by inserting before each inputx its length encoded ash|x|i.

For example, input 1000100101101, which has 13 bits, becomes 1111001101

| {z }

code for 13 = 11012

1000100101101

| {z }

actual input

.

More generally, an input ofn bits gets code length of at most n+ 2 log2n+ 2 bits.

For largen this is much better than 2n+ 2 we would get by applying the prefix-free encoding from previous slide directly tox. To summarize, the prefix property is reasonable from a practical point of view, and from a theoretical point of view can be assumed without increasing input lengths too much.

(26)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix property for Turing Machines

We can now make the set of inputs prefix-free by inserting before each inputx its length encoded ash|x|i.

For example, input 1000100101101, which has 13 bits, becomes 1111001101

| {z }

code for 13 = 11012

1000100101101

| {z }

actual input

.

More generally, an input ofn bits gets code length of at most n+ 2 log2n+ 2 bits.

For largen this is much better than 2n+ 2 we would get by applying the prefix-free encoding from previous slide directly tox.

To summarize, the prefix property is reasonable from a practical point of view, and from a theoretical point of view can be assumed without increasing input lengths too much.

(27)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Prefix property for Turing Machines

We can now make the set of inputs prefix-free by inserting before each inputx its length encoded ash|x|i.

For example, input 1000100101101, which has 13 bits, becomes 1111001101

| {z }

code for 13 = 11012

1000100101101

| {z }

actual input

.

More generally, an input ofn bits gets code length of at most n+ 2 log2n+ 2 bits.

For largen this is much better than 2n+ 2 we would get by applying the prefix-free encoding from previous slide directly tox.

To summarize, the prefix property is reasonable from a practical point of view, and from a theoretical point of view can be assumed without increasing input lengths too much.

(28)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Turing Machines

For any fixedx, there are Turing machines that output x with empty input, and other Turing machines that don’t outputx with any input.

Similarly, for any pair of different stringsx 6=y, there are Turing machines U andV such thatKU(x)KU(y) but

KV(x)KV(y).

For comparisons of Kolmogorov complexities to be meaningful, we requireU to beuniversal.

(29)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Turing Machines

For any fixedx, there are Turing machines that output x with empty input, and other Turing machines that don’t outputx with any input.

Similarly, for any pair of different stringsx 6=y, there are Turing machinesU andV such thatKU(x)KU(y) but

KV(x)KV(y).

For comparisons of Kolmogorov complexities to be meaningful, we requireU to beuniversal.

(30)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Turing Machines

For any fixedx, there are Turing machines that output x with empty input, and other Turing machines that don’t outputx with any input.

Similarly, for any pair of different stringsx 6=y, there are Turing machinesU andV such thatKU(x)KU(y) but

KV(x)KV(y).

For comparisons of Kolmogorov complexities to be meaningful, we requireU to beuniversal.

(31)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Turing Machines

Universality

A Turing MachineU is said to be universal, if forany other Turing MachineV there is a string qV ∈ {0,1} (which depends onV) such that for all stringsp we have

U(qVp) =V(p) .

That is when given the concatenated inputqp, TMU outputs the same string as TMV when given inputp.

If we think of stringsp as programs in the “machine language” of V, then qv is an “interpreter” or “compiler” for V’s machine language, written for machineU (in the machine language ofU).

(32)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Turing Machines

Universality

A Turing MachineU is said to be universal, if forany other Turing MachineV there is a string qV ∈ {0,1} (which depends onV) such that for all stringsp we have

U(qVp) =V(p) .

That is when given the concatenated inputqp, TMU outputs the same string as TMV when given inputp.

If we think of stringsp as programs in the “machine language” of V, then qv is an “interpreter” or “compiler” for V’s machine language, written for machineU (in the machine language ofU).

(33)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Examples of (virtually) universal ‘computers’:

1 C (compiler + operating system + computer),

2 Java (compiler + operating system + computer),

3 your favorite programming language (compiler/interpreter + OS + computer),

4 Universal Turing machine,

5 Universal recursive function,

6 Lambda calculus,

7 Arithmetics,

8 Game of Life

9 ...

Each of the above can mimic all the others.

(34)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Examples of (virtually) universal ‘computers’:

1 C (compiler + operating system + computer),

2 Java (compiler + operating system + computer),

3 your favorite programming language (compiler/interpreter + OS + computer),

4 Universal Turing machine,

5 Universal recursive function,

6 Lambda calculus,

7 Arithmetics,

8 Game of Life

9 ...

Each of the above can mimic all the others.

(35)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Examples of (virtually) universal ‘computers’:

1 C (compiler + operating system + computer),

2 Java (compiler + operating system + computer),

3 your favorite programming language (compiler/interpreter + OS + computer),

4 Universal Turing machine,

5 Universal recursive function,

6 Lambda calculus,

7 Arithmetics,

8 Game of Life

9 ...

Each of the above can mimic all the others.

(36)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Examples of (virtually) universal ‘computers’:

1 C (compiler + operating system + computer),

2 Java (compiler + operating system + computer),

3 your favorite programming language (compiler/interpreter + OS + computer),

4 Universal Turing machine,

5 Universal recursive function,

6 Lambda calculus,

7 Arithmetics,

8 Game of Life

9 ...

Each of the above can mimic all the others.

(37)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Examples of (virtually) universal ‘computers’:

1 C (compiler + operating system + computer),

2 Java (compiler + operating system + computer),

3 your favorite programming language (compiler/interpreter + OS + computer),

4 Universal Turing machine,

5 Universal recursive function,

6 Lambda calculus,

7 Arithmetics,

8 Game of Life

9 ...

Each of the above can mimic all the others.

(38)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Examples of (virtually) universal ‘computers’:

1 C (compiler + operating system + computer),

2 Java (compiler + operating system + computer),

3 your favorite programming language (compiler/interpreter + OS + computer),

4 Universal Turing machine,

5 Universal recursive function,

6 Lambda calculus,

7 Arithmetics,

8 Game of Life

9 ...

Each of the above can mimic all the others.

(39)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Examples of (virtually) universal ‘computers’:

1 C (compiler + operating system + computer),

2 Java (compiler + operating system + computer),

3 your favorite programming language (compiler/interpreter + OS + computer),

4 Universal Turing machine,

5 Universal recursive function,

6 Lambda calculus,

7 Arithmetics,

8 Game of Life

9 ...

Each of the above can mimic all the others.

(40)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Examples of (virtually) universal ‘computers’:

1 C (compiler + operating system + computer),

2 Java (compiler + operating system + computer),

3 your favorite programming language (compiler/interpreter + OS + computer),

4 Universal Turing machine,

5 Universal recursive function,

6 Lambda calculus,

7 Arithmetics,

8 Game of Life

9 ...

Each of the above can mimic all the others.

(41)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Examples of (virtually) universal ‘computers’:

1 C (compiler + operating system + computer),

2 Java (compiler + operating system + computer),

3 your favorite programming language (compiler/interpreter + OS + computer),

4 Universal Turing machine,

5 Universal recursive function,

6 Lambda calculus,

7 Arithmetics,

8 Game of Life

9 ...

Each of the above can mimic all the others.

(42)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Examples of (virtually) universal ‘computers’:

1 C (compiler + operating system + computer),

2 Java (compiler + operating system + computer),

3 your favorite programming language (compiler/interpreter + OS + computer),

4 Universal Turing machine,

5 Universal recursive function,

6 Lambda calculus,

7 Arithmetics,

8 Game of Life

9 ...

Each of the above can mimic all the others.

(43)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Examples of (virtually) universal ‘computers’:

1 C (compiler + operating system + computer),

2 Java (compiler + operating system + computer),

3 your favorite programming language (compiler/interpreter + OS + computer),

4 Universal Turing machine,

5 Universal recursive function,

6 Lambda calculus,

7 Arithmetics,

8 Game of Life

9 ...

Each of the above can mimic all the others.

(44)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

For anyuniversalcomputer U, and any other computerV, we have KU(x)≤KV(x) +C ,

whereC is a constant independent ofx.

Proof: Let qV be such thatU(qVp) =V(p) for all p. LetpV(x) be the shortest program for which V(pV(x)) =x. Then

U(qVpV(x)) =x, so

KU(x)≤ |qVpV(x)|=|pV(x)|+|qV|=KV(x) +|qV| . Since we are restricting ourselves to prefix machines, we don’t need to worry about any overhead caused by encoding the pair (qV,p), we can just concatenate them.

(45)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

For anyuniversalcomputer U, and any other computerV, we have KU(x)≤KV(x) +C ,

whereC is a constant independent ofx.

Proof: Let qV be such thatU(qVp) =V(p) for all p. LetpV(x) be the shortest program for whichV(pV(x)) =x. Then

U(qVpV(x)) =x, so

KU(x)≤ |qVpV(x)|=|pV(x)|+|qV|=KV(x) +|qV| .

Since we are restricting ourselves to prefix machines, we don’t need to worry about any overhead caused by encoding the pair (qV,p), we can just concatenate them.

(46)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

For anyuniversalcomputer U, and any other computerV, we have KU(x)≤KV(x) +C ,

whereC is a constant independent ofx.

Proof: Let qV be such thatU(qVp) =V(p) for all p. LetpV(x) be the shortest program for whichV(pV(x)) =x. Then

U(qVpV(x)) =x, so

KU(x)≤ |qVpV(x)|=|pV(x)|+|qV|=KV(x) +|qV| . Since we are restricting ourselves to prefix machines, we don’t need to worry about any overhead caused by encoding the pair (qV,p), we can just concatenate them.

(47)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Invariance Theorem

From now on we restrict the choice of the computerU in KU to universalcomputers.

Invariance Theorem

Kolmogorov complexity is invariant (up to an additive constant) under a change of the universal computer. In other words, for any two universal computers,U andV, there is a constantC such that

|KU(x)−KV(x)| ≤C for all x ∈ {0,1} .

Proof: Since U is universal, we have KU(x)≤KV(x) +C1. Since V is universal, we haveKV(x)≤KU(x) +C2. The theorem follows by settingC = max{C1,C2}.

(48)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Invariance Theorem

From now on we restrict the choice of the computerU in KU to universalcomputers.

Invariance Theorem

Kolmogorov complexity is invariant (up to an additive constant) under a change of the universal computer. In other words, for any two universal computers,U andV, there is a constantC such that

|KU(x)−KV(x)| ≤C for all x ∈ {0,1} .

Proof: Since U is universal, we have KU(x)≤KV(x) +C1. Since V is universal, we haveKV(x)≤KU(x) +C2. The theorem follows by settingC = max{C1,C2}.

(49)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Invariance Theorem

From now on we restrict the choice of the computerU in KU to universalcomputers.

Invariance Theorem

Kolmogorov complexity is invariant (up to an additive constant) under a change of the universal computer. In other words, for any two universal computers,U andV, there is a constantC such that

|KU(x)−KV(x)| ≤C for all x ∈ {0,1} .

Proof: Since U is universal, we have KU(x)≤KV(x) +C1. Since V is universal, we haveKV(x)≤KU(x) +C2. The theorem follows by settingC = max{C1,C2}.

(50)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

Upper Bound

We have the following upper bound onKU(x):

KU(x)≤ |x|+ 2 log2|x|+C

for some constantC which depends on the computerU but not on the stringx.

Proof: Remember that we have a prefix code where the code length forx is

`(x) =|x|+ 2 log2|x|+ 2.

LetV be a TM that decodes this encoding. Then KV(x) =`(x). Therefore, for universalU we haveKU(x)≤`(x) +C.

(51)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

Upper Bound

We have the following upper bound onKU(x):

KU(x)≤ |x|+ 2 log2|x|+C

for some constantC which depends on the computerU but not on the stringx.

Proof: Remember that we have a prefix code where the code length forx is

`(x) =|x|+ 2 log2|x|+ 2.

LetV be a TM that decodes this encoding. Then KV(x) =`(x).

Therefore, for universalU we haveKU(x)≤`(x) +C.

(52)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

Conditional Kolmogorov Complexity

Theconditional Kolmogorov complexityis defined as the length of the shortest program to printx when y is given:

KU(x|y) = min{ |p| |U(¯y p) =x} , where ¯y is a prefix-encoded representation ofy.

Upper Bound 2

We have the following upper bound onKU(x | |x|): KU(x | |x|)≤ |x|+C for some constantC independentx.

(53)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Kolmogorov Complexity

Conditional Kolmogorov Complexity

Theconditional Kolmogorov complexityis defined as the length of the shortest program to printx when y is given:

KU(x|y) = min{ |p| |U(¯y p) =x} , where ¯y is a prefix-encoded representation ofy. Upper Bound 2

We have the following upper bound onKU(x | |x|):

KU(x | |x|)≤ |x|+C for some constantC independentx.

(54)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Letn=|x|.

1 KU(0101010101...01|n) =C. Program: print n/2 times 01.

2 KU1π2 . . . πn|n) =C.

Program: print the first n bits of π.

3 KU(English text|n)≈1.3×n+C. Program: Huffman code.

(Entropy of English is about 1.3 bits per symbol.)

4 KU(fractal) =C.

Program: print # of iterations until zn+1=zn2+c >T.

(55)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Letn=|x|.

1 KU(0101010101...01|n) =C. Program: print n/2 times 01.

2 KU1π2 . . . πn|n) =C.

Program: print the first n bits of π.

3 KU(English text|n)≈1.3×n+C. Program: Huffman code.

(Entropy of English is about 1.3 bits per symbol.)

4 KU(fractal) =C.

Program: print # of iterations until zn+1=zn2+c >T.

(56)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Letn=|x|.

1 KU(0101010101...01|n) =C. Program: print n/2 times 01.

2 KU1π2 . . . πn|n) =C.

Program: print the first n bits of π.

3 KU(English text|n)≈1.3×n+C. Program: Huffman code.

(Entropy of English is about 1.3 bits per symbol.)

4 KU(fractal) =C.

Program: print # of iterations until zn+1=zn2+c >T.

(57)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Letn=|x|.

1 KU(0101010101...01|n) =C. Program: print n/2 times 01.

2 KU1π2 . . . πn|n) =C.

Program: print the first n bits of π.

3 KU(English text|n)≈1.3×n+C. Program: Huffman code.

(Entropy of English is about 1.3 bits per symbol.)

4 KU(fractal) =C.

Program: print # of iterations until zn+1=zn2+c >T.

(58)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

Letn=|x|.

1 KU(0101010101...01|n) =C. Program: print n/2 times 01.

2 KU1π2 . . . πn|n) =C.

Program: print the first n bits of π.

3 KU(English text|n)≈1.3×n+C. Program: Huffman code.

(Entropy of English is about 1.3 bits per symbol.)

4 KU(fractal) =C.

Program: print # of iterations until zn+1=zn2+c >T.

(59)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Examples

(60)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Martin-L¨ of Randomness

Examples (contd.):

5 KU(x |n)≈n, for almost allx ∈ {0,1}n.

Proof: Upper bound KU(x |n)≤n+C. Lower bound by a counting argument: less than 2−k of strings compressible by more thank bits (Lecture 1).

Martin-L¨of Randomness

Stringx is said to beMartin-L¨of randomiff Ku(x|n)≥n. Consequence of point 5 above: An i.i.d. sequence of unbiased coin flips is with high probability Martin-L¨of random.

(61)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Martin-L¨ of Randomness

Examples (contd.):

5 KU(x |n)≈n, for almost allx ∈ {0,1}n.

Proof: Upper bound KU(x |n)≤n+C. Lower bound by a counting argument: less than 2−k of strings compressible by more thank bits (Lecture 1).

Martin-L¨of Randomness

Stringx is said to beMartin-L¨of randomiff Ku(x|n)≥n. Consequence of point 5 above: An i.i.d. sequence of unbiased coin flips is with high probability Martin-L¨of random.

(62)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Martin-L¨ of Randomness

Examples (contd.):

5 KU(x |n)≈n, for almost allx ∈ {0,1}n.

Proof: Upper bound KU(x |n)≤n+C. Lower bound by a counting argument: less than 2−k of strings compressible by more thank bits (Lecture 1).

Martin-L¨of Randomness

Stringx is said to beMartin-L¨of randomiff Ku(x|n)≥n.

Consequence of point 5 above: An i.i.d. sequence of unbiased coin flips is with high probability Martin-L¨of random.

(63)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Martin-L¨ of Randomness

Examples (contd.):

5 KU(x |n)≈n, for almost allx ∈ {0,1}n.

Proof: Upper bound KU(x |n)≤n+C. Lower bound by a counting argument: less than 2−k of strings compressible by more thank bits (Lecture 1).

Martin-L¨of Randomness

Stringx is said to beMartin-L¨of randomiff Ku(x|n)≥n.

Consequence of point 5 above: An i.i.d. sequence of unbiased coin flips is with high probability Martin-L¨of random.

(64)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Prediction

Since the set of valid (halting) programs is required to be prefix-freewe can consider the probability distributionpnU:

pnU(x) = 2−KU(x|n)

C , whereC = X

x∈Xn

2−KU(x|n).

Universal Probability Distribution

The distributionpUn is universal in the sense that for any other computable distributionq, there is a constantC >0 such that

pUn(x)≥C q(x) for allx ∈ Xn. Proof idea: The universal computerU can imitate the Shannon-Fano prefix code with codelengths

log2 1 q(x)

.

(65)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Prediction

Since the set of valid (halting) programs is required to be prefix-freewe can consider the probability distributionpnU:

pnU(x) = 2−KU(x|n)

C , whereC = X

x∈Xn

2−KU(x|n).

Universal Probability Distribution

The distributionpUn is universal in the sense that for any other computable distributionq, there is a constantC >0 such that

pUn(x)≥C q(x) for allx ∈ Xn.

Proof idea: The universal computerU can imitate the Shannon-Fano prefix code with codelengths

log2 1 q(x)

.

(66)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Prediction

Since the set of valid (halting) programs is required to be prefix-freewe can consider the probability distributionpnU:

pnU(x) = 2−KU(x|n)

C , whereC = X

x∈Xn

2−KU(x|n).

Universal Probability Distribution

The distributionpUn is universal in the sense that for any other computable distributionq, there is a constantC >0 such that

pUn(x)≥C q(x) for allx ∈ Xn. Proof idea: The universal computerU can imitate the Shannon-Fano prefix code with codelengths

log2 1 q(x)

.

(67)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Prediction

The universal probability distributionpnU is a good predictor.

This follows from the relationship between codelengths and probabilities (Kraft!):

KU(x) is small ⇒ pUn(x) is large

n

Y

i=1

pUn(xi |x1, . . . ,xi−1) is large

⇒ pnU(xi |x1, . . . ,xi−1) is large for most i ∈ {1, . . . ,n}, wherexi denotes theith bit in stringx.

(68)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Prediction

The universal probability distributionpnU is a good predictor.

This follows from the relationship between codelengths and probabilities (Kraft!):

KU(x) is small ⇒ pUn(x) is large

n

Y

i=1

pUn(xi |x1, . . . ,xi−1) is large

⇒ pnU(xi |x1, . . . ,xi−1) is large for most i ∈ {1, . . . ,n}, wherexi denotes theith bit in stringx.

(69)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Prediction

The universal probability distributionpnU is a good predictor.

This follows from the relationship between codelengths and probabilities (Kraft!):

KU(x) is small ⇒ pUn(x) is large

n

Y

i=1

pUn(xi |x1, . . . ,xi−1) is large

⇒ pnU(xi |x1, . . . ,xi−1) is large for most i ∈ {1, . . . ,n}, wherexi denotes theith bit in stringx.

(70)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Universal Prediction

The universal probability distributionpnU is a good predictor.

This follows from the relationship between codelengths and probabilities (Kraft!):

KU(x) is small ⇒ pUn(x) is large

n

Y

i=1

pUn(xi |x1, . . . ,xi−1) is large

⇒ pUn(xi |x1, . . . ,xi−1) is large for most i ∈ {1, . . . ,n}, wherexi denotes theith bit in stringx.

(71)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Berry Paradox

The smallest integer that cannot be described in ten words?

Whatever this number is, we have just described (?) it in ten words.

The smallest uninteresting number?

Whatever this number is, it is quite interesting!

(72)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Berry Paradox

The smallest integer that cannot be described in ten words?

Whatever this number is, we have just described (?) it in ten words.

The smallest uninteresting number?

Whatever this number is, it is quite interesting!

(73)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Berry Paradox

The smallest integer that cannot be described in ten words?

Whatever this number is, we have just described (?) it in ten words.

The smallest uninteresting number?

Whatever this number is, it is quite interesting!

(74)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Berry Paradox

The smallest integer that cannot be described in ten words?

Whatever this number is, we have just described (?) it in ten words.

The smallest uninteresting number?

Whatever this number is, it is quite interesting!

(75)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Non-computability

It is impossible to construct a general procedure (algorithm) to computeKU(x).

Non-Computability

Kolmogorov complexityKU : {0,1}→Nis non-computable.

Proof: Assume, by way of contradiction, that it would be possible to computeKU(x). Then for anyM >0, the program

print a string x for which KU(x)>M.

would print a string withKU(x)>M. A contradiction follows by lettingM be larger than the Kolmogorov complexity of this program. Hence, it cannot be possible to computeKU(x).

(76)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Non-computability

It is impossible to construct a general procedure (algorithm) to computeKU(x).

Non-Computability

Kolmogorov complexityKU : {0,1}→Nis non-computable.

Proof: Assume, by way of contradiction, that it would be possible to computeKU(x).

Then for any M >0, the program print a string x for which KU(x)>M.

would print a string withKU(x)>M. A contradiction follows by lettingM be larger than the Kolmogorov complexity of this program. Hence, it cannot be possible to computeKU(x).

(77)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Non-computability

It is impossible to construct a general procedure (algorithm) to computeKU(x).

Non-Computability

Kolmogorov complexityKU : {0,1}→Nis non-computable.

Proof: Assume, by way of contradiction, that it would be possible to computeKU(x). Then for anyM >0, the program

print a string x for which KU(x)>M. would print a string withKU(x)>M.

A contradiction follows by lettingM be larger than the Kolmogorov complexity of this program. Hence, it cannot be possible to computeKU(x).

(78)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Non-computability

It is impossible to construct a general procedure (algorithm) to computeKU(x).

Non-Computability

Kolmogorov complexityKU : {0,1}→Nis non-computable.

Proof: Assume, by way of contradiction, that it would be possible to computeKU(x). Then for anyM >0, the program

print a string x for which KU(x)>M.

would print a string withKU(x)>M. A contradiction follows by lettingM be larger than the Kolmogorov complexity of this program. Hence, it cannot be possible to computeKU(x).

(79)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Summary: Kolmogorov complexity and MDL

Universal codes (or models) in MDL were defined to be universal with respect tosome model classM, which from an application point of view is “user-specified”.

There are universal codes with respect to quite general model classes (such as Lempel-Ziv for finite-order Markov models), but still this may feel a bit unsatisfactory from a philosophical point of view.

Kolmogorov complexity gives a code that is universal with respect to any computable model class, which seems the best we can hope for.

(80)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Summary: Kolmogorov complexity and MDL

Universal codes (or models) in MDL were defined to be universal with respect tosome model classM, which from an application point of view is “user-specified”.

There are universal codes with respect to quite general model classes (such as Lempel-Ziv for finite-order Markov models), but still this may feel a bit unsatisfactory from a philosophical point of view.

Kolmogorov complexity gives a code that is universal with respect to any computable model class, which seems the best we can hope for.

(81)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Summary: Kolmogorov complexity and MDL

Universal codes (or models) in MDL were defined to be universal with respect tosome model classM, which from an application point of view is “user-specified”.

There are universal codes with respect to quite general model classes (such as Lempel-Ziv for finite-order Markov models), but still this may feel a bit unsatisfactory from a philosophical point of view.

Kolmogorov complexity gives a code that is universal with respect to any computable model class, which seems the best we can hope for.

(82)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Summary: Kolmogorov complexity and MDL

Unfortunately Kolmogorov complexity itself is not computable, limiting its applicability in practive. However Kolmogorov complexity is useful as an idealization and for understanding our limitations.

One should also remember that even in principle, Kolmogorov complexity is defined only up to an additive constant (depending on the choice ofU).

(83)

Outline Kolmogorov Complexity Gambling

Definition Basic Properties

Summary: Kolmogorov complexity and MDL

Unfortunately Kolmogorov complexity itself is not computable, limiting its applicability in practive. However Kolmogorov complexity is useful as an idealization and for understanding our limitations.

One should also remember that even in principle, Kolmogorov complexity is defined only up to an additive constant (depending on the choice ofU).

(84)

Outline Kolmogorov Complexity Gambling

Gambler’s Ruin Kelly Criterion

1 Kolmogorov Complexity Definition

Basic Properties

2 Gambling

Gambler’s Ruin Kelly Criterion

(85)

Outline Kolmogorov Complexity Gambling

Gambler’s Ruin Kelly Criterion

Gambling

Bet moneybx on horsex. Get moneyαxbx ifx wins (odds). Expected winE[bxαx] =P

pxαxbx.

Maximized by betting everything on arg maxpxαx.

(86)

Outline Kolmogorov Complexity Gambling

Gambler’s Ruin Kelly Criterion

Gambling

Bet moneybx on horsex. Get money αxbx ifx wins (odds).

Expected winE[bxαx] =P

pxαxbx.

Maximized by betting everything on arg maxpxαx.

(87)

Outline Kolmogorov Complexity Gambling

Gambler’s Ruin Kelly Criterion

Gambling

Bet moneybx on horsex. Get money αxbx ifx wins (odds).

Expected winE[bxαx] =P

pxαxbx.

Maximized by betting everything on arg maxpxαx.

(88)

Outline Kolmogorov Complexity Gambling

Gambler’s Ruin Kelly Criterion

Gambling

Bet moneybx on horsex. Get money αxbx ifx wins (odds).

Expected winE[bxαx] =P

pxαxbx.

Maximized by betting everything on arg maxpxαx.

(89)

Outline Kolmogorov Complexity Gambling

Gambler’s Ruin Kelly Criterion

Gambling

If odds are “fair”, thenαx = 1 px

, and hence pxαxbx =bx for all i.

Assume now that we haveinside informationabout the winning horse.

Insider X Noisy Channel X^ Gambler

In the extreme case, ˆX =X, we know the outcome: Vnxiαx2· · ·αxnV0

= 2Gn

V0 exponential rate of growth, G

whereVt is the capital on tth step

, andG = log

Pαxi

n .

Viittaukset

LIITTYVÄT TIEDOSTOT

While one of the main aims of this thesis was to study a novel set in war from the point of view of the female characters, some space was also be given to Duncan, as he is a

Vaikka tuloksissa korostuivat inter- ventiot ja kätilöt synnytyspelon lievittä- misen keinoina, myös läheisten tarjo- amalla tuella oli suuri merkitys äideille. Erityisesti

Länder participation in Brussels, from a legal-formal point of view, is not a direct one, but Länder interests - according to the foreign policy monopoly of the federal

The review stated that the Society does not dynamically support the development of geography in Finland, and that the Finnish geo- graphical journals, published by

Here, “reader identity” is conceived as a specifi c aspect of users’ social identity (see e.g. 66 ff .), displayed in the discursive conglomerate of users’ personal statements on

Environmental assessment of products is discussed from a methodological point of view and practical experiences of organisational aspects in product development are presented..

Instead, the actual processes of sign changes, creations and meaning creations (interpretations) should be analysed from a holistic point of view. This means focusing on

participation from the point of view of practice and policies. This research offers a theoretical concept of participatory pedagogy in early education context. In my research