ConwayLife.com - A community for Conway's Game of Life and related cellular automata
Home  •  LifeWiki  •  Forums  •  Download Golly

Generalized Wire Automata

For discussion of other cellular automata.

Generalized Wire Automata

Postby twinb7 » November 16th, 2014, 11:33 pm

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 1: Electron head
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

Postby c0b0p0 » November 17th, 2014, 10:45 pm

Here is 1H (perhaps the easiest-to-engineer rule!).
@RULE 1H

@TABLE




n_states:4

neighborhood:hexagonal
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,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,2

2,a,b,c,d,e,f,3

3,g,h,i,j,k,1,1


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

x = 22, y = 8, rule = 1H
A14C$14.C$A18C2$A13C$14.C$A14C$15.7C!
c0b0p0
 
Posts: 645
Joined: February 26th, 2014, 4:48 pm

Re: Generalized Wire Automata

Postby twinb7 » November 23rd, 2014, 4:58 pm

More 1H patterns.


x = 58, y = 38, rule = 1H
10.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.C
12.C.C2.C2.C.C.C.C.2C$3.C.C3.C13.2C3.C11.C.C2.C2.C.C.C.C.C$A3C.C2.2C
10.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.2C
3.C$4C.C2.2C10.4C.C3.C$3.C.5C14.2C2.2C$3.C2.C3.C13.C2.2C.4CA$4.3C4.3C
A10.3C.2C!
twinb7
 
Posts: 175
Joined: February 11th, 2014, 8:08 pm
Location: Ames, Iowa

Re: Generalized Wire Automata

Postby Sphenocorona » November 23rd, 2014, 8:10 pm

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 = 1H
4.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 = Wire1H
4.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: 477
Joined: April 9th, 2013, 11:03 pm

Re: Generalized Wire Automata

Postby twinb7 » November 23rd, 2014, 8:25 pm

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

Wire1H.rule...
@RULE Wire1H

@TABLE
n_states:4
neighborhood:hexagonal
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,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,2
2,a,b,c,d,e,f,3
3,g,h,i,j,k,1,1

@COLORS
0 48 48 48
1 0 0 255
2 255 255 255
3 255 0 0


And that diode is wonderful and I'm so glad it exists :D
twinb7
 
Posts: 175
Joined: February 11th, 2014, 8:08 pm
Location: Ames, Iowa

Re: Generalized Wire Automata

Postby c0b0p0 » November 23rd, 2014, 10:33 pm

@twinb7: Advancing one of the signals is sufficient to make an OR gate, as shown below.
x = 16, y = 12, rule = 1H
ACBA3C$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 = 1H
20.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

Postby twinb7 » November 23rd, 2014, 11:00 pm

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 = 1H
4C5.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 = Wire1H
4C5.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 = Wire1H
CBA$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

Postby flipper77 » November 24th, 2014, 12:53 am

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 = Wire1H
B13.B13.B$.C13.A13.A$2.4C10.4C10.4C$3.C.6CAB4.C.7CB4.C.6CAB$4.3C11.3C
11.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.C
2.2C9.C2.2C$4.4C9.4C10.4C$8.C12.C13.C$9.C12.C13.C!
User avatar
flipper77
 
Posts: 197
Joined: October 24th, 2010, 3:25 am
Location: Spokane, WA

Re: Generalized Wire Automata

Postby twinb7 » November 24th, 2014, 11:05 am

@flipper77

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

x = 17, y = 17, rule = Wire1H
2$.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 = Wire1H
2C$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.C
2.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.C
4.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!


This can be made smaller with your similarly smaller ANDNOT gate.
NOW H1 is turing-complete.


EDIT: Smaller AND gate.
x = 15, y = 8, rule = Wire1H
8.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


Return to Other Cellular Automata

Who is online

Users browsing this forum: 2718281828, Sarp and 5 guests