Loading in 2 Seconds...

The Busy Beaver, the Placid Platypus and the Universal Unicorn

Loading in 2 Seconds...

131 Views

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. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**RMIT 1st August, 2014**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 RMIT 1stAugust, 2014**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**RMIT 1st August, 2014**Overview • ‘Organic’ theoretical computer science • Exploration of theoretical concepts by software tools • Mix of empirical and theoretical methods**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**RMIT 1st August, 2014**What? What is the largest number of 1’s that can be printed by a terminating n-state machine?**RMIT1st August, 2014**What? HERE BE DRAGONS!**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)**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’**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) ]**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**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**RMIT1st August, 2014**Executing Machines What do the monsters do? 5x2 state champion (terminates in 47,176,870 steps) 20,000+ steps in 1**RMIT1st August, 2014**Executing Machines 5x2 state champion takes 11 otter steps**RMIT1st August, 2014**Executing Machines Macro machines + loop prediction + observant otter can cope with all known monsters (!!)**RMIT1st August, 2014**Executing Machines**RMIT1st August, 2014**Executing Machines HERE BE DRAGONS!**Monash June 2nd, 2014**Executing Machines 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 ??? • RMIT 1st August, 2014**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**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 … • RMIT1st August, 2014**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**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**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 …**RMIT 1st August, 2014**Executing Machines HERE BE DRAGONS!**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**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)**RMIT1st August, 2014**Searching through Machines**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!)**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**RMIT1st August, 2014**Ebony Elephant n-state m-symbol machines, n x m = 8**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 ...**RMIT1st August, 2014**Demon Duck of Doom n-state m-symbol machines, n x m = 12 (!??!!)**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**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) )**RMIT ??, 2014**2-D machines 0 2 1 0 1**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**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 ...**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**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**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!)**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**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