toward conquering the -cracking (“ busy beaver”) problem presenters: ok, bvh, sb 28 january...

41
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 Department of Computer Science (SB, Chair) Rensselaer AI & Reasoning (RAIR) Lab (SB, Director) RPI Troy NY 12180 USA

Upload: zona

Post on 11-Jan-2016

64 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 2: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 3: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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.

Page 4: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 5: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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.

Page 6: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 7: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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.)

Page 8: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 9: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 10: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Inefficiency: Isomorphisms

B(5)-11 B(5)-11-isomorph

Page 11: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Inefficiency: Unused Transitions

B(4)-5-u2B(4)-5-u1

Page 12: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Solution: Tree Normalization

Page 13: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Solution: Tree Normalization

Page 14: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Solution: Tree Normalization

Page 15: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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)

Page 16: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 17: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

(Partial) Solution: Force First Write

Page 18: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

(Partial) Solution: Force First Write

Page 19: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Inefficiency: Mirror Machines

B(5)-11 B(5)-11-mirror

Page 20: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Solution: Force First Move

Page 21: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Solution: Force First Move

Page 22: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Solution: Force First Move

Page 23: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Solution: Force First Move

Page 24: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Solution: Force First Move

Page 25: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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)

Page 26: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Inefficiency: Nonproductive Transitions

Page 27: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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?

Page 28: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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)

Page 29: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 30: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 31: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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*

Page 32: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 33: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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*

Page 34: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

Leaning Christmas Trees

Page 35: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 36: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 37: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 38: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 39: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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

Page 40: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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.

Page 41: Toward Conquering the -Cracking (“ Busy Beaver”) Problem presenters:  OK, BvH, SB 28 January 2004

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.