The Busy Beaver the Placid Platypus and the
The Busy Beaver, the Placid Platypus and the Universal Unicorn James Harland james. harland@rmit. edu. au Beaver, Platypus, Unicorn … Monash June 2 nd, 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 2 nd, 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 2 nd, 2014
Overview ‘Organic’ theoretical computer science Exploration of theoretical concepts by software tools Mix of empirical and theoretical methods Beaver, Platypus, Unicorn … Monash June 2 nd, 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 11 R a 01 R b 00 L Beaver, Platypus, Unicorn … 10 R 01 L c Monash 11 R h June 2 nd, 2014
What? What is the largest number of 1’s that can be printed by a terminating n-state machine? n 1 2 3 #1’s (productivity) 1 4 6 #steps 1 6 21 4 13 107 5 6 ≥ 4098 ≥ 3. 51× 1018, 276 ≥ 47, 176, 870 (? ? ) ≥ 7. 41× 1036, 534 Beaver, Platypus, Unicorn … Monash (!!) June 2 nd, 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 2 nd, 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 2 nd, 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 2 nd, 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 2 nd, 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 2 nd, 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 In. Dir Output Out. Dir New. State b 01 l 11 r b {b}(01)1001 -> (11)100 {b}1 Beaver, Platypus, Unicorn … Monash June 2 nd, 2014
Executing Machines What do the monsters do? 5 x 2 state champion (terminates in 47, 176, 870 steps) Step 12393 12480 12657 Configuration 001111{b}(001)66100 001(111)6{b}(001)63100 001(111)11{b}(001)60100 … 33120 … 47176870 … 001(111)106{b}(001)3100 … 101{h}(001)4095100 Beaver, Platypus, Unicorn … Monash 20, 000+ steps in 1 June 2 nd, 2014
Executing Machines 5 x 2 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 2 nd, 2014
Executing Machines Macro machines + loop prediction + observant otter can cope with all known monsters (!!) Size Ones Hops Otter Steps 2 x 4 90 7195 2 64% 2 x 4 2050 3932964 8 99% 3 x 3 17338 127529109 17 > 99% 3 x 3 95524079 (16 digits) 17 > 99% 3 x 3 374676383 (18 digits) 60 > 99% 5 x 2 4098 47, 176, 870 11 > 99% 5 x 2 4098 11, 798, 796 10 > 99% 5 x 2 4097 23, 554, 764 74 > 99% 2 x 5 (31 digits) (62 digits) 168 > 99% 2 x 5 (106 digits) (212 digits) 593 > 99% 2 x 5 (353 digits) (705 digits) 1993 > 99% Beaver, Platypus, Unicorn … Monash June 2 nd, 2014
Executing Machines Size Ones Hops Otter Steps 6 x 2 (18268 digits) (36535 digits) 30345 > 99% 6 x 2 (10567 digits) (21133 digits) 99697 > 99% 6 x 2 (1440 digits) (2880 digits) 8167 > 99% 6 x 2 (882 digits) (1763 digits) 2211 > 99% 4 x 3 (7037 digits) (14073 digits) 25255 > 99% 4 x 3 (6035 digits) (12069 digits) 34262 > 99% 4 x 3 (4932 digits) (9864 digits) 57368 > 99% 3 x 4 (6519 digits) (13037 digits) 13667 > 99% 3 x 4 (2373 digits) (4745 digits) 13465 > 99% 3 x 4 (2356 digits) (4711 digits) 107045 > 99% 2 x 6 (4934 digits) (9867 digits) 16394 > 99% 2 x 6 (4932 digits) (9864 digits) 49142 > 99% 2 x 6 (822 digits) (1644 digits) Beaver, Platypus, Unicorn … 2733 Monash > 99% June 2 nd, 2014
Executing Machines Size Ones Hops Otter Steps 6 x 2 (18268 digits) (36535 digits) 30345 > 99% 6 x 2 (10567 digits) (21133 digits) 99697 > 99% 6 x 2 (1440 digits) (2880 digits) 8167 > 99% 6 x 2 (882 digits) (1763 digits) 2211 > 99% 4 x 3 (7037 digits) (14073 digits) 25255 > 99% 4 x 3 (6035 digits) (12069 digits) 34262 > 99% 4 x 3 (4932 digits) (9864 digits) 57368 > 99% 3 x 4 (6519 digits) (13037 digits) 13667 > 99% 3 x 4 (2373 digits) (4745 digits) 13465 > 99% 3 x 4 (2356 digits) (4711 digits) 107045 > 99% 2 x 6 (4934 digits) (9867 digits) 16394 > 99% 2 x 6 (4932 digits) (9864 digits) 49142 > 99% HERE BE DRAGONS! 2 x 6 (822 digits) (1644 digits) Beaver, Platypus, Unicorn … 2733 Monash > 99% June 2 nd, 2014
Executing Machines Size Ones Hops Otter Steps 6 x 2 (18268 digits) (36535 digits) 30345 > 99% 6 x 2 (10567 digits) (21133 digits) 99697 > 99% 6 x 2 (1440 digits) (2880 digits) 8167 > 99% 6 x 2 (882 digits) (1763 digits) 2211 > 99% 4 x 3 (7037 digits) (14073 digits) 25255 > 99% 4 x 3 (6035 digits) (12069 digits) 34262 > 99% 4 x 3 (4932 digits) (9864 digits) 57368 > 99% 3 x 4 (6519 digits) (13037 digits) 13667 > 99% 3 x 4 (2373 digits) (4745 digits) 13465 > 99% 3 x 4 (2356 digits) (4711 digits) 107045 > 99% 2 x 6 (4934 digits) (9867 digits) 16394 > 99% 2 x 6 (4932 digits) (9864 digits) 49142 > 99% HERE BE HOBBITS! 2 x 6 (822 digits) (1644 digits) Beaver, Platypus, Unicorn … 2733 Monash > 99% June 2 nd, 2014
Aberrent Albatrosses The observant otter is not a panacea … Some machines do not produce “neat, compressible” patterns … 3 x 3 case terminates in 2, 315, 619 steps with 31 non-zeroes 2 x 5 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 2 nd, 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 2 nd, 2014
How? Otherwise. . (ie all the easy cases have been checked): Run the machine for a given number of steps n n If it halts, done. n Check for non-terminating pattern n (Verify non-terminating pattern) n Execute machine for a larger number of steps n Eventually give up! Beaver, Platypus, Unicorn, … Monash June 2 nd, 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 1 N{D}0 → 12 N+6{D}0 or alternatively 1 N{D}0 → (11)N 111111{D}0 Clearly there is exponential growth here … Beaver, Platypus, Unicorn, … Monash June 2 nd, 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 2 nd, 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 2 nd, 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 2 nd, 2014
Executing Machines Size Ones Hops Otter Steps 6 x 2 (18268 digits) (36535 digits) 30345 > 99% 6 x 2 (10567 digits) (21133 digits) 99697 > 99% 6 x 2 (1440 digits) (2880 digits) 8167 > 99% 6 x 2 (882 digits) (1763 digits) 2211 > 99% 4 x 3 (7037 digits) (14073 digits) 25255 > 99% 4 x 3 (6035 digits) (12069 digits) 34262 > 99% 4 x 3 (4932 digits) (9864 digits) 57368 > 99% 3 x 4 (6519 digits) (13037 digits) 13667 > 99% 3 x 4 (2373 digits) (4745 digits) 13465 > 99% 3 x 4 (2356 digits) (4711 digits) 107045 > 99% 2 x 6 (4934 digits) (9867 digits) 16394 > 99% 2 x 6 (4932 digits) (9864 digits) 49142 > 99% HERE BE DRAGONS! 2 x 6 (822 digits) (1644 digits) Beaver, Platypus, Unicorn … 2733 Monash > 99% June 2 nd, 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(2 n) !!] ‘Free’ generation of machines quickly becomes cumbersome. . ‘Free’ generation creates too many trivial machines 11 R a 01 R b 01 R c 00 L, 10 R Beaver, Platypus, Unicorn … Monash 10 R h June 2 nd, 2014
Searching through Machines n First transition is fixed n Run partial machine n Add a new transition when a ‘missing’ case happens n Add ‘halt’ transition when appropriate n Only one transition left n At least n different states for an n-state machine 11 L a 01 R 00 L b 10 R 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 2 nd, 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 ? ? Beaver, Platypus, Unicorn … Monash June 2 nd, 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 2 nd, 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 2 nd, 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 29 th 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 Need to improve the technology before taking this on. . . Beaver, Platypus, Unicorn … Monash June 2 nd, 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 2 nd, 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 2 nd, 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 2 nd, 2014
2 -D machines 0 2 1 0 1 Beaver, Platypus, Unicorn … Monash June 2 nd, 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 2 nd, 2014
Learning? n n Ebony Elephant case suggests that `most' machines are boring … Only 2, 667 are either high productivity or unclassified n At most 100, 000 of the non-terminators are difficult n The remaining 80% are unexceptional … n n 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, 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 2 n 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 2 nd, 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 2 n 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 2 nd, 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 2 nd, 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 2 nd, 2014
Conclusions & Further Work Weakening of conjectures for aberrent albatrosses Proofs desired for 3 instances for otter is sufficient Calculation of #steps (2 nd order difference equations) Champion machines are always exhaustive Quadruple vs Quintuple machines Better “pruning” of search space Beaver, Platypus, Unicorn … Monash June 2 nd, 2014
- Slides: 44