1 / 44

The Busy Beaver, the Placid Platypus and the Universal Unicorn

James Harland james.harland@rmit.edu.au. The Busy Beaver, the Placid Platypus and the Universal Unicorn. Overview. Busy beaver problem and similar problems Machine execution techniques Searching large numbers of machines Universal Turing machines Connections with other areas.

Download Presentation

The Busy Beaver, the Placid Platypus and the Universal Unicorn

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RMIT 1st August, 2014 James Harland james.harland@rmit.edu.au The Busy Beaver, the Placid Platypus and the Universal Unicorn

  2. Overview • Busy beaver problem and similar problems • Machine execution techniques • Searching large numbers of machines • Universal Turing machines • Connections with other areas RMIT 1stAugust, 2014

  3. RMIT 1st August, 2014 Overview • Busy beaver problem and similar problems • Machine execution techniques • Searching large numbers of machines • Universal Turing machines • Connections with other areas

  4. RMIT 1st August, 2014 Overview • ‘Organic’ theoretical computer science • Exploration of theoretical concepts by software tools • Mix of empirical and theoretical methods

  5. RMIT 1st August, 2014 01R 10R 11R b c a 11R h 01L 00L What? • 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

  6. RMIT 1st August, 2014 What? What is the largest number of 1’s that can be printed by a terminating n-state machine?

  7. RMIT1st August, 2014 What? HERE BE DRAGONS!

  8. RMIT1st August, 2014 What? • 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)

  9. RMIT1st August, 2014 Why? • 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’

  10. RMIT1st August, 2014 Why? 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) ]

  11. RMIT1st August, 2014 Why? • bb(n,2) = k means that pp(k) ≤ n andpp(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 productivity74, 85, 92-7, 100-110, 113, 114, 115, … • Need complete classification to be sure

  12. RMIT1st August, 2014 Executing Machines • 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

  13. RMIT1st August, 2014 Executing Machines What do the monsters do? 5x2 state champion (terminates in 47,176,870 steps) 20,000+ steps in 1

  14. RMIT1st August, 2014 Executing Machines 5x2 state champion takes 11 otter steps

  15. RMIT1st August, 2014 Executing Machines Macro machines + loop prediction + observant otter can cope with all known monsters (!!)

  16. RMIT1st August, 2014 Executing Machines

  17. RMIT1st August, 2014 Executing Machines HERE BE DRAGONS!

  18. Monash June 2nd, 2014 Executing Machines HERE BE HOBBITS!

  19. 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 ??? • RMIT 1st August, 2014

  20. RMIT1st August, 2014 Analysing Machines • 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

  21. 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

  22. 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 … • RMIT1st August, 2014

  23. Aberrent Albatrosses These 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 ?? RMIT 1st August, 2014

  24. Aberrent Albatrosses These 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 RMIT 1st August, 2014

  25. RMIT1st August, 2014 Searching for Machines • To find bb(n,m): • Generate all n-state m-symbol machines • Classifythem as terminating or non-terminating • 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 …

  26. RMIT 1st August, 2014 Executing Machines HERE BE DRAGONS!

  27. RMIT1st August, 2014 Searching for Machines • There is a finite but very large set of machines for each size … • #machines of size n isO(nn) [ > O(n!) > O(2n) !!] • ‘Free’ generation of machines quickly becomes cumbersome .. • ‘Free’ generation creates too many trivial machines 01R 10R a b c 11R 01R h 00L, 10R

  28. RMIT1st August, 2014 01R 10R a c 11L b h Searching through Machines • 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}0 -> 1{b}0 -> {a}1 -> {a}01 -> 1{b}1 -> 10{c}0 Generates machines in tree normal form (tnf)

  29. RMIT1st August, 2014 Searching through Machines

  30. RMIT1st August, 2014 Implementation • 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!)

  31. RMIT1st August, 2014 Blue Bilby n-state m-symbol machines, n x m ≤ 6 The free and arbitrary classes have also been classified for these cases

  32. RMIT1st August, 2014 Ebony Elephant n-state m-symbol machines, n x m = 8

  33. RMIT1st August, 2014 White Whale n-state m-symbol machines, n x m = 9 or 10 Need to improve the technology before taking this on ...

  34. RMIT1st August, 2014 Demon Duck of Doom n-state m-symbol machines, n x m = 12 (!??!!)

  35. RMIT1st 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

  36. RMIT1st 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) )

  37. RMIT ??, 2014 2-D machines 0 2 1 0 1

  38. RMIT ??, 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

  39. 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 ...

  40. 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

  41. RMIT 1st August, 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

  42. RMIT1st 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!)

  43. RMIT1st 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 advance

  44. 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

More Related