Busy Beavers and Big Numbers Drew Johnson April 3, 2012 Joke Once - - PowerPoint PPT Presentation

busy beavers and big numbers
SMART_READER_LITE
LIVE PREVIEW

Busy Beavers and Big Numbers Drew Johnson April 3, 2012 Joke Once - - PowerPoint PPT Presentation

Busy Beavers and Big Numbers Drew Johnson April 3, 2012 Joke Once there were two noblemen who decided to have a contest to see who could name the bigger number. The first, after ruminating for hours, triumphantly announced Eighty-three!


slide-1
SLIDE 1

Busy Beavers and Big Numbers

Drew Johnson April 3, 2012

slide-2
SLIDE 2

Joke

Once there were two noblemen who decided to have a contest to see who could name the bigger number. The first, after ruminating for hours, triumphantly announced “Eighty-three!” The second, mightily impressed, replied “You win.”

slide-3
SLIDE 3

Contest

You have fifteen seconds. Using standard math notation, English words, or both, name a single whole number on your side of the black board. Be precise enough for any reasonable modern mathematician to determine exactly what number youve named, by consulting only your writing and, if necessary, the published literature. For example, “the number of sands of the Sahara” is no good, and neither is “my opponent’s number plus one.” The largest number wins!

slide-4
SLIDE 4

Acknowledgments

◮ Scott Aaronson’s article Who can name the bigger number?

(Google it!)

◮ Wikipedia

slide-5
SLIDE 5

Purpose of Talk

How can you dominate the big number contest?

slide-6
SLIDE 6

Turing Machine

◮ A Turing machine is a theoretical machine that serves as a

mathematical model for computation.

◮ Alan Turing was a British pioneer in computational theory,

widely considered to be the father of computer science and artificial intelligence.

◮ He worked for the British government during World War 2,

and developed methods to break German codes, including the Enigma machine.

slide-7
SLIDE 7

Idea of a Turing Machine

◮ We have a one dimensional tape that extends infinitely in

either direction. Initially, it is filled up with a “blank symbol” (e.g. 0 or ) printed in every spot.

◮ The machine has a head that can read the symbol underneath

it.

◮ The machine can also be in one of finitely many “states”. ◮ At each step of computation, based on the symbol it reads and

the state of the machine, the head will print a symbol on the tape (overwriting the symbol underneath), move one space either to the right or the left, and then enter a new state.

◮ The machine has a special HALT state. If the machine enters

the HALT state, then it halts.

slide-8
SLIDE 8

Formal Definition

A Turing machine is a tuple (Q, Γ, δ).

◮ Q is a finite set of states with HALT ∈ Q. ◮ Γ is the alphabet, or finite set of symbols used by the

machine, with 0 ∈ Γ.

◮ δ is a transition function Q × Γ → Q × Γ × {L, R} which

determines the operation of the machine.

slide-9
SLIDE 9

Doing computations

◮ You can put some symbols on the tape initially to give input

to the machine.

◮ The symbols on the tape when the machine halts are the

result of the computation.

◮ Or, instead of having a single HALT state, you could have a

YES and a NO state so the machine could end by answering some question. http://morphett.info/turing/turing.html

slide-10
SLIDE 10

Facts

◮ A Turing machine can do anything a mechanical or electronic

computer can do! It is useful in analyzing the limits of such machines.

◮ There are many variations on Turing machines, most of which

are equivalent in computational ability (though not in speed). In particular, a Turing machine with two symbols can do anything a Turing machine with N symbols can do.

slide-11
SLIDE 11

Busy Beavers

◮ Originate in a contest/game proposed by Tibor Rad´

  • in 1962.

◮ Define the busy beaver function Σ(n) := the maximum

number of ones printed on the tape by a two symbol ({0, 1}), n state (not counting HALT) Turing machine that halts.

◮ This is a well defined number for n ≥ 1, since there are only

finitely many such Turing machines.

slide-12
SLIDE 12

Max Shifts function

◮ Define the max shifts function S(n) := the maximum number

  • f steps executed by a halting two symbol n state Turing

machine.

slide-13
SLIDE 13

Known values

◮ Σ(1) = 1, S(1) = 1

slide-14
SLIDE 14

Known values

◮ Σ(1) = 1, S(1) = 1 ◮ Σ(2) = 4, S(2) = 6

slide-15
SLIDE 15

Known values

◮ Σ(1) = 1, S(1) = 1 ◮ Σ(2) = 4, S(2) = 6 ◮ Σ(3) = 6, S(3) = 21

slide-16
SLIDE 16

Known values

◮ Σ(1) = 1, S(1) = 1 ◮ Σ(2) = 4, S(2) = 6 ◮ Σ(3) = 6, S(3) = 21 ◮ Σ(4) = 13, S(4) = 107

slide-17
SLIDE 17

Known values

◮ Σ(1) = 1, S(1) = 1 ◮ Σ(2) = 4, S(2) = 6 ◮ Σ(3) = 6, S(3) = 21 ◮ Σ(4) = 13, S(4) = 107 ◮ Σ(5) ≥ 498, S(5) ≥ 47, 176, 870

slide-18
SLIDE 18

Known values

◮ Σ(1) = 1, S(1) = 1 ◮ Σ(2) = 4, S(2) = 6 ◮ Σ(3) = 6, S(3) = 21 ◮ Σ(4) = 13, S(4) = 107 ◮ Σ(5) ≥ 498, S(5) ≥ 47, 176, 870 ◮ Σ(6) ≥ 3.5 × 1018267, S(6) ≥ 7.4 × 1036534

