Rule:Worm-1040512

From LifeWiki
Revision as of 21:57, 28 October 2019 by Dvgrn (talk | contribs) (Another rule sharing Rule:Worm-shared)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

@RULE Worm-1040512

Paterson's worms (by Dean Hickerson, 11/19/2008)

   Pattern #055
   Sven Kahrkling's notation 1040512
   Gardner's notation 1a2c3cbaa4b
   Finishes after 569804 steps, almost filling a regular hexagon.

Points and lines of hexagonal grid are mapped to points of square grid as below. "*" is a point of the hex grid, "-", "/", and "\" are lines of the hex grid.

+--+--+--+--+ |- |* |- |* | +--+--+--+--+ | /| \| /| \| +--+--+--+--+ |* |- |* |- | +--+--+--+--+

Each step of the worm is simulated by 2 gens in the rule. In even gens, there's an arrow at one point of the hex grid showing which way the worm will move next. In odd gens, there's an arrow on one line of the hex grid. The transitions from even to odd gens are the same for all worms. Those from odd to even depend on the specific type of worm: If a point (state 0 or 1) has a line with an arrow pointing at it, it becomes a 'point with arrow'; the direction depends on the 6 neighboring lines, which are the NW, N, E, S, SW, and W neighbors in the square grid.

Gen 0 consists of a single point in state 1, a 'point with arrow' pointing east. (Starting with a point in state 2, 3, 4, 5, or 6 would also work, rotating the whole pattern.)

States are:

0 empty (unvisited point or line) 1-6 'point with arrow', showing direction of next movement

            (1=E; 2=SE; 3=SW; 4=W; 5=NW; 6=NE)

7 point that's been visited 8,9,10 edge - (8=line; 9=E arrow; 10=W arrow) 11,12,13 edge / (11=line; 12=NE arrow; 13=SW arrow) 14,15,16 edge \ (14=line; 15=SE arrow; 16=NW arrow)

@TABLE

n_states:17 neighborhood:Moore symmetries:none var point={1,2,3,4,5,6} var a0={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} var a1={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} var a2={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} var a3={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} var a4={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} var a5={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} var a6={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} var a7={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} var n={8,11,14} var o={8,11,14} var p={8,11,14} var q={8,11,14} var b={0,7}

  1. point with arrow becomes point that's been visited

point,a0,a1,a2,a3,a4,a5,a6,a7,7

  1. line with arrow becomes line without arrow

9,a0,a1,a2,a3,a4,a5,a6,a7,8 10,a0,a1,a2,a3,a4,a5,a6,a7,8 12,a0,a1,a2,a3,a4,a5,a6,a7,11 13,a0,a1,a2,a3,a4,a5,a6,a7,11 15,a0,a1,a2,a3,a4,a5,a6,a7,14 16,a0,a1,a2,a3,a4,a5,a6,a7,14

  1. point with arrow creates line with arrow next to it

0,a0,a1,a2,a3,a4,a5,1,a6,9 0,2,a0,a1,a2,a3,a4,a5,a6,15 0,a0,3,a1,a2,a3,a4,a5,a6,13 0,a0,a1,4,a2,a3,a4,a5,a6,10 0,a0,a1,a2,5,a3,a4,a5,a6,16 0,a0,a1,a2,a3,6,a4,a5,a6,12

  1. 4 eaten: use only remaining direction
  2. 0 (straight):

b,0,a0,n,a1,o,12,p,q,6 b,n,a0,0,a1,o,p,9,q,1 b,n,a0,o,a1,0,p,q,15,2 b,13,a0,n,a1,o,0,p,q,3 b,n,a0,10,a1,o,p,0,q,4 b,n,a0,o,a1,16,p,q,0,5

  1. 1 (gentle right):

b,n,a0,0,a1,o,12,p,q,1 b,n,a0,o,a1,0,p,9,q,2 b,n,a0,o,a1,p,0,q,15,3 b,13,a0,n,a1,o,p,0,q,4 b,n,a0,10,a1,o,p,q,0,5 b,0,a0,n,a1,16,o,p,q,6

  1. 2 (sharp right):

