## Generalized Wire Automata

For discussion of other cellular automata.

### Generalized Wire Automata

After seeing WireWorld and a variant Bliptile I thought it would be interesting to explore a family of wire automata that all share similar properties.

-All family members have 3 states: A wire, an electron head, and an electron tail.
-An electron head always becomes an electron tail.
-An electron tail always becomes a wire.
-A wire becomes an electron head if it is surrounded by an exact number of neighbors.

The rule is formatted (neighbors)(neighborhood) (V=Von Neumann, M=Moore, H=Hexagonal, T=triangular...)

WireWorld is then 12M. Bliptile is 1V.

Edit: The convention for state numbering-
State 2: Electron tail
State 3: Wire
Last edited by twinb7 on November 23rd, 2014, 5:03 pm, edited 1 time in total.
twinb7

Posts: 175
Joined: February 11th, 2014, 8:08 pm
Location: Ames, Iowa

### Re: Generalized Wire Automata

Here is 1H (perhaps the easiest-to-engineer rule!).
`@RULE 1H@TABLEn_states:4neighborhood:hexagonalsymmetries:permutevar 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,1,2,3}var f={0,1,2,3}var g={0,2,3}var h={0,2,3}var i={0,2,3}var j={0,2,3}var k={0,2,3}var l={0,2,3}1,a,b,c,d,e,f,22,a,b,c,d,e,f,33,g,h,i,j,k,1,1`

Here is a near diode, with two near logic gates.
`x = 34, y = 3, rule = 1H6.3C\$A7C.24CA\$7.2C!`

`x = 22, y = 8, rule = 1HA14C\$14.C\$A18C2\$A13C\$14.C\$A14C\$15.7C!`
c0b0p0

Posts: 645
Joined: February 26th, 2014, 4:48 pm

### Re: Generalized Wire Automata

More 1H patterns.

`x = 58, y = 38, rule = 1H10.A3C4.4C\$13.4C4.4C\$13.C7.C10.C.C2.C2.2C\$14.C7.C9.C.C.C.C.C.C\$33.C2.C.C.2C\$32.C.C.C.C.C.C\$14.A3C14.C.C2.C2.C.C\$17.3CA\$17.C\$18.C11\$3.2C19.2C14.2C2.3C2.C2.2C2.2C\$3.C.C18.C.C13.C.C2.C2.C.C.C.C.C\$3.2C.3C15.C2.C12.C.C2.C2.C.C.C.C.2C\$3.C.C3.C13.2C3.C11.C.C2.C2.C.C.C.C.C\$A3C.C2.2C10.A3C.C3.C10.2C2.3C2.C2.2C2.2C\$3.C.5C14.2C2.2C\$3.C2.C3.C13.C2.2C.5C\$4.3C4.4C10.3C.2C3\$3.2C19.2C\$3.C.C18.C.C\$3.2C.3C15.C2.C\$3.C.C3.C13.2C3.C\$4C.C2.2C10.4C.C3.C\$3.C.5C14.2C2.2C\$3.C2.C3.C13.C2.2C.4CA\$4.3C4.3CA10.3C.2C!`
twinb7

Posts: 175
Joined: February 11th, 2014, 8:08 pm
Location: Ames, Iowa

### Re: Generalized Wire Automata

You may want to change the name to "Wire1H" or something to prevent Golly having confusion with standard outer-totalistic rules like B/S1H.

Also, I'm pretty sure this is the smallest working diode in 1H:
`x = 12, y = 11, rule = 1H4.3C\$4.C2.C\$5C.2C\$4.4C\$8.3CA2\$4.3C\$4.C2.C\$A4C.2C\$4.4C\$8.4C!`

Alternate form for Wire1H name:
`x = 12, y = 11, rule = Wire1H4.3C\$4.C2.C\$5C.2C\$4.4C\$8.3CA2\$4.3C\$4.C2.C\$A4C.2C\$4.4C\$8.4C!`
Last edited by Sphenocorona on November 23rd, 2014, 9:42 pm, edited 1 time in total.
Sphenocorona

Posts: 480
Joined: April 9th, 2013, 11:03 pm

### Re: Generalized Wire Automata

In that case we'll do just that, prefacing the rules with 'Wire'.

Wire1H.rule...
`@RULE Wire1H@TABLEn_states:4neighborhood:hexagonalsymmetries:permutevar 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,1,2,3}var f={0,1,2,3}var g={0,2,3}var h={0,2,3}var i={0,2,3}var j={0,2,3}var k={0,2,3}var l={0,2,3}1,a,b,c,d,e,f,22,a,b,c,d,e,f,33,g,h,i,j,k,1,1@COLORS0 48 48 481 0 0 2552 255 255 2553 255 0 0`

And that diode is wonderful and I'm so glad it exists
twinb7

