1 / 41

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

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

zona
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Toward 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

  2. The 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

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

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

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

  6. 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 quintuple formulation quadruple formulation explicit halt implicit halt

  7. Taxonomy of BB Problems BB Quintuples Quadruples Anything goes Anything goes Standard config. ? ? Explicit Halt State Explicit Halt State Implicit Halt State Explicit Halt State Implicit Halt State ? B(n) (Boolos & Jeffrey, Turing’s World) R(n) O(n) (Oberschelp et al.) P(n) (Pereira et al.) (n) (Rado)

  8. Previous Known Results

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

  10. B(5)-11 B(5)-11-isomorph Inefficiency: Isomorphisms

  11. B(4)-5-u1 B(4)-5-u2 Inefficiency: Unused Transitions

  12. Solution: Tree Normalization

  13. Solution: Tree Normalization

  14. Solution: Tree Normalization

  15. Tree Normalization Improvement 100 99 98 97 reduction (in per centage of machines analysed) 96 95 94 93 2 3 4 n (number of states) Improvement from Normalization

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

  17. (Partial) Solution: Force First Write

  18. (Partial) Solution: Force First Write

  19. B(5)-11 B(5)-11-mirror Inefficiency: Mirror Machines

  20. Solution: Force First Move

  21. Solution: Force First Move

  22. Solution: Force First Move

  23. Solution: Force First Move

  24. Solution: Force First Move

  25. Optimizations Improvement 100 99 98 reduction (in per centage of machines analysed) 97 Tree Normalization First-Write 96 Optimization First-Move Optimization 95 94 2 3 4 5 n (number of states) Improvement from Optimizations

  26. Inefficiency: Nonproductive Transitions

  27. 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?

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

  29. Backtracking q[2]x0 → q[3]xR 021 q[3]x1 → q[0]xL 113 q[0]x1 → halt 10 013 101 Local tapes match, continue Does not match! Non-halter!

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

  31. 0      State 01      State 1       10     State 2       100    State 3       1000   State 4       10000  State 5       10000  State 5       10000  State 5       10000  State 510000  State 5010000  State 3      010000  State 4010000  State 2      010000  State 3010000  State 10010000  State 01010000  State 1     1010000  State 2     1010000  State 3     1010000  State 11010000  State 001010000  State 4    01010000  State 501010000  State 3    01010000  State 401010000  State 2    01010000  State 301010000  State 1001010000  State 0101010000  State 1   101010000  State 2   101010000  State 3   101010000  State 1101010000  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 Simple Loops 0* [Y] [X] [C] 0* 0* [Y] [X] [V] [C] 0*

  32. Christmas Trees 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 310101010           State 3010101010           State 0110101010           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 01               State 1            10              State 210              State 3010              State 0110              State 1           110              State 2           110              State 0           111              State 1           1110             State 2           1110             State 3           1110             State 0           1010             State 31010             State 301010             State 011010             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 3101010            State 30101010            State 0 • In the general sense, a christmas tree non-halter sweeps back and forth across the tape in a repeatable manner:

  33. 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 310101010    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][X][X][Vs]0* 0*[U’][Y][Y][V’]0* 0*[U’][Z][Z][V’’]0* = 0*[U][X][X][X][V]0*

  34. Leaning Christmas Trees

  35. Multi-sweep Christmas Trees Christmas Trees Double-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][X][X][X][V]0* 0*[U’][Y][Y][Y][V’]0* 0*[U’][Y][Y][Y][V’]0* 0*[U’][Z][Z][Z][V’’]0* 0*[U’][Z][Z][Z][V’’]0* = 0*[U][X][X][X][X][V]0* 0*[U’’][M][M][M][V’’’]0* 0*[U’’][N][N][N][V’’’’]0* = 0*[U][X][X][X][X][V]0*

  36. Counters 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

  37. Results: non-halters

  38. Updated Records

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

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

  41. The 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, …

More Related