b,n,a0,o,a1,0,12,p,q,2 b,n,a0,o,a1,p,0,9,q,3 b,n,a0,o,a1,p,q,0,15,4 b,13,a0,n,a1,o,p,q,0,5 b,0,a0,10,a1,n,o,p,q,6 b,n,a0,0,a1,16,o,p,q,1

  1. 4 (sharp left):

b,n,a0,o,a1,p,12,0,q,4 b,n,a0,o,a1,p,q,9,0,5 b,0,a0,n,a1,o,p,q,15,6 b,13,a0,0,a1,n,o,p,q,1 b,n,a0,10,a1,0,o,p,q,2 b,n,a0,o,a1,16,0,p,q,3

  1. 5 (gentle left):

b,n,a0,o,a1,p,12,q,0,5 b,0,a0,n,a1,o,p,9,q,6 b,n,a0,0,a1,o,p,q,15,1 b,13,a0,n,a1,0,o,p,q,2 b,n,a0,10,a1,o,0,p,q,3 b,n,a0,o,a1,16,p,0,q,4

  1. rule-specific transitions at point with arrow coming in
  1. rule 1040512
  2. none eaten: 1 = gentle right

b,0,a0,0,a1,0,12,0,0,1 b,0,a0,0,a1,0,0,9,0,2 b,0,a0,0,a1,0,0,0,15,3 b,13,a0,0,a1,0,0,0,0,4 b,0,a0,10,a1,0,0,0,0,5 b,0,a0,0,a1,16,0,0,0,6

  1. 1 eaten(1): 0 = straight

b,0,a0,n,a1,0,12,0,0,6 b,0,a0,0,a1,n,0,9,0,1 b,0,a0,0,a1,0,n,0,15,2 b,13,a0,0,a1,0,0,n,0,3 b,0,a0,10,a1,0,0,0,n,4 b,n,a0,0,a1,16,0,0,0,5

  1. 2 eaten(02): 4 = sharp left

b,n,a0,0,a1,o,12,0,0,4 b,0,a0,n,a1,0,o,9,0,5 b,0,a0,0,a1,n,0,o,15,6 b,13,a0,0,a1,0,n,0,o,1 b,o,a0,10,a1,0,0,n,0,2 b,0,a0,o,a1,16,0,0,n,3

  1. 2 eaten(15): 0 = straight

b,0,a0,o,a1,0,12,0,n,6 b,n,a0,0,a1,o,0,9,0,1 b,0,a0,n,a1,0,o,0,15,2 b,13,a0,0,a1,n,0,o,0,3 b,0,a0,10,a1,0,n,0,o,4 b,o,a0,0,a1,16,0,n,0,5

  1. 2 eaten(24): 5 = gentle left

b,0,a0,0,a1,n,12,o,0,5 b,0,a0,0,a1,0,n,9,o,6 b,o,a0,0,a1,0,0,n,15,1 b,13,a0,o,a1,0,0,0,n,2 b,n,a0,10,a1,o,0,0,0,3 b,0,a0,n,a1,16,o,0,0,4

  1. 2 eaten(04): 1 = gentle right

b,n,a0,0,a1,0,12,o,0,1 b,0,a0,n,a1,0,0,9,o,2 b,o,a0,0,a1,n,0,0,15,3 b,13,a0,o,a1,0,n,0,0,4 b,0,a0,10,a1,o,0,n,0,5 b,0,a0,0,a1,16,o,0,n,6

  1. 3 eaten(145): 2 = sharp right

b,0,a0,n,a1,0,12,o,p,2 b,p,a0,0,a1,n,0,9,o,3 b,o,a0,p,a1,0,n,0,15,4 b,13,a0,o,a1,p,0,n,0,5 b,0,a0,10,a1,o,p,0,n,6 b,n,a0,0,a1,16,o,p,0,1