Title: Owen Kellett
1Toward Conquering the?-Cracking (Busy Beaver)
Problempresenters 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
2The Rensselaer AI Reasoning Lab(The RAIR Lab)
Wargaming
? Cracking Project Intelligent Tutoring
Systems (mathematical logic)
Over 1million internal seeding
Slate (Intelligence Analysis)
Item generation (theorem proving-based generation)
synthetic characters/psychological time
3The 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.
4Standard 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
5Formalizing the Problem
- n number of states
- M(n) set of TMs 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.
6Variations 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
1s on otherwise empty tape - Anything goes
quadruple formulation
quintuple formulation
explicit halt
implicit halt
7Taxonomy of BB Problems
BB
Quintuples
Quadruples
Anything goes
Standard config.
Anything goes
?
?
Explicit Halt State
Explicit Halt State
Implicit Halt State
Explicit Halt State
Implicit Halt State
?
B(n) (Boolos Jeffrey, Turings World)
R(n)
P(n) (Pereira et al.)
O(n) (Oberschelp et al.)
?(n) (Rado)
8Previous Known Results
9Problems in determining BB(n)
- Turing unsolvable
- Large search space
- Implicit halt M(n)(4n1)2n
- Explicit halt M(n)(4n4)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
10Inefficiency Isomorphisms
11Inefficiency Unused Transitions
12Solution Tree Normalization
13Solution Tree Normalization
14Solution Tree Normalization
15Improvement from Normalization
16Inefficiency 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
17(Partial) Solution Force First Write
18(Partial) Solution Force First Write
19Inefficiency Mirror Machines
20Solution Force First Move
21Solution Force First Move
22Solution Force First Move
23Solution Force First Move
24Solution Force First Move
25Improvement from Optimizations
26Inefficiency Nonproductive Transitions
27General 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 ms productivity to best machine and
update if necessary - Else
- Generate ms children in the optimized fashion
described - Push ms children onto the stack
Problem What if m is a non-halter?
28Solution Non-halt detection
- Step Limit
- Run a machine for a fixed number of steps.
Problem if it hasnt 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 doesnt know
whether m halts or not (m is a holdout)
29Backtracking
q0x1 ? halt 10
q3x1 ? q0xL 113
q2x0 ? q3xR 021
101
013
Local tapes match, continue
Does not match! Non-halter!
30Subset 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
31Simple Loops
- 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
0YsXC0 - -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 0YsXVC0 - 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 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
0 Y X C 0
0 Y X V C 0
32Christmas Trees
- In the general sense, a christmas tree non-halter
sweeps back and forth across the tape in a
repeatable manner
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
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
33Christmas 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
0UXXVs0
0UYYV0
0UZZV0
0UXXXV0
34Leaning Christmas Trees
35Multi-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
Christmas Trees
Double-sweep Christmas Trees
0UXXXV0
0UXXXV0
0UYYYV0
0UYYYV0
0UZZZV0
0UZZZV0
0UXXXXV0
0UMMMV0
0UNNNV0
0UXXXXV0
36Counters
0 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
37Results non-halters
38Updated Records
39Future 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
40Visual 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.
41The Mathematical Landscape
Space of all information processes
Analog Chaotic Neural Networks, Zeus Machines,
Weyl Machines, P/Poly Machines,
Hypercomputation
engineering on the busy beaver?
The Turing Limit
Turing Machines, Algorithms, Programs,