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
> 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:
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
[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
[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
here is a description of logic gates using a 2-state CA and glider streams.
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
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...
--gary
"dmc" <dmc...@attbi.com> wrote in message
news:Y899a.358149$vm2.270994@rwcrnsc54...
> check out http://www.logic-ca.com/
>
>
>
--gary
"dmc" <dmc...@attbi.com> wrote in message
news:Vf99a.358233$vm2.270671@rwcrnsc54...
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...
> 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
Thanks again.
--gary
"Paul Chapman" <pa...@CHOPigblanCHOP.com> wrote in message
news:RPe9a.10138$Vx2.771383@wards...
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
> 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:
But probably John von Neumann has invented it first.
> 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
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...
> 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
It's a very nicely done design.
--gary
"Frank Buss" <f...@frank-buss.de> wrote in message
news:b4ah35$sac$1...@newsreader2.netcologne.de...
> 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 :-)
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