The Busy Beaver, the Placid Platypus and the Universal Unicorn
-
Upload
maris-holcomb -
Category
Documents
-
view
53 -
download
0
description
Transcript of The Busy Beaver, the Placid Platypus and the Universal Unicorn
The Busy Beaver, the Placid Platypus and the Universal
Unicorn
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
James Harland
Overview
Beaver, Platypus, Unicorn …
Busy beaver problem and similar problems
Machine execution techniques
Searching large numbers of machines
Universal Turing machines
Connections with other areas
RMIT 1st August, 2014
Overview
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Busy beaver problem and similar problems
Machine execution techniques
Searching large numbers of machines
Universal Turing machines
Connections with other areas
Overview
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
‘Organic’ theoretical computer science
Exploration of theoretical concepts by software tools
Mix of empirical and theoretical methods
What?
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Turing Machines of a particular type:
Deterministic
Symbols are only 0 (blank) and 1 (initially)
Only consider blank input
n states plus a halt state means size is n
a b c h11R01R
00L
10R
01L
11R
What?
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
What is the largest number of 1’s that can be printed by a terminating n-state machine?
n #1’s (productivity) #steps
1 1 1
2 4 6
3 6 21
4 13 107
5 ≥ 4098 ≥ 47,176,870 (??)6 ≥ 3.51×1018,276 ≥ 7.41×1036,534 (!!)
What?
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
n m #1’s #steps
2 2 4 6
3 2 6 21
2 3 9 38
4 2 13 107
2 4 2,050 3,932,964
3 3 374,676,383 119,112,334,170,342,540
5 2 ≥ 4098 ≥ 47,176,870
2 5 ≥ 1.7 × 10352 ≥ 1.9 × 10704
6 2 3.51×1018276 ≥ 7.41×1036534
4 3 ≥ 1.383 × 107036 ≥ 1.025 × 1014072
3 4 ≥ 3.743 × 106518 ≥ 5.254 × 1013036
2 6 ≥ 1.903 × 104933 ≥ 2.415 × 109866 HERE BE DRAGONS!
What?
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Busy Beaver function is non-computable; it grows faster than any computable function (!!)
Various mathematical bounds known
All surpassed in practice
Seems hopeless for n ≥ 7
Values for n ≤ 5 seem settled (but as yet unproven)
Why?
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Some enormous numbers here! `… the poetry of logical ideas’ (Einstein) Evidence for results is somewhat lacking (“The remaining 250+ cases were checked by hand”) Should have test data and evidence available Should be able to automate entire test
`Nothing capable of proof should be accepted as true without it’ (Frege)
`Nothing capable of automation should be accepted as finished without it’
Why?
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
An n-state (2-symbol) machine of productivity k shows that
bb(n,2) ≥ k
at most n states are needed to print k 1’s
What is the minimum number of states (for an n-state 2-symbol machine) needed to print k 1’s?
We call this the placid platypus problem [ pp(k) ]
Why?
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
bb(n,2) = k means that pp(k) ≤ n and pp(k+1) ≥ n+1
pp(2) = pp(3) = pp(4) = 2
pp(5) = pp(6) = 3
pp(k) = 4 for k є {7,8,9,10,11,12,13}
pp(k) ≥ 5 for k ≥ 14
…???
There seem to be no 5-state 2-symbol machines with productivity 74, 85, 92-7, 100-110, 113, 114, 115, …
Need complete classification to be sure
Executing Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Marxen and Buntrock (1990): macro machines
Treat a sequence of k characters as a single ‘symbol’
Avoids repetition of previous sequences
Significant speed up
Need to choose k in advance
Holkner (2004): loop prediction
{b}(01)1001 -> (11)100 {b}1
State
Input InDir Output
OutDir
NewState
b 01 l 11 r b
Executing Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
What do the monsters do?
5x2 state champion (terminates in 47,176,870 steps)
Step Configuration
12393 001111{b}(001)66100
12480 001(111)6{b}(001)63100
12657 001(111)11{b}(001)60100
… …
33120 001(111)106{b}(001)3100
… …
47176870 101{h}(001)4095100
20,000+ steps in 1
Executing Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
5x2 state champion takes 11 otter steps
Otter Steps Predicted
1 267
2 2,235
3 6,840
4 20,463
5 62,895
6 176,040
7 500,271
8 1,387,739
9 3,878,739
10 10,830,672
11 30,144,672
Executing Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Macro machines + loop prediction + observant otter can cope with all known monsters (!!)
Size Ones Hops Otters Otter Steps
2x4 90 7195 2 64%
2x4 2050 3932964 8 99%
3x3 17338 127529109 17 > 99%
3x3 95524079 (16 digits) 17 > 99%
3x3 374676383 (18 digits) 60 > 99%
5x2 4098 47,176,870 11 > 99%
5x2 4098 11,798,796 10 > 99%
5x2 4097 23,554,764 74 > 99%
2x5 (31 digits) (62 digits) 168 > 99%
2x5 (106 digits) (212 digits) 593 > 99%
2x5 (353 digits) (705 digits) 1993 > 99%
Executing Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Size Ones Hops Otters Otter Steps
6x2 (18268 digits) (36535 digits) 30345 > 99%
6x2 (10567 digits) (21133 digits) 99697 > 99%
6x2 (1440 digits) (2880 digits) 8167 > 99%
6x2 (882 digits) (1763 digits) 2211 > 99%
4x3 (7037 digits) (14073 digits) 25255 > 99%
4x3 (6035 digits) (12069 digits) 34262 > 99%
4x3 (4932 digits) (9864 digits) 57368 > 99%
3x4 (6519 digits) (13037 digits) 13667 > 99%
3x4 (2373 digits) (4745 digits) 13465 > 99%
3x4 (2356 digits) (4711 digits) 107045 > 99%
2x6 (4934 digits) (9867 digits) 16394 > 99%
2x6 (4932 digits) (9864 digits) 49142 > 99%
2x6 (822 digits) (1644 digits) 2733 > 99%
Executing Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Size Ones Hops Otters Otter Steps
6x2 (18268 digits) (36535 digits) 30345 > 99%
6x2 (10567 digits) (21133 digits) 99697 > 99%
6x2 (1440 digits) (2880 digits) 8167 > 99%
6x2 (882 digits) (1763 digits) 2211 > 99%
4x3 (7037 digits) (14073 digits) 25255 > 99%
4x3 (6035 digits) (12069 digits) 34262 > 99%
4x3 (4932 digits) (9864 digits) 57368 > 99%
3x4 (6519 digits) (13037 digits) 13667 > 99%
3x4 (2373 digits) (4745 digits) 13465 > 99%
3x4 (2356 digits) (4711 digits) 107045 > 99%
2x6 (4934 digits) (9867 digits) 16394 > 99%
2x6 (4932 digits) (9864 digits) 49142 > 99%
2x6 (822 digits) (1644 digits) 2733 > 99%
HERE BE DRAGONS!
Executing Machines
Beaver, Platypus, Unicorn … Monash June 2nd, 2014
Size Ones Hops Otters Otter Steps
6x2 (18268 digits) (36535 digits) 30345 > 99%
6x2 (10567 digits) (21133 digits) 99697 > 99%
6x2 (1440 digits) (2880 digits) 8167 > 99%
6x2 (882 digits) (1763 digits) 2211 > 99%
4x3 (7037 digits) (14073 digits) 25255 > 99%
4x3 (6035 digits) (12069 digits) 34262 > 99%
4x3 (4932 digits) (9864 digits) 57368 > 99%
3x4 (6519 digits) (13037 digits) 13667 > 99%
3x4 (2373 digits) (4745 digits) 13465 > 99%
3x4 (2356 digits) (4711 digits) 107045 > 99%
2x6 (4934 digits) (9867 digits) 16394 > 99%
2x6 (4932 digits) (9864 digits) 49142 > 99%
2x6 (822 digits) (1644 digits) 2733 > 99%HERE BE HOBBITS!
Aberrent Albatrosses The observant otter is not a panacea …
Some machines do not produce “neat, compressible” patterns …
3x3 case terminates in 2,315,619 steps with 31 non-zeroes
2x5 case terminates in 26,375,397,569,930 steps with 143 non-zeroes
1004: 012010150130170{b}134334
5000: (011)2101(111)311{a}0433135441100
10001: 01401013010160{a}331374300
???Beaver, Platypus, Unicorn, … RMIT 1st August,
2014
Analysing Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Some non-termination cases are easy
perennial pigeon: repeats a particular configuration
phlegmatic phoenix: tape returns to blank
road runner: “straight to the end of the tape”
meandering meerkat: terminal transition cannot be reached
Hence we check for these first
Beaver, Platypus, Unicorn, …
How?
Otherwise .. (ie all the easy cases have been checked): Run the machine for a given number of steps
If it halts, done. Check for non-terminating pattern (Verify non-terminating pattern)
Execute machine for a larger number of steps Eventually give up!
RMIT 1st August, 2014
Observant Otter
Some surprises can be in store ....
16{D}0 → 118{D}0 → 142{D}0 (!!!) → 190{D}0
130{D}0 does not occur …
So always look for three instances of a pattern
Conjecture in this case is 1N{D}0 → 12N+6{D}0
or alternatively
1N{D}0 → (11)N111111{D}0
Clearly there is exponential growth here …
Beaver, Platypus, Unicorn, … RMIT 1st August, 2014
Aberrent AlbatrossesThese occur in non-termination cases as well …
36: {a}0333
54: {a}030323
74: {a}032333
88: {a}033333
110: {a}03030323
136: {a}03232333
150: {a}03332333
168: {a}03303333
204: {a}0332330323
Beaver, Platypus, Unicorn, … RMIT 1st August, 2014
??
Aberrent AlbatrossesThese occur in non-termination cases as well …
36: {a}0333
54: {a}030323
74: {a}032333
88: {a}033333
110: {a}03030323
136: {a}03232333
150: {a}03332333
168: {a}03303333
204: {a}0332330323
Beaver, Platypus, Unicorn, … RMIT 1st August, 2014
Searching for Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
To find bb(n,m):
1. Generate all n-state m-symbol machines
2. Classify them as terminating or non-terminating
3. Find the terminating one which produces the largest number of 1’s (or non-zero characters)
Only problem is that there are lots of traps …
Executing Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Size Ones Hops Otters Otter Steps
6x2 (18268 digits) (36535 digits) 30345 > 99%
6x2 (10567 digits) (21133 digits) 99697 > 99%
6x2 (1440 digits) (2880 digits) 8167 > 99%
6x2 (882 digits) (1763 digits) 2211 > 99%
4x3 (7037 digits) (14073 digits) 25255 > 99%
4x3 (6035 digits) (12069 digits) 34262 > 99%
4x3 (4932 digits) (9864 digits) 57368 > 99%
3x4 (6519 digits) (13037 digits) 13667 > 99%
3x4 (2373 digits) (4745 digits) 13465 > 99%
3x4 (2356 digits) (4711 digits) 107045 > 99%
2x6 (4934 digits) (9867 digits) 16394 > 99%
2x6 (4932 digits) (9864 digits) 49142 > 99%
2x6 (822 digits) (1644 digits) 2733 > 99%
HERE BE DRAGONS!
Searching for Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
There is a finite but very large set of machines for each size …
#machines of size n is O(nn) [ > O(n!) > O(2n) !!]
‘Free’ generation of machines quickly becomes cumbersome ..
‘Free’ generation creates too many trivial machines
a b c h11R01R
00L, 10R
10R01R
Searching through Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
First transition is fixed Run partial machine Add a new transition when a ‘missing’ case
happens Add ‘halt’ transition when appropriate
Only one transition left At least n different states for an n-state machine
00L
a b c h11L01R 10R
{a}0 -> 1{b}0 -> {a}1 -> {a}01 -> 1{b}1 -> 10{c}0
Generates machines in tree normal form (tnf)
Searching through Machines
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
n m tnf free
2 2 36 64
3 2 3,522 55,296
2 3 2,751 41,472
4 2 507,107 ??
2 4 335,795 ??
3 3 25,994,116 ??
5 2 99,174,398 ??
2 5 72,130,469 ??
Implementation
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Around 5,000 lines of SWI Prolog
Versions available at my website
Data available as well
Documentation is a little lacking …
Intention is that other researchers can use data and verify results (this is empirical science!)
Blue Bilby
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
n m Total Terminated Going Unclassified
2 2 36 14 22 0
3 2 3,522 1,188 2,334 0
2 3 2,751 825 1,926 0
The free and arbitrary classes have also been classified for these cases
n-state m-symbol machines, n x m ≤ 6
Beaver, Platypus, Unicorn, Zoo …
Ebony Elephant
n-state m-symbol machines, n x m = 8
n m Total Terminated Going Unclassified
4 2 507,107 150,897 325,621 0
2 4 335,795 111,825 223,565 405 (!!)
1's 1 2 3 4 5 6 7 8 9 10
11
12
13
# 3836 23161
37995
31023 15131
5263 1487
357
74
11
5 3 2
RMIT 1st August, 2014
White Whale
n m Total
3 3 25,994,116
5 2 99,174,375
2 5 72,130,469
Need to improve the technologybefore taking this on ...
n-state m-symbol machines, n x m = 9 or 10
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Demon Duck of Doomn-state m-symbol machines, n x m = 12 (!??!!)
n m Total
6 2 ??
4 3 ??
3 4 ??
2 6 ??
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Universal Turing machines
Quest for the smallest universal TM goes on … Involves searching similar (but larger) spaces
Alain Colmerauer (KR’08 talk) U on code(M)code(w) simulates M on w Let M = U U on code(U)code(w) simulates U on w
Let w = blank (and assume code(blank) = blank) U on code(U) simulates U on blank
Hence pseudo-universality test: M is pseudo-universal if M on code(M) simulates M on blank
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Universal Turing machines
What exactly is the definition of a universal Turing machine?
How can such definitions be used to identify universal machines “in the wild”?
What constraints are there on the coding function?
Does a UTM have to terminate? Must a UTM terminate on code(M)code(w) exactly
when M terminates on w?
What is an appropriate “architecture” for a UTM? (code(M)code(w) vs code(w)code(M) )
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
2-D machines
Can interpret numbers as images …
Have generated some of the smaller cases here
Very basic implementation of emulation
Potentially very interesting loop behaviour
Strict generalisation of one-dimensional case
Beaver, Platypus, Unicorn … RMIT ??, 2014
Learning?
Ebony Elephant case suggests that `most' machines are boring …
Only 2,667 are either high productivity or unclassified
At most 100,000 of the non-terminators are difficult
The remaining 80% are unexceptional … Can we find a criterion to identify (at least a
substantial fraction) of the unexceptional machines?
Need to identify possible features of machines ...Beaver, Platypus, Unicorn … RMIT ??, 2014
Finite Decidability Anomaly
Termination for TMs on blank input is undecidable
Calculating bb(n) involves “only” a finite # machines …
So there is an algorithm for computing bb(n) for each n (!!)
Claim: Any decision problem over any finite set is decidable
Proof Sketch: For a set of size n, there are only 2n possible decisions. Each such decision can be implemented by a Turing machine, ie. a “table” machine that outputs the decision value for each element i є {1 … n}. This is only a “table”, not an “algorithm”, but it is a Turing machine … QED
Beaver, Platypus, Unicorn … RMIT ??, 2014
Finite Decidability Anomaly
Termination for TMs on blank input is undecidable
Calculating bb(n) involves “only” a finite # machines …
So there is an algorithm for computing bb(n) for each n (!!)
Claim: Any decision problem over any finite set is decidable
Proof Sketch: For a set of size n, there are only 2n possible decisions. Each such decision can be implemented by a Turing machine, ie. a “table” machine that outputs the decision value for each element i є {1 … n}. This is only a “table”, not an “algorithm”, but it is a Turing machine … QED
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Finite Decidability Anomaly
Note: A decision procedure for a decidable problem over an infinite set is much shorter than the set itself
So for a finite set, we should require that the Turing machine that decides it should be quantifiably shorter than the “table” which specifies the decision …
An “algorithm” should be predictive, ie should work for more values than those specified in the table …
(more thought needed!)
Beaver, Platypus, Unicorn … RMIT 1st August, 2014
Conclusions & Further Work Ebony elephant is close to capture
White whale should be alert and alarmed (“Call me Ishmael’’ )
Demon Duck of Doom … [watch this space]
Machine learning techniques may identify criteria which can reduce search space
Duality between n-state 2-symbol and 2-state n-symbol cases
Otter needs to be “remembered”
Compress machines rather than fix macro size in advanceBeaver, Platypus, Unicorn … RMIT 1st August,
2014
Conclusions & Further Work
Weakening of conjectures for aberrent albatrosses
Proofs desired for
3 instances for otter is sufficient
Calculation of #steps (2nd order difference equations)
Champion machines are always exhaustive
Quadruple vs Quintuple machines
Better “pruning” of search space
Beaver, Platypus, Unicorn … RMIT 1st August, 2014