160 likes | 273 Views
Analysis of Busy Beaver Machines via Induction Proofs. James Harland jah@cs.rmit.edu.au www.cs.rmit.edu.au/~jah School of CS & IT RMIT University. Introduction. New twist on an old problem More questions than answers! Innocuous class of machines generate huge numbers
E N D
Analysis of Busy Beaver Machines via Induction Proofs James Harland jah@cs.rmit.edu.au www.cs.rmit.edu.au/~jah School of CS & IT RMIT University James Harland Analysis of Busy Beaver machines via Induction Proofs
Introduction • New twist on an old problem • More questions than answers! • Innocuous class of machines generate huge numbers • Involves termination analysis and constraint programming • Frustrating to the point of obsession … James Harland Analysis of Busy Beaver machines via Induction Proofs
Busy Beaver Turing Machines • Two-way infinite tape • Only tape symbols are 0 and 1 • Deterministic • Blank on input • Question:What is the largest number of 1’s that can be printed by a terminating n-state machine? James Harland Analysis of Busy Beaver machines via Induction Proofs
Known Values (n states, 2 symbols) James Harland Analysis of Busy Beaver machines via Induction Proofs
Known Values (n states, m symbols) James Harland Analysis of Busy Beaver machines via Induction Proofs
Known Beaver Machines James Harland Analysis of Busy Beaver machines via Induction Proofs
Known Beaver Machines This can be represented in around 60 bits … 10865 takes about 2,800 bits … James Harland Analysis of Busy Beaver machines via Induction Proofs
Busy Beaver function • Non-computable • Grows faster than any computable function • Various mathematical bounds known • Seems hopeless for n ≥ 7 • Values for n = 5 seem settled • 3, 4, 5, 6 symbol versions are popular James Harland Analysis of Busy Beaver machines via Induction Proofs
Contribution of this work • Use execution history for non-termination • conjectures • Evaluate conjectures on a “hypothetical” • engine • Automate the search as much as possible James Harland Analysis of Busy Beaver machines via Induction Proofs
Example • 11{C}1 → 11{C}111 → 11{C}11111 … • Conjecture is 11{C} 1 (11)N → 11{C} 111(11)N • Start engine in 11{C} 1 (11)N • Terminate with success if we reach • 11{C} 111 (11)N(or 11{C} 11 (11)N1 or …) James Harland Analysis of Busy Beaver machines via Induction Proofs
Killer Kangaroos 16{D}0 → 118{D}0 → 142{D}0 (!!!) → 190{D}0 130{D}0does not occur … 1N{D}0 → 12N+6{D}0 or alternatively 1N{D}0 → (11)N111111{D}0 Then execute on engine as before James Harland Analysis of Busy Beaver machines via Induction Proofs
Engine Design • L {S}IN R → ???? • Run L {S}I R and look for “repeatable” parts • L {S}I R→ L O {S} R wild wombat • L {S}I R→ L’ O {S} R slithery snake • L {S}I R→ L’ O {S} R’ maniacal monkey • slithery snake → resilient reptile when |I| < |O| James Harland Analysis of Busy Beaver machines via Induction Proofs
Engine State • Around 4,000 lines of Ciao Prolog • Available on my web page • Includes all three heuristics • Some killer kangaroos still escape … • Analysis does not terminate for all machines (yet!) • At least one further heuristic needed James Harland Analysis of Busy Beaver machines via Induction Proofs
Addictive Adders 1111{C}11 1011{C}111 110{C}1111 111111{C}11 101111{C}111 11011{C}1111 1110{C}11111 11111111{C}11 James Harland Analysis of Busy Beaver machines via Induction Proofs
Addictive Adders Conjecture is 1N1111{C}11 → 1N111111{C}11 “Secondary” induction of the form 1N 0(11)K {C} 1M → 1N+10(11)K-1 {C} 1M+1 The forthcoming observant otter heuristic will evaluate this as 1N+K 0 {C} 1M+K James Harland Analysis of Busy Beaver machines via Induction Proofs
Conclusions & Further Work • Plenty of interesting questions … • Decidability (?) of n = 4 case • Complete analysis of n = 5 case • Engine improvements • 2x3, 2x4, 2x5, 3x3 cases as well • Placid platypus and other aspects • “mine” cases for 3,4,5 for attempt on n = 6 (aka quest for the demon duck of doom) James Harland Analysis of Busy Beaver machines via Induction Proofs