Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CA logic gates

3 views
Skip to first unread message

fiziwig

unread,
Mar 4, 2003, 2:50:29 AM3/4/03
to
Continuing the organization of my file cabinet full of CA related notes from
the last bazillion years, I've added some stuff to my new web page on a
particular rule set that I've used to create all sorts of interesting
circuit components with. I have photon generators, diodes, invertors, XOR
and NAND gates, a pulse differentiator, a memory device plus some
interesting results with tuned resonators..

The problems I haven't solved yet are how to build a simple OR gate (without
resorting to NANDs and NOTs) and how to get two photon streams to cross each
other without interference. ("don't cross the streams!").

The rules for this CA and the first page of my notes as transcribed into
HTML with illustrations can be found at
http://www.geocities.com/fiziwig/caconf.html Page two will probably follow
tomorrow or the next day.

I'd love to hear any comments. I'd also love to see a solution on how to
cross photon streams!!!

--gary


Frank Buss

unread,
Mar 4, 2003, 3:42:16 AM3/4/03
to
"fiziwig" <fiz...@starband.net> wrote:

> I'd love to hear any comments.

Looks interesting. What about demonstrating your ideas with an Applet,
like this:

http://www.frank-buss.de/automaton/

It's GPL, so you can use it for your CA on your page. Would be easier
for you, because you don't have to create the nice animated GIFs all
the time.

> I'd also love to see a solution on how
> to cross photon streams!!!

Perhaps this paper helps you:

http://theses.mit.edu/Dienst/UI/2.0/ShowPage/0018.mit.theses%2f1971-25?npages=102&format=inline&page=1

In this paper Banks describes how to construct a CA with computational
power, including cross-overs, diodes etc. and an universal constructor,
like the Von Neumann constructor:

http://www.eastman.ucl.ac.uk/~thutton/Evolution/JvN/

--
Frank Buß, f...@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de

Paul Chapman

unread,
Mar 4, 2003, 1:48:59 PM3/4/03
to
Gary,

[snip]

> The rules for this CA and the first page of my notes as transcribed into
> HTML with illustrations can be found at
> http://www.geocities.com/fiziwig/caconf.html Page two will probably follow
> tomorrow or the next day.
>
> I'd love to hear any comments. I'd also love to see a solution on how to
> cross photon streams!!!

Fun stuff! I look forward to the next page.

Cheers, Paul

Paul Chapman

unread,
Mar 4, 2003, 1:58:50 PM3/4/03
to
Gary,

[snip]

> I'd love to hear any comments. I'd also love to see a solution on how to
> cross photon streams!!!

Very straightforward if cumbersome:

|->----A---->-|
^ v
A->-| |->-A xor (A xor B) = B
v ^
|->-A xor B->-|
^ v
B->-| |->-(A xor B) xor B = A
v ^
|->----B---->-|

Cheers, Paul

dmc

unread,
Mar 4, 2003, 4:46:33 PM3/4/03
to

dmc

unread,
Mar 4, 2003, 4:53:57 PM3/4/03
to
your site looks facinating, it reminds me alot of wireworld.

here is a description of logic gates using a 2-state CA and glider streams.

http://www.logic-ca.com/

fiziwig

unread,
Mar 4, 2003, 9:21:27 PM3/4/03
to

"Frank Buss" <f...@frank-buss.de> wrote in message
news:b41ot8$2ic$1...@newsreader2.netcologne.de...

> "fiziwig" <fiz...@starband.net> wrote:
>
> > I'd love to hear any comments.
>
> Looks interesting. What about demonstrating your ideas with an Applet,
> like this:
>
> http://www.frank-buss.de/automaton/

Thanks. That looks interesting. I'll have to study it more closely.

The link to the Minsky Regiter Machine was fascinating. What a fun toy that
is!

<snip>

> > I'd also love to see a solution on how
> > to cross photon streams!!!
>
> Perhaps this paper helps you:
>
>
http://theses.mit.edu/Dienst/UI/2.0/ShowPage/0018.mit.theses%2f1971-25?npage
s=102&format=inline&page=1
>

