/
The Busy Beaver, the Placid Platypus and the Universal The Busy Beaver, the Placid Platypus and the Universal

The Busy Beaver, the Placid Platypus and the Universal - PowerPoint Presentation

ellena-manuel
ellena-manuel . @ellena-manuel
Follow
369 views
Uploaded On 2018-03-19

The Busy Beaver, the Placid Platypus and the Universal - PPT Presentation

Unicorn Beaver Platypus Unicorn Monash June 2 nd 2014 James Harland jamesharlandrmiteduau Overview Beaver Platypus Unicorn Monash June 2 ID: 656616

platypus digits monash unicorn digits platypus unicorn monash june 2014 beaver machines 2nd machine state code steps 4x3 3x4

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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