Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
The Busy Beaver, the Placid Platypus and the Universal Unicorn James Harland [email protected] Beaver, Platypus, Unicorn … Monash June 2nd, 2014 Overview Busy beaver problem and similar problems Machine execution techniques Searching large numbers of machines Universal Turing machines Connections with other areas Beaver, Platypus, Unicorn … Monash June 2nd, 2014 Overview Busy beaver problem and similar problems Machine execution techniques Searching large numbers of machines Universal Turing machines Connections with other areas Beaver, Platypus, Unicorn … Monash June 2nd, 2014 Overview ‘Organic’ theoretical computer science Exploration of theoretical concepts by software tools Mix of empirical and theoretical methods Beaver, Platypus, Unicorn … Monash June 2nd, 2014 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 11R a 01R b 00L Beaver, Platypus, Unicorn … 10R 01L c Monash 11R h June 2nd, 2014 What? What is the largest number of 1’s that can be printed by a terminating n-state machine? n 1 2 #1’s (productivity) 1 4 #steps 1 6 3 4 6 13 21 107 5 6 ≥ 4098 ≥ 3.51×1018,276 ≥ 47,176,870 (??) ≥ 7.41×1036,534 Beaver, Platypus, Unicorn … Monash (!!) June 2nd, 2014 What? 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 × 10352 ≥ 1.9 × 10704 6 2 3.51×1018276 ≥ 7.41×1036534 3 ≥ 1.383 × 107036 ≥ 1.025 × 1014072 4 ≥ 3.743 × 106518 ≥ 5.254 × 1013036 6 ≥ 1.903 × 104933 ≥ 2.415 × 109866 4 3 2 HERE BE DRAGONS! Beaver, Platypus, Unicorn … Monash June 2nd, 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) Beaver, Platypus, Unicorn … Monash June 2nd, 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’ Beaver, Platypus, Unicorn … Monash June 2nd, 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 nstate 2-symbol machine) needed to print k 1’s? We call this the placid platypus problem [ pp(k) ] Beaver, Platypus, Unicorn … Monash June 2nd, 2014 Why? 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 Beaver, Platypus, Unicorn … Monash June 2nd, 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 State Input InDir Output OutDir NewState b 01 l 11 r b {b}(01)1001 -> (11)100 {b}1 Beaver, Platypus, Unicorn … Monash June 2nd, 2014 Executing Machines What do the monsters do? 5x2 state champion (terminates in 47,176,870 steps) Step 12393 Configuration 001111{b}(001)66100 12480 12657 … 001(111)6{b}(001)63100 001(111)11{b}(001)60100 … 33120 … 001(111)106{b}(001)3100 … 47176870 101{h}(001)4095100 Beaver, Platypus, Unicorn … Monash 20,000+ steps in 1 June 2nd, 2014 Executing Machines 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,672 Beaver, Platypus, Unicorn … Monash June 2nd, 2014 Executing Machines 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 4098 47,176,870 11 > 99% 5x2 4098 11,798,796 10 > 99% 5x2 4097 23,554,764 74 > 99% 2x5 (31 digits) (62 digits) 168 > 99% 2x5 (106 digits) (212 digits) 593 > 99% 2x5 (353 digits) Beaver, Platypus, Unicorn … (705 digits) 1993 Monash > 99% June 2nd, 2014 Executing Machines Size Ones Hops Otters Otter Steps 6x2 (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) Beaver, Platypus, Unicorn … 2733 Monash > 99% June 2nd, 2014 Executing Machines Size Ones Hops Otters Otter Steps 6x2 (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% HERE BE DRAGONS! 2x6 (822 digits) (1644 digits) Beaver, Platypus, Unicorn … 2733 Monash > 99% June 2nd, 2014 Executing Machines Size Ones Hops Otters Otter Steps 6x2 (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% HERE BE HOBBITS! 2x6 (822 digits) (1644 digits) Beaver, Platypus, Unicorn … 2733 Monash > 99% June 2nd, 2014 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 ??? Beaver, Platypus, Unicorn, … Monash June 2nd, 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 Beaver, Platypus, Unicorn … Monash June 2nd, 2014 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! Beaver, Platypus, Unicorn, … Monash June 2nd, 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 … Beaver, Platypus, Unicorn, … Monash June 2nd, 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 Beaver, Platypus, Unicorn, … Monash June 2nd, 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 Beaver, Platypus, Unicorn, … Monash June 2nd, 2014 Searching for Machines To find bb(n,m): 1. Generate all n-state m-symbol machines 2. Classify them as terminating or non-terminating 3. 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 … Beaver, Platypus, Unicorn … Monash June 2nd, 2014 Executing Machines Size Ones Hops Otters Otter Steps 6x2 (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% HERE BE DRAGONS! 2x6 (822 digits) (1644 digits) Beaver, Platypus, Unicorn … 2733 Monash > 99% June 2nd, 2014 Searching for Machines There is a finite but very large set of machines for each size … #machines of size n is O(nn) [ > O(n!) > O(2n) !!] ‘Free’ generation of machines quickly becomes cumbersome .. ‘Free’ generation creates too many trivial machines 11R a 01R b 01R c 00L, 10R Beaver, Platypus, Unicorn … Monash 10R h June 2nd, 2014 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 11L a 01R 00L b 10R c h {a}0 -> 1{b}0 -> {a}1 -> {a}01 -> 1{b}1 -> 10{c}0 Generates machines in tree normal form (tnf) Beaver, Platypus, Unicorn … Monash June 2nd, 2014 Searching through Machines 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 ?? Beaver, Platypus, Unicorn … Monash June 2nd, 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!) Beaver, Platypus, Unicorn … Monash June 2nd, 2014 Blue Bilby n-state m-symbol machines, n x m ≤ 6 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 Beaver, Platypus, Unicorn … Monash June 2nd, 2014 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 # 3836 23161 37995 31023 4 5 6 7 8 15131 5263 1487 357 74 11 Beaver, Platypus, Unicorn, Zoo … 9 Monash 29th June,2011 10 11 12 13 5 2 3 White Whale n-state m-symbol machines, n x m = 9 or 10 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 ... Beaver, Platypus, Unicorn … Monash June 2nd, 2014 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 2nd, 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 Beaver, Platypus, Unicorn … Monash June 2nd, 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) ) Beaver, Platypus, Unicorn … Monash June 2nd, 2014 2-D machines 0 2 1 0 1 Beaver, Platypus, Unicorn … Monash June 2nd, 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 Beaver, Platypus, Unicorn … Monash June 2nd, 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 ... Beaver, Platypus, Unicorn … Monash June 2nd, 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 Beaver, Platypus, Unicorn … Monash June 2nd, 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 Beaver, Platypus, Unicorn … Monash June 2nd, 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!) Beaver, Platypus, Unicorn … Monash June 2nd, 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 Beaver, Platypus, Unicorn … Monash June 2nd, 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 Beaver, Platypus, Unicorn … Monash June 2nd, 2014