slide-19
SLIDE 19

How fast does it grow?

◮ The functions Σ and S grow faster than any computable

sequence.

◮ For example 99n, nnn and n(!)1000, and probably any sequence

you have ever thought about are computable.

slide-20
SLIDE 20

The Halting Problem

Theorem

There is no Turing machine that can determine whether any given Turing machine halts or loops forever.

slide-21
SLIDE 21

The Halting Problem

Theorem

There is no Turing machine that can determine whether any given Turing machine halts or loops forever.

◮ If the given machine does halt, then you could determine that

by simulating it. But if it doesn’t halt, simulating it won’t help.

slide-22
SLIDE 22

Proof of Uncomputability of S(n)

If you could compute S(n), you could solve the halting problem— given any machine, we may assume it is a two symbol, N state

  • machine. Then compute the appropriate value of S(N) and

simulate your given machine for S(N) steps. If it hasn’t halted yet, you know it never will.

slide-23
SLIDE 23

Proof of Uncomputability of S(n)

If you could compute S(n), you could solve the halting problem— given any machine, we may assume it is a two symbol, N state

  • machine. Then compute the appropriate value of S(N) and

simulate your given machine for S(N) steps. If it hasn’t halted yet, you know it never will.

◮ Note that this proof applies to any sequence larger than S(n)

as well— thus we see that S(n) is too big to be computed, and not necessarily just “too complicated”.

slide-24
SLIDE 24

Quiz

For a fixed N, is there a Turing machine that will give you the first N values of S(n)?

slide-25
SLIDE 25

Quiz

For a fixed N, is there a Turing machine that will give you the first N values of S(n)?

◮ Yes! But for trivial reasons.

slide-26
SLIDE 26

Big number contest

Try something like this: S(111111111)(11) where S is the max shifts function, and superscripts indicate function composition.

slide-27
SLIDE 27

Beyond Busy Beavers

◮ What if your opponent knows about busy beavers?

slide-28
SLIDE 28

Beyond Busy Beavers

◮ What if your opponent knows about busy beavers? ◮ A “super Turing machine” is a Turing machine that can use

some extra information— it can query the “oracle” to find out whether the Turing machine encoded on some subset of the tape (say to the left of the head) will halt or not.

◮ A super Turing machine can solve the halting problem and

compute the busy beaver function.

◮ Define the super busy beaver function to be the most ones

printed by a halting two symbol n-state super Turing machine. This sequence will be uncomputable by super Turing machines (due to the Super Halting Theorem), and thus much bigger than the (super-computable) busy beaver function.

slide-29
SLIDE 29

Beyond Busy Beavers

◮ Define the superN Turing machine that has access to an

  • racle for superN−1 Turing machines, and then define superN

busy beaver functions.

◮ Then define a super-duper Turing machine that has access to

an oracle for any superN machine, . . . .

slide-30
SLIDE 30

“Application”

◮ Some unsolved conjectures (e.g. Colatz, Goldbach) could be

“proved” by algorithmically checking countably many cases.

◮ Suppose we wrote a Turing machine with 40 states that would

search for a counterexample to the Colatz conjecture.

◮ Suppose we had an upper bound for S(40). ◮ Then we could run our machine for S(40) steps and know the

answer to the Colatz conjecture!

slide-31
SLIDE 31

Who cares?

So we have some big numbers. Who cares?

slide-32
SLIDE 32

The big number contest and progress

The ability to express large numbers reflects the progress of civilization.

◮ Some languages only have words for one, two, and many.

slide-33
SLIDE 33

The big number contest and progress

The ability to express large numbers reflects the progress of civilization.

◮ Some languages only have words for one, two, and many. ◮ Hieroglyphs, Roman numerals

slide-34
SLIDE 34

The big number contest and progress

The ability to express large numbers reflects the progress of civilization.

◮ Some languages only have words for one, two, and many. ◮ Hieroglyphs, Roman numerals ◮ Place value

slide-35
SLIDE 35

The big number contest and progress

The ability to express large numbers reflects the progress of civilization.

◮ Some languages only have words for one, two, and many. ◮ Hieroglyphs, Roman numerals ◮ Place value ◮ Exponentials, scientific notation, combinatorial functions

slide-36
SLIDE 36

The big number contest and progress

The ability to express large numbers reflects the progress of civilization.

◮ Some languages only have words for one, two, and many. ◮ Hieroglyphs, Roman numerals ◮ Place value ◮ Exponentials, scientific notation, combinatorial functions ◮ Ackerman function (1 + 1, 2 × 2, 33, 4 ↑↑ 4 = 4444

, etc.)

slide-37
SLIDE 37

The big number contest and progress

The ability to express large numbers reflects the progress of civilization.

◮ Some languages only have words for one, two, and many. ◮ Hieroglyphs, Roman numerals ◮ Place value ◮ Exponentials, scientific notation, combinatorial functions ◮ Ackerman function (1 + 1, 2 × 2, 33, 4 ↑↑ 4 = 4444

, etc.)

◮ Turing machines, Busy beavers

slide-38
SLIDE 38

The big number contest and progress

The ability to express large numbers reflects the progress of civilization.

◮ Some languages only have words for one, two, and many. ◮ Hieroglyphs, Roman numerals ◮ Place value ◮ Exponentials, scientific notation, combinatorial functions ◮ Ackerman function (1 + 1, 2 × 2, 33, 4 ↑↑ 4 = 4444

, etc.)

◮ Turing machines, Busy beavers ◮ . . . ?