Code: Select all
# WireWorld JvN
#
# rules: 6
#
# Golly rule-table format.
# Each rule: C,U,R,D,L,C'
#
# Default for transitions not listed: no change
#
# Variables are bound within each transition.
# For example, if a={1,2} then 4,a,0->a represents
# two transitions: 4,1,0->1 and 4,2,0->2
# (This is why we need to repeat the variables below.
# In this case the method isn't really helping.)
#
n_states:4
neighborhood:vonNeumann
symmetries:permute
var a={0,1,2,3}
var b={0,1,2,3}
var c={0,1,2,3}
var d={0,1,2,3}
var e={0,2,3}
var f={0,2,3}
var g={0,2,3}
var h={0,2,3}
1,a,b,c,d,2
2,a,b,c,d,3
3,e,f,g,1,1
3,e,f,1,1,1
3,e,1,f,1,1
3,1,e,f,1,1
Unfortunately, it was somewhat harder to construct logic gates in this rule. In normal wireworld, many logic components work by exploiting the fact that three adjacent heads can prevent a new head from forming without forming one themselves. In a Von Neumann neighborhood, though, getting three heads around a particular cell can be tricky. However, we can modify to rule to specify that a new head is formed only if the cell in question was adjacent to exactly one head in the previous generation. This results in the following rule table (I have it saved as "WireWorldJvN2.table")
Code: Select all
# WireWorld JvN
#
# rules: 6
#
# Golly rule-table format.
# Each rule: C,U,R,D,L,C'
#
# Default for transitions not listed: no change
#
# Variables are bound within each transition.
# For example, if a={1,2} then 4,a,0->a represents
# two transitions: 4,1,0->1 and 4,2,0->2
# (This is why we need to repeat the variables below.
# In this case the method isn't really helping.)
#
n_states:4
neighborhood:vonNeumann
symmetries:permute
var a={0,1,2,3}
var b={0,1,2,3}
var c={0,1,2,3}
var d={0,1,2,3}
var e={0,2,3}
var f={0,2,3}
var g={0,2,3}
var h={0,2,3}
1,a,b,c,d,2
2,a,b,c,d,3
3,e,f,g,1,1
Code: Select all
x = 23, y = 29, rule = wireworldjvn2
14.C$14.C$14.C$14.C$14.C$14.C$14.C$14.C$14.C$14.C$14.C$14.C$14.C$14.C
$14.C$13.3C$CBA11C.3CAB3C$C.C10.3C2.C3.C$3C11.C3.C3.C$18.C3.C$18.C3.C
$18.C3.C$18.C3.C$18.C3.C$18.C3.C$18.C3.C$18.C3.C$18.C3.C$18.5C!
Code: Select all
x = 32, y = 36, rule = wireworldjvn2
14.4C$5CBA9C.7CAB6C$C6.C7.C8.C6.C$8C7.C8.8C$15.C$15.C$15.C$15.C$15.C
6$14.4C$5CBA9C.15C$C6.C7.C8.C6.C$8C7.C8.8C$15.C$15.C$15.C$15.C$15.C5$
14.4C$16C.7CAB6C$C6.C7.C8.C6.C$8C7.C8.8C$15.C$15.C$15.C$15.C$15.C!
Code: Select all
x = 20, y = 81, rule = wireworldjvn2
5CBA5C$C5.C3.7CABC$C5.C4.C5.C.C$C5.C4.C5.3C$C5.C4.C$C5.C4.C$7C4.C$11.
C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$
11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C
$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.
C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$
11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C$11.C
$11.C$11.C$11.C$11.C$11.C!
Code: Select all
x = 86, y = 11, rule = wireworldjvn2
15CBA34CBA20CBA10CB$83.2CA$83.B.C$83.A2C$84.C$84.B$84.A$84.C$84.C$84.
B$84.A!
1. Can anyone find an AND gate which is smaller than forming one from ORs and NOTs?
2. Can anyone find a crossover smaller than three XOR gates (something akin to this:
Code: Select all
x = 11, y = 21, rule = wireworld
2.8C$.C8.C$.C8.C$.C8.C$.C8.C$.C8.C$.C8.C$.C8.C$.C.C6.C$10C$C2.C$10C$.
C.C6.C$.C8.C$.C8.C$.A8.C$.B8.C$.C8.C$.C8.C$.C8.C$2.8C!
3. Can we find non-synchronized logic gates?