Unicorn Beaver Platypus Unicorn Monash June 2 nd 2014 James Harland jamesharlandrmiteduau Overview Beaver Platypus Unicorn Monash June 2 ID: 656616
Download Presentation The PPT/PDF document "The Busy Beaver, the Placid Platypus and..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
The Busy Beaver, the Placid Platypus and the Universal Unicorn
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
James Harlandjames.harland@rmit.edu.auSlide2
Overview
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
Busy beaver problem and similar problems
Machine execution techniques
Searching large numbers of machines
Universal Turing machines
Connections with other areas
Slide3
Overview
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
Busy beaver problem and similar problems
Machine execution techniques
Searching large numbers of machines
Universal Turing machines
Connections with other areas
Slide4
Overview
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
‘Organic’ theoretical computer science
Exploration of theoretical concepts by software tools
Mix of empirical and theoretical methods
Slide5
What?
Beaver, Platypus, Unicorn …
Monash June 2nd, 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
h
11R
01R
00L
10R
01L
11RSlide6
What?
Beaver, Platypus, Unicorn …
Monash June 2nd, 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×10
18,276
≥ 7.41×10
36,534
(!!)Slide7
What?
Beaver, Platypus, Unicorn …
Monash June 2nd, 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 × 10
352
≥
1.9 × 10
704
6
2
3.51×10
18276
≥ 7.41×10
36534
4
3
≥
1.383
×
10
7036
≥
1.025
×
10
14072
3
4
≥
3.743
× 106518 ≥ 5.254 × 1013036 26≥ 1.903 × 104933 ≥ 2.415 × 109866
HERE BE DRAGONS!Slide8
What?
Beaver, Platypus, Unicorn …
Monash June 2nd, 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)Slide9
Why?
Beaver, Platypus, Unicorn …
Monash June 2nd, 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’Slide10
Why?
Beaver, Platypus, Unicorn …
Monash June 2nd, 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) ]Slide11
Why?
Beaver, Platypus, Unicorn …
Monash June 2nd, 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 Slide12
Executing Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 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)
100
1
-> (11)
100
{b}1
State
Input
InDir
Output
OutDir
NewState
b
01
l
11
r
bSlide13
Executing Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
What
do the monsters do?
5x2 state champion (terminates in 47,176,870 steps)
Step
Configuration
12393
001111{b}(001)
66
100
12480
001(111)
6
{b}(001)
63
100
12657
001(111)
11
{b}(001)
60
100
…
…
33120
001(111)
106
{b}(001)
3
100
…
…
47176870
101{h}(001)
4095
100
20,000+ steps in 1Slide14
Executing Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 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,672Slide15
Executing Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 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
409847,176,87011> 99%
5x2409811,798,796
10
> 99%5x2409723,554,76474> 99%2x5(31 digits)(62 digits)168> 99%2x5(106 digits)(212 digits)593> 99%2x5
(353 digits)(705 digits)1993> 99%Slide16
Executing Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
SizeOnesHopsOttersOtter Steps6x2
(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%Slide17
Executing Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
SizeOnesHopsOttersOtter Steps6x2
(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!Slide18
Executing Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
SizeOnesHopsOttersOtter Steps6x2
(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!Slide19
Aberrent AlbatrossesThe 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-zeroes2x5 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: 01
4010130101
60{a}3313
74300
???
Beaver, Platypus, Unicorn, …
Monash
June 2
nd
, 2014Slide20
Analysing Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 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 firstSlide21
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!
Monash
June 2
nd
, 2014Slide22
Observant OtterSome surprises can be in store ....16{D}0 → 1
18{D}0 → 1
42{D}0 (!!!) → 190{D}0
130{D}0 does not occur …So always look for three instances of a patternConjecture in this case is 1N{D}0 → 12N+6{D}0 or alternatively1N{D}0 → (11)N111111{D}0
Clearly there is exponential growth here …
Beaver, Platypus, Unicorn, …
Monash
June 2
nd
, 2014Slide23
Aberrent AlbatrossesThese occur in non-termination cases as well …
36: {a}033354: {a}030323
74: {a}03233388: {a}033333110: {a}03030323136: {a}03232333
150: {a}03332333168: {a}03303333204: {a}0332330323
Beaver, Platypus, Unicorn, …
Monash
June 2
nd
, 2014
??Slide24
Aberrent AlbatrossesThese occur in non-termination cases as well …
36: {a}0333
54: {a}03032374: {a}032
33388: {a}033333110: {a}03030323136: {a}03232333150: {a}03332333168: {a}03303333204: {a}0332
330323
Beaver, Platypus, Unicorn, …
Monash
June 2
nd
, 2014Slide25
Searching for Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
To find bb(n,m):
Generate all
n
-state
m
-symbol machines
Classify
them as terminating or non-terminatingFind the terminating one which produces the largest number of 1’s (or non-zero characters)
Only problem is that there are lots of traps … Slide26
Executing Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
SizeOnesHopsOttersOtter Steps6x2
(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!Slide27
Searching for Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
There is a finite but very large set of machines for each size …
#machines
of size
n
is
O(
n
n) [ > O(n!) > O(2n) !!]‘Free’ generation of machines quickly becomes cumbersome .. ‘
Free’ generation creates too many trivial machines
a
b
c
h
11R
01R
00L, 10R
10R
01RSlide28
Searching through Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 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
h
11L
01R
10R
{a}0
->
1{b}0
->
{a}1
->
{a}01
->
1{b}1
->
10{c}0
Generates machines in
tree normal form (
tnf
)Slide29
Searching through Machines
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
n
m
tnf
free
2
2
36
64
3
2
3,522
55,296
2
3
2,765
41,472
4
2
507,107
??
2
4
501,232
??
3
3
25,955,301
??
5
2
99,174,375
??
2
5
≥ 115,000,000
??Slide30
Implementation
Beaver, Platypus, Unicorn …
Monash June 2nd, 2014
Around 5,000 lines of SWI PrologVersions 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!)Slide31
Blue BilbyBeaver, Platypus, Unicorn …
Monash
June 2nd, 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,765
839
1,926
0
The free and arbitrary classes have also been classified for these cases
n-state m-symbol machines,
n x m
≤ 6Slide32
Beaver, Platypus, Unicorn, Zoo …
Monash 29
th
June,2011
Ebony Elephant
n-state m-symbol machines,
n x m = 8
n
m
Total
Terminated
Going
Unclassified
4
2
507,107
150,897
356,210
0
2
4
501,232
168,674
331,960
598
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
2Slide33
White Whale
n
m
Total
3
3
25,955,301
5
2
99,174,375
2
5
≥ 115,000,000
Need to improve the technology
before taking this on ...
n
-state
m
-symbol machines,
n x m = 9 or 10
Beaver, Platypus, Unicorn …
Monash
June 2
nd
, 2014Slide34
Demon Duck of Doom
n
-state m-symbol machines, n x m = 12 (!??!!)
n
m
Total
6
2
??
4
3
??
3
4
??
2
6
??
Beaver, Platypus, Unicorn …
Monash
June 2
nd
, 2014Slide35
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 blankHence pseudo-universality test: M is pseudo-universal if M on code(M) simulates M on blankBeaver, Platypus, Unicorn … Monash June 2nd, 2014Slide36
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 … Monash June 2nd, 2014Slide37
2-D machines
0
0
2
1
1
Beaver, Platypus, Unicorn …
Monash
June 2
nd
, 2014Slide38
2-D machinesCan 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 …
Monash
June 2
nd
, 2014Slide39
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 …
Monash
June 2
nd
, 2014Slide40
Finite Decidability Anomaly
Termination for
TMs
on blank input is undecidableCalculating 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 decidableProof 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 … QEDBeaver, Platypus, Unicorn … Monash June 2nd, 2014Slide41
Finite Decidability Anomaly
Termination for
TMs
on blank input is undecidableCalculating 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 decidableProof 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 … QEDBeaver, Platypus, Unicorn … Monash June 2nd, 2014Slide42
Finite Decidability Anomaly
Note:
A decision procedure for a decidable problem over an infinite set is
much shorter than the set itselfSo 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 …
Monash June 2nd, 2014Slide43
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 spaceDuality between n-state 2-symbol and 2-state n-symbol cases Otter needs to be “remembered”Compress machines rather than fix macro size in advance
Beaver, Platypus, Unicorn …
Monash
June 2
nd
, 2014Slide44
Conclusions & Further Work
Weakening of conjectures
for aberrent albatrossesProofs desired for
3 instances for otter is sufficientCalculation of #steps (2nd order difference equations)Champion machines are always exhaustiveQuadruple vs Quintuple machinesBetter “pruning” of search spaceBeaver, Platypus, Unicorn … Monash
June 2nd, 2014