Page 1 of 1

Prime number CA?

Posted: November 3rd, 2015, 9:22 am
by Rich Holmes
Today, Nov 3 (11/3 or 11/03 or 3/11), is the 307th day of 2015. And 3, 11, 113, 1103, 311, and 307 are all prime. Ignore Amazon, THIS is PrimeDay. (But next year it's March 11, because 308 is not prime, but 71 is.)

Which is why I was googling for "prime number" "cellular automata" and found this: http://www.njohnston.ca/2009/08/generat ... e-of-life/, wherein in the comments Andrew Trevorrow wrote:
Nathaniel, in case you haven’t seen this, download http://myweb.tiscali.co.uk/calcy/life/simulators.zip, install Primes.table and .colors in Golly’s rules folder and then load primer.rle. This is a 2-cell(!) pattern that emulates Dean’s primer Life pattern using a 10-state rule.
Which looks pretty interesting... but the link is dead. Anyone know where I could find this?

Re: Prime number CA?

Posted: November 3rd, 2015, 10:12 am
by danieldb
Rich Holmes wrote:Which looks pretty interesting... but the link is dead. Anyone know where I could find this?

Code: Select all

@RULE Primer

A 10-state rule that supports a 2-cell prime number generator.
It uses a similar principle to Dean Hickerson's "Primer" pattern,
only 60 times faster. The sieves remove every multiple of
each integer, except for that integer.

Calcyman (Adam P. Goucher), 18 May 2009

@TABLE

n_states:10
neighborhood:Moore
symmetries:none

#State 0: Empty Space
#State 1: Up spaceship
#State 2: Down spaceship
#State 3: Up spaceship on reflector
#State 4: Down spaceship on reflector
#State 5: Reflector
#State 6: Reflector in initial state
#State 7: NW spaceship
#State 8: E puffer
#State 9: SE puffer

var a={0,1,2,3,4,5,6,7,8,9}
var b={0,1,2,3,4,5,6,7,8,9}
var c={0,1,2,3,4,5,6,7,8,9}
var d={0,1,2,3,4,5,6,7,8,9}
var e={0,1,2,3,4,5,6,7,8,9}
var f={0,1,2,3,4,5,6,7,8,9}
var g={0,1,2,3,4,5,6,7,8,9}
var h={0,1,2,3,4,5,6,7,8,9}

var i={2,4}
var j={1,3,6}

var k={0,1,2,4,5,6,7,8,9}

0,i,a,b,c,d,e,f,g,2
5,i,a,b,c,d,e,f,g,3
0,a,b,c,d,j,e,f,g,1
5,a,b,c,d,j,e,f,g,4

0,a,b,k,7,c,d,e,f,7

0,9,a,b,c,d,e,f,g,7

8,a,b,c,d,e,f,g,h,5
9,a,b,c,d,e,f,g,h,6
0,9,a,b,c,d,e,f,g,7

0,a,b,c,d,e,f,8,g,8
0,a,b,c,d,e,f,g,9,9

1,a,b,c,d,e,f,g,h,0
2,a,b,c,d,e,f,g,h,0
7,a,b,c,d,e,f,g,h,0

3,a,b,c,d,e,f,g,h,5
4,a,b,c,d,e,f,g,h,5
6,a,b,c,d,e,f,g,h,5

@COLORS

1 255 0 0
2 0 255 0
3 255 128 128
4 128 255 128
5 128 128 128
6 192 192 192
7 128 128 255
8 128 255 255
9 255 255 128
The pattern is here:

Code: Select all

x = 1, y = 3, rule = Primer
H2$I!

Re: Prime number CA?

Posted: November 3rd, 2015, 10:42 am
by Rich Holmes
Excellent, thank you!

Re: Prime number CA?

Posted: November 3rd, 2015, 11:17 am
by Rich Holmes
Ah, now I see it's in the Golly patterns folder too.

Re: Prime number CA?

Posted: November 5th, 2015, 8:44 am
by Rich Holmes
Also there's a paper here https://forge.info.unicaen.fr/attachmen ... primes.pdf I. Korec, "Real time generation of primes by a one dimensional cellular automaton with 9 states". I couldn't find a rules file so I made one.

Code: Select all

@RULE Odp

One dimensional prime generator

extracted from https://forge.info.unicaen.fr/attachments/download/537/real-time-generation-of-primes.pdf

I. Korec, "Real time generation of primes by a one dimensional cellular automaton with 9 states"

Leftmost non-empty cell is in state 3 in generation t if t is prime, else in state 2.

@TABLE

n_states: 9
neighborhood: oneDimensional
symmetries: none

0,0,0,0 ...:.
0,0,1,1 ../:/
0,0,2,0 ..0:.
0,0,3,0 ..1:.
0,0,4,4 ..L:L
0,0,5,0 ..R:.
0,0,7,0 ..V:.
0,0,6,1 ..r:/
0,0,8,1 ..v:/
1,0,0,0 ./.:.
1,0,1,1 .//:/
1,0,3,1 ./1:/
1,0,4,4 ./L:L
1,0,5,0 ./R:.
1,0,7,0 ./V:.
1,0,6,1 ./r:/
1,0,8,1 ./v:/
2,0,0,2 .0.:0
2,0,2,0 .00:.
2,0,3,4 .01:L
2,0,4,2 .0L:0
2,0,5,3 .0R:1
2,0,7,3 .0V:1
2,0,6,2 .0r:0
2,0,8,2 .0v:0
3,0,1,3 .1/:1
3,0,2,5 .10:R
3,0,3,2 .11:0
3,0,4,2 .1L:0
3,0,5,2 .1R:0
3,0,6,4 .1r:L
3,0,8,2 .1v:0
4,0,0,0 .L.:.
4,0,1,1 .L/:/
4,0,2,4 .L0:L
4,0,4,0 .LL:.
4,0,7,0 .LV:.
4,0,6,0 .Lr:.
4,0,8,1 .Lv:/
5,0,0,0 .R.:.
5,0,1,1 .R/:/
5,0,3,3 .R1:1
5,0,5,0 .RR:.
5,0,7,4 .RV:L
5,0,6,0 .Rr:.
5,0,8,4 .Rv:L
7,0,0,7 .V.:V
7,0,1,8 .V/:v
7,0,2,7 .V0:V
7,0,3,7 .V1:V
7,0,4,8 .VL:v
7,0,5,5 .VR:R
6,0,0,0 .r.:.
6,0,1,1 .r/:/
6,0,7,4 .rV:L
6,0,8,4 .rv:L
8,0,0,7 .v.:V
8,0,1,8 .v/:v
8,0,2,6 .v0:r
8,0,4,8 .vL:v
8,0,7,7 .vV:V
8,0,8,8 .vv:v
0,1,0,0 /..:.
0,1,1,1 /./:/
0,1,4,4 /.L:L
0,1,5,0 /.R:.
0,1,7,0 /.V:.
0,1,6,1 /.r:/
0,1,8,1 /.v:/
1,1,0,0 //.:.
1,1,1,1 ///:/
1,1,2,0 //0:.
1,1,4,4 //L:L
1,1,5,0 //R:.
1,1,7,0 //V:.
1,1,6,1 //r:/
1,1,8,1 //v:/
2,1,1,3 /0/:1
2,1,2,1 /00:/
2,1,4,3 /0L:1
2,1,5,2 /0R:0
2,1,7,0 /0V:.
3,1,1,5 /1/:R
3,1,3,2 /11:0
3,1,4,7 /1L:V
4,1,0,0 /L.:.
4,1,1,1 /L/:/
4,1,7,0 /LV:.
4,1,8,1 /Lv:/
5,1,0,0 /R.:.
5,1,1,1 /R/:/
5,1,3,5 /R1:R
5,1,7,4 /RV:L
5,1,8,4 /Rv:L
7,1,0,7 /V.:V
7,1,1,8 /V/:v
7,1,4,8 /VL:v
7,1,5,7 /VR:V
7,1,6,8 /Vr:v
6,1,0,0 /r.:.
6,1,1,1 /r/:/
6,1,3,3 /r1:1
6,1,7,4 /rV:L
6,1,8,4 /rv:L
8,1,0,7 /v.:V
8,1,1,8 /v/:v
8,1,4,8 /vL:v
8,1,5,7 /vR:V
8,1,7,7 /vV:V
8,1,6,8 /vr:v
8,1,8,8 /vv:v
0,2,0,5 0..:R
0,2,1,1 0./:/
0,2,2,3 0.0:1
0,2,3,1 0.1:/
0,2,5,6 0.R:r
1,2,0,5 0/.:R
1,2,1,3 0//:1
1,2,5,2 0/R:0
2,2,0,3 00.:1
2,2,4,3 00L:1
3,2,0,3 01.:1
3,2,3,6 011:r
4,2,0,1 0L.:/
4,2,1,6 0L/:r
4,2,4,6 0LL:r
4,2,5,5 0LR:R
4,2,6,6 0Lr:r
5,2,0,1 0R.:/
5,2,1,4 0R/:L
5,2,4,8 0RL:v
5,2,5,1 0RR:/
5,2,6,8 0Rr:v
7,2,3,7 0V1:V
7,2,4,4 0VL:L
6,2,0,7 0r.:V
6,2,4,8 0rL:v
6,2,5,7 0rR:V
6,2,6,8 0rr:v
8,2,4,4 0vL:L
8,2,5,4 0vR:L
8,2,6,4 0vr:L
0,3,0,4 1..:L
0,3,1,0 1./:.
0,3,3,0 1.1:.
0,3,5,4 1.R:L
1,3,0,3 1/.:1
1,3,5,5 1/R:R
2,3,0,2 10.:0
2,3,2,6 100:r
3,3,0,2 11.:0
3,3,4,3 11L:1
4,3,0,3 1L.:1
4,3,2,2 1L0:0
4,3,4,3 1LL:1
4,3,5,5 1LR:R
4,3,6,6 1Lr:r
5,3,0,5 1R.:R
6,3,4,2 1rL:0
8,3,1,4 1v/:L
8,3,5,4 1vR:L
8,3,6,4 1vr:L
0,4,0,0 L..:.
0,4,1,1 L./:/
0,4,2,0 L.0:.
0,4,3,0 L.1:.
0,4,5,1 L.R:/
0,4,7,0 L.V:.
0,4,8,1 L.v:/
1,4,0,0 L/.:.
1,4,1,1 L//:/
1,4,2,0 L/0:.
1,4,7,0 L/V:.
1,4,8,1 L/v:/
2,4,0,1 L0.:/
2,4,3,4 L01:L
3,4,4,3 L1L:1
4,4,3,0 LL1:.
4,4,4,0 LLL:.
4,4,7,5 LLV:R
4,4,8,6 LLv:r
5,4,0,6 LR.:r
5,4,1,4 LR/:L
5,4,2,1 LR0:/
5,4,7,4 LRV:L
5,4,8,4 LRv:L
7,4,0,7 LV.:V
7,4,1,8 LV/:v
7,4,3,7 LV1:V
7,4,4,8 LVL:v
7,4,5,7 LVR:V
7,4,7,8 LVV:v
7,4,6,8 LVr:v
6,4,2,7 Lr0:V
6,4,7,4 LrV:L
6,4,8,4 Lrv:L
8,4,0,7 Lv.:V
8,4,1,8 Lv/:v
8,4,4,8 LvL:v
8,4,5,7 LvR:V
8,4,7,7 LvV:V
8,4,6,8 Lvr:v
8,4,8,8 Lvv:v
0,5,0,5 R..:R
0,5,1,6 R./:r
0,5,2,5 R.0:R
0,5,3,5 R.1:R
0,5,5,1 R.R:/
0,5,7,5 R.V:R
0,5,8,6 R.v:r
1,5,0,5 R/.:R
1,5,1,6 R//:r
1,5,2,7 R/0:V
1,5,7,5 R/V:R
1,5,8,6 R/v:r
2,5,6,2 R0r:0
3,5,0,6 R1.:r
3,5,1,3 R1/:1
3,5,3,2 R11:0
4,5,7,5 RLV:R
4,5,8,6 RLv:r
5,5,0,0 RR.:.
5,5,3,5 RR1:R
7,5,0,7 RV.:V
7,5,1,8 RV/:v
7,5,2,7 RV0:V
7,5,4,8 RVL:v
6,5,3,5 Rr1:R
6,5,4,5 RrL:R
6,5,5,1 RrR:/
8,5,0,7 Rv.:V
8,5,1,8 Rv/:v
8,5,3,7 Rv1:V
8,5,4,8 RvL:v
8,5,7,7 RvV:V
8,5,8,8 Rvv:v
0,7,0,0 V..:.
0,7,1,1 V./:/
0,7,2,0 V.0:.
0,7,3,0 V.1:.
0,7,4,4 V.L:L
0,7,5,0 V.R:.
0,7,7,0 V.V:.
0,7,6,1 V.r:/
0,7,8,1 V.v:/
1,7,0,0 V/.:.
1,7,1,1 V//:/
1,7,2,0 V/0:.
1,7,3,0 V/1:.
1,7,4,4 V/L:L
1,7,5,0 V/R:.
1,7,7,0 V/V:.
1,7,6,1 V/r:/
1,7,8,1 V/v:/
2,7,0,7 V0.:V
2,7,1,3 V0/:1
2,7,2,0 V00:.
2,7,5,3 V0R:1
3,7,0,3 V1.:1
3,7,1,3 V1/:1
3,7,3,2 V11:0
3,7,4,5 V1L:R
3,7,5,2 V1R:0
4,7,0,7 VL.:V
4,7,1,8 VL/:v
4,7,5,5 VLR:R
4,7,7,5 VLV:R
4,7,8,6 VLv:r
5,7,0,0 VR.:.
5,7,1,1 VR/:/
5,7,3,8 VR1:v
7,7,1,2 VV/:0
6,7,0,0 Vr.:.
6,7,1,1 Vr/:/
0,6,0,5 r..:R
0,6,1,6 r./:r
0,6,3,4 r.1:L
0,6,5,3 r.R:1
0,6,7,5 r.V:R
0,6,8,6 r.v:r
1,6,0,5 r/.:R
1,6,1,6 r//:r
1,6,3,5 r/1:R
1,6,7,5 r/V:R
1,6,8,6 r/v:r
2,6,4,2 r0L:0
3,6,1,5 r1/:R
3,6,3,4 r11:L
4,6,0,3 rL.:1
4,6,7,5 rLV:R
4,6,8,6 rLv:r
5,6,0,2 rR.:0
5,6,7,4 rRV:L
5,6,8,4 rRv:L
7,6,0,7 rV.:V
7,6,1,8 rV/:v
7,6,2,7 rV0:V
7,6,4,8 rVL:v
7,6,5,7 rVR:V
7,6,6,8 rVr:v
6,6,7,4 rrV:L
6,6,8,4 rrv:L
8,6,0,7 rv.:V
8,6,1,8 rv/:v
8,6,4,8 rvL:v
8,6,5,7 rvR:V
8,6,7,7 rvV:V
8,6,6,8 rvr:v
8,6,8,8 rvv:v
0,8,0,0 v..:.
0,8,1,1 v./:/
0,8,2,2 v.0:0
0,8,3,1 v.1:/
0,8,4,4 v.L:L
0,8,5,0 v.R:.
0,8,7,0 v.V:.
0,8,6,1 v.r:/
0,8,8,1 v.v:/
1,8,0,0 v/.:.
1,8,1,1 v//:/
1,8,2,1 v/0:/
1,8,4,4 v/L:L
1,8,5,0 v/R:.
1,8,7,0 v/V:.
1,8,6,1 v/r:/
1,8,8,1 v/v:/
2,8,0,3 v0.:1
3,8,3,1 v11:/
4,8,0,7 vL.:V
4,8,1,8 vL/:v
4,8,7,5 vLV:R
4,8,8,6 vLv:r
5,8,0,0 vR.:.
5,8,1,1 vR/:/
5,8,7,4 vRV:L
5,8,8,4 vRv:L
7,8,0,5 vV.:R
7,8,1,6 vV/:r
6,8,0,0 vr.:.
6,8,1,1 vr/:/
6,8,7,4 vrV:L
6,8,8,4 vrv:L
8,8,0,5 vv.:R
8,8,1,6 vv/:r



@COLORS


0 0 0 0
1 128 0 0
2 128 128 0
3 0 128 0
4 0 128 128
5 0 0 128
6 128 0 128
7 128 128 128
8 255 0 0