toward conquering the -cracking (“ busy beaver”) problem presenters: ok, bvh, sb 28 january...
DESCRIPTION
Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters: OK, BvH, SB 28 January 2004. Owen Kellett Kyle Ross Bram van Heuveln Selmer Bringsjord Kostas Arkoudas Marc Destefano Boleshaw Szymanski Carlos Varela Shailesh Kelkar Department of Cognitive Science - PowerPoint PPT PresentationTRANSCRIPT
Toward Conquering the-Cracking (“Busy Beaver”) Problem
presenters: OK, BvH, SB28 January 2004
Owen Kellett
Kyle Ross
Bram van Heuveln
Selmer Bringsjord
Kostas Arkoudas
Marc Destefano
Boleshaw Szymanski
Carlos Varela
Shailesh Kelkar
Department of Cognitive Science
Department of Computer Science (SB, Chair)
Rensselaer AI & Reasoning (RAIR) Lab (SB, Director)
RPI Troy NY 12180 USA
The Rensselaer AI & Reasoning Lab(The RAIR Lab)
Over $1millioninternal seeding
Cracking Project; IntelligentTutoring Systems(mathematical logic)
Slate (IntelligenceAnalysis)
Item generation(theorem proving-basedgeneration)
synthetic characters/psychological time
QuickTime™ and aTIFF (Uncompressed) decompressor
are needed to see this picture. Wargaming
The Busy Beaver ProblemGeneral Version
• In general, the busy beaver problem is to find the ‘most productive’ Turing machine with a given state and symbol set.
• The ‘productivity’ of a Turing machine can be defined in many ways:– The number of symbols written– The number of steps taken– The number of cells moved away from the starting cell– The number of non-blank symbols on tape – Etc.
• Note: Non-halting machines will set almost any of these numbers to infinity, so non-halting machines will be excluded from consideration.
Standard Settings
• Some standard settings for the Busy Beaver Problem are:– The alphabet consists of a blank and a non-
blank – The Turing Machine starts on an empty tape. – Productivity is the number of non-blank
symbols left on the tape
Formalizing the Problem
• n: number of states• M(n): set of TM’s with n states and binary alphabet• Prod(M): number of non-blank symbols left on tape by
machine M, when started on empty tape.• Busy Beaver Problem: Find BB(n) = max {Prod(M) | M
M(n)}– Any machine M M(n) for which Prod(M) = BB(n) is called a
Busy Beaver.
• Rado defined the problem and proved that BB(n) is uncomputable (1962).
• However, we can find individual values BB(n) for small n.
Variations of the Problem• We can still define a variety of Busy Beaver problems:
– Do we use quadruple or quintuple machines?
– How does the machine come to a halt?
– Are there any restrictions on the output configuration?• Standard configuration: head positioned at leftmost 1 (non-
blank) of consecutive string of 1’s on otherwise empty tape• Anything goes
quadruple formulationquintuple formulation
explicit halt implicit halt
Taxonomy of BB Problems
BBQuintuples Quadruples
Anything goes
Standard config.
Anything goes
ExplicitHaltState
(n) (Rado)
ExplicitHaltState
ImplicitHaltState
ExplicitHaltState
ImplicitHaltState?
R(n)
??
B(n) (Boolos &Jeffrey,Turing’sWorld)
P(n) (Pereiraet al.)
O(n) (Oberschelpet al.)
Previous Known Results
n R(n) O(n) P(n) B(n)
1 1 1 1
2 2 2 2
3 3 4 3
4 >= 8
5 >= 15
6 >= 25 >= 25
7 >= 164 >= 164
8 >= 384
Problems in determining BB(n)
• Turing unsolvable• Large search space
– Implicit halt: |M(n)|=(4n+1)2n
– Explicit halt: |M(n)|=(4n+4)2n
• 4 possible actions for each of n next states
• For implicit machines: 1 no-action transition to halt-state
• For explicit machines: 4 possible actions to halt-state
• 2n possible transitions
n (4n + 4)2n (4n + 1)2n
1 64 25
2 20,736 6,561
3 16,777,216 4,826,809
4 2.56*1010 >109
5 >1013 >1013
6 > 1017 > 1016
Inefficiency: Isomorphisms
B(5)-11 B(5)-11-isomorph
Inefficiency: Unused Transitions
B(4)-5-u2B(4)-5-u1
Solution: Tree Normalization
Solution: Tree Normalization
Solution: Tree Normalization
Improvement from Normalization
2 3 493
94
95
96
97
98
99
100
Tree Normalization Improvement
n (number of states)redu
ctio
n (in
per
cen
tage
of
mac
hine
s an
alys
ed)
Inefficiency: Empty Tape Machine
• machine reaches an empty tape after 1 or more shifts
• any machine that does not write 1 as its first action is such a machine
(Partial) Solution: Force First Write
(Partial) Solution: Force First Write
Inefficiency: Mirror Machines
B(5)-11 B(5)-11-mirror
Solution: Force First Move
Solution: Force First Move
Solution: Force First Move
Solution: Force First Move
Solution: Force First Move
Improvement from Optimizations
2 3 4 594
95
96
97
98
99
100
Optimizations Improvement
Tree Normalization
First-Write Optimization
First-Move Optimization
n (number of states)redu
ctio
n (in
per
cen
tage
of
mac
hine
s an
alys
ed)
Inefficiency: Nonproductive Transitions
General Algorithm thus far:• Begin with root machine (single state with no transitions) on stack• Initialize best machine as root machine• While stack is not empty
– Pop machine m off of stack
– If m is a non-halter, discard m and continue at the beginning of the loop
– Run m until it halts
– If m halts in the halt state (for the purposes of this algorithm we will consider an implicit machine to have a halt state where no action is performed when transitioning to it)
• Compare m’s productivity to best machine and update if necessary
– Else• Generate m’s children in the optimized fashion described• Push m’s children onto the stack
Problem: What if m is a non-halter?
Solution: Non-halt detection
• Step Limit: – Run a machine for a fixed number of steps. Problem: if it hasn’t
halted, it may still halt at some later point.• Also, Halting problem:
– There is no generalized algorithm that will take as input machine m and return whether or not m halts
• Fortunately, algorithms can be designed to test for specific non-halting behaviors
• By adding such detection routines to the tree-normalization algorithm from the previous slide, we obtain an algorithm A based is such that for any machine m:– A eventually declares that m halts (m is a halter)– A eventually declares that m does not halt (m is a non-halter)– A eventually declares that it doesn’t know whether m halts or not
(m is a holdout)
Backtracking
q[0]x1 → halt10
q[3]x1 → q[0]xL113
101
q[2]x0 → q[3]xR021
013
Does not match!Non-halter!
Local tapes match, continue
Subset Loops
• A Turing Machine M is classified as a subset loop if– There is a set of states S such that every possible transition from each state
in S is defined
– Every transition defined from a state in S is a transition to another state in S
– During execution, at some point the machine enters one of the states in S
Simple Loops 0 State 0 1 State 1 10 State 2 100 State 3 1000 State 4 10000 State 5 10000 State 5 10000 State 5 10000 State 5 10000 State 5 010000 State 3 010000 State 4 010000 State 2 010000 State 3 010000 State 1 0010000 State 0 1010000 State 1 1010000 State 2 1010000 State 3 1010000 State 1 1010000 State 0 01010000 State 4 01010000 State 5 01010000 State 3 01010000 State 4 01010000 State 2 01010000 State 3 01010000 State 1 001010000 State 0 101010000 State 1 101010000 State 2 101010000 State 3 101010000 State 1 101010000 State 0
• A machine is classified as a simple loop if (given words of arbitrary length X, Y, V, and C and state s):
– The following tape configuration is reached: 0*[Y][sX][C]0*
-and one of the following-
– 1: The same tape configuration is reached at a later point
-or-
– 2: The following tape configuration is reached at a later point: 0*[Y][sX][V][C]0*
– Between these points, the read head never moves past the right edge of the initial X
• The corresponding mirror of the above specification also identifies a simple loop
0* [Y] [X] [C] 0*
0* [Y] [X] [V] [C] 0*
Christmas Trees• In the general sense, a christmas tree non-halter sweeps back and forth across the tape in a
repeatable manner:
0 State 0 1 State 1 10 State 2 10 State 3 010 State 0 110 State 1 110 State 2 110 State 0 111 State 1 1110 State 2 1110 State 3 1110 State 0 1010 State 3 1010 State 3 01010 State 0 11010 State 1 11010 State 2 11010 State 0 11110 State 1 11110 State 2 11110 State 0 11111 State 1 111110 State 2 111110 State 3 111110 State 0 111010 State 3 111010 State 3 111010 State 0 101010 State 3 101010 State 3 0101010 State 0
1101010 State 1 1101010 State 2 1101010 State 0 1111010 State 1 1111010 State 2 1111010 State 0 1111110 State 1 1111110 State 2 1111110 State 0 1111111 State 1 11111110 State 2 11111110 State 3 11111110 State 0 11111010 State 3 11111010 State 3 11111010 State 0 11101010 State 3 11101010 State 3 11101010 State 0 10101010 State 3 10101010 State 3 010101010 State 0 110101010 State 1 110101010 State 2 110101010 State 0 111101010 State 1 111101010 State 2 111101010 State 0 111111010 State 1 111111010 State 2 111111010 State 0 111111110 State 1 111111110 State 2 111111110 State 0 111111111 State 1 1111111110 State 2
Christmas Trees 11111110 State 2 11111110 State 3 11111110 State 0 11111010 State 3 11111010 State 3 11111010 State 0 11101010 State 3 11101010 State 3 11101010 State 0 10101010 State 3 10101010 State 3010101010 State 0110101010 State 1110101010 State 2110101010 State 0111101010 State 1111101010 State 2111101010 State 0111111010 State 1111111010 State 2111111010 State 0111111110 State 1111111110 State 2111111110 State 0111111111 State 11111111110 State 2
0*[U’][Z][Z][V’’]0*=
0*[U][X][X][X][V]0*
0*[U][X][X][Vs]0*
0*[U’][Y][Y][V’]0*
Leaning Christmas Trees
Multi-sweep Christmas Trees• The machine transforms the tape much like a normal Christmas tree,
however, it takes more than one sweep across the tape to complete a cycle
0*[U][X][X][X][V]0*
0*[U’][Y][Y][Y][V’]0*
0*[U’][Z][Z][Z][V’’]0*=
0*[U][X][X][X][X][V]0*
0*[U][X][X][X][V]0*
0*[U’][Y][Y][Y][V’]0*
0*[U’][Z][Z][Z][V’’]0*
0*[U’’][M][M][M][V’’’]0*
0*[U’’][N][N][N][V’’’’]0*=
0*[U][X][X][X][X][V]0*
Christmas Trees Double-sweep Christmas Trees
Counters0 State 01 State 110 State 2100 State 3101 State 0101 State 1101 State 1101 State 2101 State 3100 State 21000 State 31001 State 01001 State 11001 State 11001 State 11001 State 21001 State 31011 State 01011 State 11011 State 11011 State 21011 State 31001 State 21001 State 31000 State 210000 State 3
10001 State 010001 State 110001 State 110001 State 110001 State 110001 State 210001 State 310101 State 010101 State 110101 State 110101 State 210101 State 310001 State 210001 State 310011 State 010011 State 110011 State 110011 State 110011 State 210011 State 310111 State 010111 State 110111 State 110111 State 210111 State 310011 State 2
*Note: this machine generates binary numbers that read from right to left rather than the conventional left to right
Results: non-halters
n = 2 n = 3 n = 4 n = 5
backtracker 22 817 47102 3842187
subset loop 0 17 749 38761
simple loop 6 159 7243 508658
christmas tree 0 2 201 19009
double sweep christmas tree 0 0 23 2781
leaning christmas tree 0 0 0 118
triple sweep christmas tree 0 0 0 472
quadruple sweep christmas tree 0 0 0 76
counter 0 0 2 274
holdouts 0 0 0 221
Updated Records
n R(n) O(n) P(n) B(n)
1 1 1 1 1
2 2 2 2 2
3 4 3 4 3
4 8 8 7 5
5 >= 16 >= 15 >= 16 >= 11
6 >= 240 >= 239 >= 163 >= 25
7 >= 164 >= 164
8 >= 384
Future Work/Goals• Certification of our records (Athena)• Continued development of non-halt detection routines
– Christmas tree variations– Counter variations (base 3, base 4, etc..)– With only 221 holdouts left, explicit confirmation of BB(5) is
imminent– novel techniques for detecting non-halting
• Additional tree normalization optimizations– Identical state machines?
• Visual Reasoning (relates to new representations in support of novel non-halter detection)
• Treat issues in Logico-Mathematical Foundations• Distributed computing (SALSA)
– Working implementation using the developmental language SALSA to allow the potential for massive distributed computation
Visual Reasoning
• The behavior of certain machines can sometimes be generalized by observing them in action.
• Indeed, notice that we have named certain classes of machines, such as ‘Christmas Trees’, exactly by observing a graphical display of their bevhavior.
• Maybe a system component can be created that can be used to reason about the behavior of a Turing machine based on a visual representation of (the behavior of) that Turing machine rather than a more traditional linear symbolic representation.
The Mathematical Landscape
Space of all information processes
The “Turing Limit”
Turing Machines, Algorithms, Programs, …
HypercomputationAnalog Chaotic Neural Networks, Zeus Machines, Weyl Machines, P/Poly Machines, …
engineering onthe busy beaver?
QuickTime™ and aTIFF (Uncompressed) decompressor
are needed to see this picture.