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!” The second, mightily impressed, replied “You win.”
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!
Acknowledgments ◮ Scott Aaronson’s article Who can name the bigger number? (Google it!) ◮ Wikipedia
Purpose of Talk How can you dominate the big number contest?
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.
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.
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.
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
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.
Busy Beavers ◮ Originate in a contest/game proposed by Tibor Rad´ o 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.
Max Shifts function ◮ Define the max shifts function S ( n ) := the maximum number of steps executed by a halting two symbol n state Turing machine.
Known values ◮ Σ(1) = 1 , S (1) = 1
Known values ◮ Σ(1) = 1 , S (1) = 1 ◮ Σ(2) = 4 , S (2) = 6
Known values ◮ Σ(1) = 1 , S (1) = 1 ◮ Σ(2) = 4 , S (2) = 6 ◮ Σ(3) = 6 , S (3) = 21
Known values ◮ Σ(1) = 1 , S (1) = 1 ◮ Σ(2) = 4 , S (2) = 6 ◮ Σ(3) = 6 , S (3) = 21 ◮ Σ(4) = 13 , S (4) = 107
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
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 × 10 18267 , S (6) ≥ 7 . 4 × 10 36534
How fast does it grow? ◮ The functions Σ and S grow faster than any computable sequence. ◮ For example 99 n , n n n and n (!) 1000 , and probably any sequence you have ever thought about are computable.
The Halting Problem Theorem There is no Turing machine that can determine whether any given Turing machine halts or loops forever.
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.
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.
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”.
Quiz For a fixed N , is there a Turing machine that will give you the first N values of S ( n )?
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.
Big number contest Try something like this: S (11 1111111 ) (11) where S is the max shifts function, and superscripts indicate function composition.
Beyond Busy Beavers ◮ What if your opponent knows about busy beavers?
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.
Beyond Busy Beavers ◮ Define the super N Turing machine that has access to an oracle for super N − 1 Turing machines, and then define super N busy beaver functions. ◮ Then define a super-duper Turing machine that has access to an oracle for any super N machine, . . . .
“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!
Who cares? So we have some big numbers. Who cares?
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.
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
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
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
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, 3 3 , 4 ↑↑ 4 = 4 4 44 , etc.)
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, 3 3 , 4 ↑↑ 4 = 4 4 44 , etc.) ◮ Turing machines, Busy beavers
Recommend
More recommend