Computer Ideas
Computer Ideas
I want to make a simple computer in Life, but I don't know what it should do. Any ideas?
-
FunnyBeginner
- Posts: 18
- Joined: March 13th, 2014, 9:58 am
Re: Computer Ideas
Its possible to make a Nand-Gate is Life. So you can build any combinatorial circuit you want.
How about building a encoder that receives 8 glider streams as an input and has 3 glider as an output (the gliders are now coded binary and not unary).
Then an decoder coverts the 3 gliders streams into 8 glider streams from the beginning, but only the glider stream with the highest priority is there.
Building a Flip Flop is also very challenging.
Is it possible to copy and/or reflect a glider stream?
How about building a encoder that receives 8 glider streams as an input and has 3 glider as an output (the gliders are now coded binary and not unary).
Then an decoder coverts the 3 gliders streams into 8 glider streams from the beginning, but only the glider stream with the highest priority is there.
Building a Flip Flop is also very challenging.
Is it possible to copy and/or reflect a glider stream?
Re: Computer Ideas
An encoder is fairly straightforward to build, especially if we can assume that only one of the eight input glider streams will be populated at a time. If two or more gliders might come in simultaneously, that might require an annoyingly large amount of detection and suppression circuitry.FunnyBeginner wrote:How about building a encoder that receives 8 glider streams as an input and has 3 glider as an output (the gliders are now coded binary and not unary).
For a general idea of how to put an encoder together, have a look at Adam Goucher's pi or phi calculators in Golly's Help > Online Archives > Very Large Patterns. The printer at the top of each pattern could easily be simplified and adjusted into a (relatively tiny) 8x3 array.
You might want to switch the rule to LifeHistory to see how this pattern works in detail. But you'll have to be patient, or turn up the step size to 8^10 or so: after 66 billion ticks the pi calculator has only printed "3.1"...
A decoder is a little bit trickier, since you have to accept three simultaneous inputs, but it can certainly be done. I'd be tempted to use a "ladder" device like the one in Paul Chapman's prototype universal constructor -- send four gliders into the ladder if a glider comes in on the high lane, two more if there's a glider on the middle lane, and just reflect whatever shows up on the low lane. But then you'd need some kind of trigger signal to read and reset the ladder and get a glider on one of eight output lanes -- and it's not clear from your specification where the signal will come from in the no-gliders, N=0 case...!FunnyBeginner wrote:Then an decoder coverts the 3 gliders streams into 8 glider streams from the beginning, but only the glider stream with the highest priority is there.
Actually Josh Ball recently found a way to build a key still life for a flip-flop device that Paul Callahan put together two decades ago:FunnyBeginner wrote:Building a Flip Flop is also very challenging.
Code: Select all
x = 75, y = 61, rule = B3/S23
2bo$obo$b2o16$55b2o$54bo2bo$55b3o2$55b5o$54bo2bo2bo$44bo9b2o3bobo$42bo
bo15b2o$43b2o15$73b2o$73b2o4$61bo$60bobo$61b2o9$49b2o$48bobo$48bo$47b
2o!Sure, lots of ways. An aperiodic glider stream? We can reflect gliders as long as they don't follow one another too closely -- 43 ticks is the limit for a Snark, but larger stable glider reflectors can also copy streams with no problem -- you just have to wait longer between successive gliders: 575 ticks or 497 ticks for Silver reflector variants, 466 ticks for Adam Goucher's staged-recovery reflector or 444 ticks for Guam's, or now 386 ticks with Snark assistance.FunnyBeginner wrote:Is it possible to copy and/or reflect a glider stream?
If you put more constraints on your incoming stream, you get a lot more options. See p30-racetrack.rle, p46racetrack.rle, reflectors.rle and reflectors2.rle in Golly's Patterns/Life/Signal-Circuitry folder.
Re: Computer Ideas
'Simple computer' has a few connotations.
Firstly, a mechanism to calculate a single value, as in Adam's pi and phi calculators.
Secondly, a mechanism that computes a series of values, as in PM2Rings Collatz sequence generator. It is based on David Buckingham's adder circuit, which I can see as the basis for other 'computers'; the Fibonacci series comes to mind. Prime number sieves, like those by Dean Hickerson and Jason Summers also fit this mold.
Lastly, are the 'programmable' mechanisms. Adam Goucher's Universal Computer/Constructor, Paul Rendell's Universal Turing Machine, and even igblan's buggy Minsky Register Machine are of this nature. Sparse detail as to actually programming them doesn't detract from their theoretical flexibility.
Both spartan and periodic methodology are well represented in the above examples, and though p30 is my personal bent, I do appreciate the aperiodic sensibility of the spartan approach.
My Loooong standing personal challenge has been to model a 65xx series CPU by a manufacturer whose name rhymes with victrola. My first actual computer was the arguably venerable Commodore 64. Amazingly, I have managed to retain all of the technical references I acquired for the thing, so have a decent basis for the modeling project. The archetecture is reasonably simple, and the last major hurdle for me is implementing the instruction decoder. My recent ALU takes care of the operations, but dealing with all the varying addressing modes remains a challenge.
Studying the archives, experimenting with the possible (or at least conceivable), and staying focused on your goal. These have been my keys to building devices in GoL. Good luck in your pursuits.
triller
Firstly, a mechanism to calculate a single value, as in Adam's pi and phi calculators.
Secondly, a mechanism that computes a series of values, as in PM2Rings Collatz sequence generator. It is based on David Buckingham's adder circuit, which I can see as the basis for other 'computers'; the Fibonacci series comes to mind. Prime number sieves, like those by Dean Hickerson and Jason Summers also fit this mold.
Lastly, are the 'programmable' mechanisms. Adam Goucher's Universal Computer/Constructor, Paul Rendell's Universal Turing Machine, and even igblan's buggy Minsky Register Machine are of this nature. Sparse detail as to actually programming them doesn't detract from their theoretical flexibility.
Both spartan and periodic methodology are well represented in the above examples, and though p30 is my personal bent, I do appreciate the aperiodic sensibility of the spartan approach.
My Loooong standing personal challenge has been to model a 65xx series CPU by a manufacturer whose name rhymes with victrola. My first actual computer was the arguably venerable Commodore 64. Amazingly, I have managed to retain all of the technical references I acquired for the thing, so have a decent basis for the modeling project. The archetecture is reasonably simple, and the last major hurdle for me is implementing the instruction decoder. My recent ALU takes care of the operations, but dealing with all the varying addressing modes remains a challenge.
Studying the archives, experimenting with the possible (or at least conceivable), and staying focused on your goal. These have been my keys to building devices in GoL. Good luck in your pursuits.
triller
The most exciting phrase to hear in science, the one that heralds new
discoveries, is not "Eureka!" (I found it!) but "That's funny ..."
-- Isaac Asimov
discoveries, is not "Eureka!" (I found it!) but "That's funny ..."
-- Isaac Asimov