Thanks. I book marked it so I can read it a little later.

--gary


fiziwig

unread,
Mar 4, 2003, 9:22:59 PM3/4/03
to
Thanks! Now why didn't I think of that? doh!

It would be really easy to implement with the new very compact XOR circuit I
discovered today.

I'll credit you for the suggestion on my web page :)

--gary

"Paul Chapman" <pa...@CHOPigblanCHOP.com> wrote in message
news:WH69a.10310$Lq.791965@stones...

fiziwig

unread,
Mar 4, 2003, 9:24:54 PM3/4/03
to
Very interesting rule. Thank you for the link.

--gary

"dmc" <dmc...@attbi.com> wrote in message
news:Y899a.358149$vm2.270994@rwcrnsc54...
> check out http://www.logic-ca.com/
>
>
>


fiziwig

unread,
Mar 4, 2003, 9:26:11 PM3/4/03
to
Thanks again. What I like about this rule is it does away with the "pipes"
I used in my system. But on the other hand the pipes let me construct some
pretty intersting components in very little space.

--gary

"dmc" <dmc...@attbi.com> wrote in message

news:Vf99a.358233$vm2.270671@rwcrnsc54...

fiziwig

unread,
Mar 4, 2003, 9:28:12 PM3/4/03
to
P.S.

I thought of making the CA 3-dimensional or at least layered with multiple
2-D layers. I also thought of introducing an additional state that only
sees diagonal neighbors. That way streams could cross diagonally without
seeing each other.

I like you solution better though. It's cleaner.

--gary

"Paul Chapman" <pa...@CHOPigblanCHOP.com> wrote in message
news:WH69a.10310$Lq.791965@stones...

Paul Chapman

unread,
Mar 4, 2003, 11:08:48 PM3/4/03
to
Gary,

> Thanks! Now why didn't I think of that? doh!
>
> It would be really easy to implement with the new very compact XOR circuit I
> discovered today.
>
> I'll credit you for the suggestion on my web page :)

Pleasure.

BTW, I am the same Paul Chapman whose Minsky Register Machine design Frank Buss has implemented on his website.

Cheers, Paul

fiziwig

unread,
Mar 5, 2003, 2:38:51 AM3/5/03
to
Cool. Well your crossover has been implemented and works perfectly, and
although it's surprisingly small I think I could pack it into a smaller
package still. You can see it on page two of my circuit design page at
http://www.geocities.com/fiziwig/caconf.html

Thanks again.

--gary

"Paul Chapman" <pa...@CHOPigblanCHOP.com> wrote in message

news:RPe9a.10138$Vx2.771383@wards...

fiziwig

unread,
Mar 5, 2003, 2:43:35 AM3/5/03
to

"fiziwig" <fiz...@starband.net> wrote in message
news:uVY8a.3875$hc1.91...@twister1.starband.net...

> Continuing the organization of my file cabinet full of CA related notes
from
> the last bazillion years, I've added some stuff to my new web page on a
> particular rule set that I've used to create all sorts of interesting
> circuit components with. I have photon generators, diodes, invertors, XOR
> and NAND gates, a pulse differentiator, a memory device plus some
> interesting results with tuned resonators..

Page one has had some corrections and additions made, and page two of this
section of my new web page is up and almost complete.

I have a memory circuit, pulse generators, pulse width multipliers, a
differentiator and integrator and Paul Chapman's 2-D wire crossing circuit,
which was quite an interesting little circuit to build. At least it shows
that something usefull can be made with this type of CA.

See it all at http://www.geocities.com/fiziwig/caconf.html

As always, comments, suggestions, criticisms, flames, etc. all welcome.

--gary shannon


Frank Buss

unread,
Mar 5, 2003, 4:25:44 AM3/5/03
to
"fiziwig" <fiz...@starband.net> wrote:

> Thanks! Now why didn't I think of that? doh!
>
> It would be really easy to implement with the new very compact XOR
> circuit I discovered today.
>
> I'll credit you for the suggestion on my web page :)

