SLIDE 1
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 - - 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 2
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
Acknowledgments
◮ Scott Aaronson’s article Who can name the bigger number?
(Google it!)
◮ Wikipedia
SLIDE 5
Purpose of Talk
How can you dominate the big number contest?
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
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
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
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
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
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
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
Known values
◮ Σ(1) = 1, S(1) = 1
SLIDE 14
Known values
◮ Σ(1) = 1, S(1) = 1 ◮ Σ(2) = 4, S(2) = 6
SLIDE 15
Known values
◮ Σ(1) = 1, S(1) = 1 ◮ Σ(2) = 4, S(2) = 6 ◮ Σ(3) = 6, S(3) = 21
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
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
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
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
The Halting Problem
Theorem
There is no Turing machine that can determine whether any given Turing machine halts or loops forever.
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
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
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
Quiz
For a fixed N, is there a Turing machine that will give you the first N values of S(n)?
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
Big number contest
Try something like this: S(111111111)(11) where S is the max shifts function, and superscripts indicate function composition.
SLIDE 27
Beyond Busy Beavers
◮ What if your opponent knows about busy beavers?
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
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
“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
Who cares?
So we have some big numbers. Who cares?
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
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
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
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
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
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