Posts: 175
Joined: February 11th, 2014, 8:08 pm
Location: Ames, Iowa

### Re: Generalized Wire Automata

@twinb7: Advancing one of the signals is sufficient to make an OR gate, as shown below.
`x = 16, y = 12, rule = 1HACBA3C\$6.4CAB3CA\$6.C\$7.C\$7.C\$7.C\$7.C\$7.C\$7.C\$7.C\$7.C\$7.C!`

Using Sphenocorona's diode, here is a NOT gate. 1H has now been proven Turing-complete.
`x = 31, y = 18, rule = 1H20.3C\$20.C2.C\$BA19C.2C\$20.4C\$20.C.9C\$20.C9.C\$20.C9.C\$20.C9.C\$20.C9.C\$20.C8.2C\$20.C8.2C\$20.C9.A\$20.C\$20.C\$20.C\$20.C\$20.C\$20.C!`
c0b0p0

Posts: 645
Joined: February 26th, 2014, 4:48 pm

### Re: Generalized Wire Automata

Not quite so simple, c0b0p0.
Notice the different output timings... This shouldn't be incredibly complicated to fix but is still a problem. I'll work on it.

`x = 26, y = 12, rule = 1H4C5.A3C5.A3C\$3.4CA4.5C4.4CA\$3.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C!`

`x = 26, y = 12, rule = Wire1H4C5.A3C5.A3C\$3.4CA4.5C4.4CA\$3.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C\$4.C8.C8.C!`

Second, the NOT gate needs to be fixed in a few ways. Look a bit closer at it.

Here is a working one:
`x = 30, y = 9, rule = Wire1HCBA\$C2.C\$C3.6C\$.C2.C4.7CAB10CAB\$2.3C4.C\$9.C\$9.C\$9.C\$9.C!`

EDIT:
What would be really useful to me now would be an A AND NOT B gate... It would let me make basically everything else left in a compact method.
twinb7

Posts: 175
Joined: February 11th, 2014, 8:08 pm
Location: Ames, Iowa

### Re: Generalized Wire Automata

twinb7 wrote:EDIT:
What would be really useful to me now would be an A AND NOT B gate... It would let me make basically everything else left in a compact method.

Using the same method I used to make a Bliptile OR gate, here's a Wire1H OR gate, as well as an A AND NOT B gate just because you asked for it:
`x = 41, y = 18, rule = Wire1HB13.B13.B\$.C13.A13.A\$2.4C10.4C10.4C\$3.C.6CAB4.C.7CB4.C.6CAB\$4.3C11.3C11.3C\$7.C13.C13.C\$7.C13.C13.C\$7.C13.C13.C2\$.B12.B13.B\$2.4C9.A3C10.A3C\$3.C.5CAB4.C.6CB5.C.5CAB\$3.4C9.4C10.4C\$3.C3.C8.C3.C9.C3.C\$3.C2.2C8.C2.2C9.C2.2C\$4.4C9.4C10.4C\$8.C12.C13.C\$9.C12.C13.C!`

flipper77

Posts: 197
Joined: October 24th, 2010, 3:25 am
Location: Spokane, WA

### Re: Generalized Wire Automata

@flipper77

I managed to make my own A AND NOT B gate, slightly larger than your own:

`x = 17, y = 17, rule = Wire1H2\$.A3.3C\$.C3.C2.C\$.C.3C.2C\$.C.C.4C\$2.2C5.C\$5.3C2.6C\$5.C2.C.C.C\$.CBA2C.2C.3C\$5.4C.C\$.BAC5.2C2\$.A2C!`

The three disconnected wires demonstrate that the B input can be any of three different phases.

Using it I made an A AND B gate with A AND NOT (A AND NOT B).

`x = 35, y = 17, rule = Wire1H2C\$C.C\$C.C5.2C\$C.C5.C.C\$A.C5.C.C\$3.6C.C6.3C\$4.C6.C5.C2.C\$3.A.C2.3C.C2.3C.2C\$4.C.C.C2.C.C.C.4C\$5.C.2C.2C.C.C5.C\$6.C.4C2.2C.3C2.13C\$6.C5.C4.C2.C.C.C\$6.C.3C2.5C.2C.3C\$6.C.C2.C.C.C.4C.C\$7.2C.2C.3C5.2C\$8.4C.C\$12.2C!`

NOW H1 is turing-complete.

EDIT: Smaller AND gate.
`x = 15, y = 8, rule = Wire1H8.3C\$8.C2.C\$A6C.C.2C\$7.2C.5C\$2.AC2.2C2.C.C\$4.C.7C\$4.C.C.C\$5.4C!`
twinb7

Posts: 175
Joined: February 11th, 2014, 8:08 pm
Location: Ames, Iowa