Perhaps you should credit Edwin Banks, too, who has written about
crossing overs in CAs with logic gates 32 years ago:

http://theses.mit.edu/Dienst/UI/2.0/ShowPage/0018.mit.theses%2f1971-25?npages=102&format=inline&page=25

But probably John von Neumann has invented it first.

Frank Buss

unread,
Mar 6, 2003, 9:57:07 PM3/6/03
to
"fiziwig" <fiz...@starband.net> wrote:

> Continuing the organization of my file cabinet full of CA related
> notes from the last bazillion years, I've added some stuff to my new
> web page on a particular rule set that I've used to create all sorts
> of interesting circuit components with. I have photon generators,
> diodes, invertors, XOR and NAND gates, a pulse differentiator, a
> memory device plus some interesting results with tuned resonators..

I've managed to run your CAs with MCell's rule "Rules Table"
(http://www.mirekw.com/ca/index.html). This is a shorter configuration
for your Generator:

file generator.mcl:

#MCell 4.20
#GAME Rules table
#RULE 1,0,0,0,1,0,1,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,
#RULE 0,3,3,3,3,3,3,3,3,3
#CCOLORS 4
#L 17C$17C$17C$17C$12.BA3C$12C.4C$17C$17C$17C

Here's a bitmap-export from MCell:

http://www.frank-buss.de/automaton/virtual/generator.gif

I think it is easier to see the rule, if anything outside the tubes are
filled with the boundary state (red), because then you can't mistake
outside fields with fields for signal traveling.

To make it look like your black/grey/white/red cells, you can create a
file "virtual.mcp" in the MCell\System directory with this content:

#STATE000 16777215
#STATE001 0
#STATE002 12632256
#STATE003 255

You can select it after MCell restart from the menu Colors->
PaletteSelection->virtual

fiziwig

unread,
Mar 7, 2003, 1:28:42 AM3/7/03
to
Thanks for the info.

Several people have sent me smaller egenrators now. :) And one very much
smaller crossover.

I have already modified my program to display white paths on a dark grey
background using read and pink for the photon states instead of black and
grey. It looks much neater and easier to read. I'll get around to updating
the pictures on my web page soon, and adding all the nifty circuits people
have sent me.

But since I've been away from this for quite a few years I'm taking a few
days to read some new books I just picked up on the subject of CAs so it may
be the weekend before I get the new stuff up to my web page.

I'm also taking some time to compare the circuits in the Wire World rule set
to my own rule set. So far I think mine lets me build more compact logic
gates, but all the votes aren't in yet. :)

--gary

"Frank Buss" <f...@frank-buss.de> wrote in message

news:b491q3$js4$1...@newsreader2.netcologne.de...

Frank Buss

unread,
Mar 7, 2003, 11:24:06 AM3/7/03
to
"fiziwig" <fiz...@starband.net> wrote:

> And one very much smaller crossover.

Yes, that's not difficult, because your configuration was much more
complicate than Paul's idea. Here's another implementation:

http://www.frank-buss.de/automaton/virtual/crossover.gif

And the MCell file crossover.mcl:

#MCell 4.20
#GAME Rules table
#RULE 1,0,0,0,1,0,1,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,
#RULE 0,3,3,3,3,3,3,3,3,3
#CCOLORS 4

#L 8C.14C$8CB14C$8CA14C$8C.14C$8CBC3.10C$8CAC.C.10C$8C3.C$10C.C.10C$10C3.
#L 10C$10C.C.10C$.BA4.BA..C3.8C$10C.C.C.8C$10C3.C.8C$14C.8C$14C.8C$14C.8C
#L $14C.8C$14C.8C$14C.8C$14C.8C

fiziwig

unread,
Mar 7, 2003, 9:08:29 PM3/7/03
to
I feel very humbled by the elegant simplicity of you crossover. I'm not sure
why mine was so complicated except that I was thinking in terms of the
seperate logic elements connected by wires instead of thinking of the
crossover as an integrated unit.

It's a very nicely done design.

--gary

"Frank Buss" <f...@frank-buss.de> wrote in message

news:b4ah35$sac$1...@newsreader2.netcologne.de...

Frank Buss

unread,
Mar 8, 2003, 12:13:09 PM3/8/03
to
"fiziwig" <fiz...@starband.net> wrote:

> I feel very humbled by the elegant simplicity of you crossover. I'm
> not sure why mine was so complicated except that I was thinking in
> terms of the seperate logic elements connected by wires instead of
> thinking of the crossover as an integrated unit.

It's only a straighforward implementation of Paul's idea and it is built
with sepearate logic elements: Your T-joint and your XOR. I think it
could be even smaller as an "integrated unit".

BTW: A optimized version of your diode:

http://www.frank-buss.de/automaton/virtual/diode.gif

#MCell 4.20
#GAME Rules table
#RULE 1,0,0,0,1,0,1,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,
#RULE 0,3,3,3,3,3,3,3,3,3
#CCOLORS 4

#L 28C$15C.8C.3C$14C12.CC$.BA4.BA.BA..C.8C.C$14C.10C.CC$28C

But I'm very interested in your NAND gate, because I didn't found it on
the web page and I couldn't built it. You have already an inverter, so
you need only a NAND, an OR or a NOR gate to get all boolean operations
(XOR and NOT alone is not sufficient). Then you can build a full computer
with this CA :-)

fiziwig

unread,
Mar 9, 2003, 10:28:14 AM3/9/03
to

"Frank Buss" <f...@frank-buss.de> wrote in message
news:b4d8b5$ge4$1...@newsreader2.netcologne.de...

> "fiziwig" <fiz...@starband.net> wrote:
>
> > I feel very humbled by the elegant simplicity of you crossover. I'm
> > not sure why mine was so complicated except that I was thinking in
> > terms of the seperate logic elements connected by wires instead of
> > thinking of the crossover as an integrated unit.
>
> It's only a straighforward implementation of Paul's idea and it is built
> with sepearate logic elements: Your T-joint and your XOR. I think it
> could be even smaller as an "integrated unit".
>

My first crossover was put together more like I would build something with
real wires and components. It took your example to show me that I needed to
stop thinking of each component as a seperate thing and start thinking of
them as building blocks.

> BTW: A optimized version of your diode:
>
> http://www.frank-buss.de/automaton/virtual/diode.gif
>

<snip>

Very nice diode. I like it.

> But I'm very interested in your NAND gate, because I didn't found it on
> the web page and I couldn't built it. You have already an inverter, so
> you need only a NAND, an OR or a NOR gate to get all boolean operations
> (XOR and NOT alone is not sufficient). Then you can build a full computer
> with this CA :-)
>

My original work with this was done with pencil and paper years ago and once
I put it on the computer I realized I had made a mistake and my NAND gate
didn't work.

HOWEVER, I was was trying out different modifications of the rule set and I
stumbled onto a really nice change to the rule set. It's a good rule set
because every single circuit for the old rule set still works with the new
rule set. AND there is a simple OR gate, a NAND gate, and a bunch of new
exciting circuit components.

I'm updating my web page now and should have it up later today. I changed to
graphics of my program and now the photons look like colorful beads racing
around a race track so I'm calling this new version "Bead Racer". :)

Here's the rule set, and I'll have a bunch of new circuits on my web page
this afternoon (West coast USA time).

Bead Racer Rules
------------------

State 0 (WALL): always stays at state zero

State 1 (EMPTY):

If 1 RED neighbor turn RED
If 1 BLUE neighbor turn BLUE
If 3 RED neighbors turn BLUE
If 3 BLUE neighbors turn RED
If 1 RED and 1 BLUE neighbor turn RED

State 2: (RED); always turn to state 4 (TAIL)

State 3: (BLUE): always turn to state 4 (TAIL)

State 4: (TAIL): Alwyas turn to state 0 (EMPTY)

--gary

0 new messages