A circuit ruleset

For discussion of other cellular automata.
Chuma
Posts: 7
Joined: June 8th, 2012, 2:13 pm

A circuit ruleset

Post by Chuma » June 8th, 2012, 4:01 pm

Hello!

I came across this site just now, as I was experimenting with an automaton quite similar to GOL. It's quite simple - it may already have been invented by someone else.
I've learned that GOL can be used to create whole little programs, but it gets quite messy, so I wanted to see if I could change the rules a little to make it easier. I think my system works quite well for this purpose - I'm working on a binary adder, and I'm pretty sure I can do it - but there are some behaviours that I haven't been able to achieve.

I first implemented the algorithm in Netlogo, which is a fun little program you might want to check out if you haven't. Now I've downloaded Golly and made a rule table, and it seems to be working, as far as I can tell.

I'll write the rules here, and some of the things I've found so far.

The rules:
There are four states a tile can be in; disabled, inactive, fading, active (or 0, 1, 2, 3).
Disabled tiles stay disabled. The make up the walls of the game.
An active tile will always become a fading tile in the next turn, and a fading tile will always become inactive. An inactive tile will become active if exactly one of the four adjacent tiles is active. (I'm thinking of changing that to any odd number of active tiles, i.e. one or three.)

As a rule table:

Code: Select all

n_states:4
neighborhood:vonNeumann
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}
var f={0,1,2}
var g={0,1,2}
1,3,e,f,g,3
2,a,b,c,d,1
3,a,b,c,d,2
This game can be "played" much like the normal GOL, with the inactive tiles making up the background, and few or no disabled tiles. But that's not what I'm focusing on. In the patterns I'm looking at, the disabled tiles make up the background. Then there are some paths and connections made up of inactive tiles, and just a couple of active ones moving along them.

The patterns:
An obvious pattern is a path. You get "blips" of active tiles moving along the path, since the fading prevents them from going backwards.
Junctions are also simple; whenever a blip reaches a junction, it continues along all the paths except the one it came from.
A surprisingly easy thing is to make guns. They pop up all the time, it seems. The simplest one I've found consists of three tiles next to a path. Whenever a blip arrives in either direction, it starts shooting continuously in that direction. I've also found patterns which are guns in one direction but stop incoming blips in the other, and those that are guns in one direction but just let blips pass in the other direction.
Slightly trickier to find was a mirror; in one direction, it just lets the blip through, but in the other it sends one through and one back.
Another very useful pattern is a separating junction - blips from the left continue to the right, and blips from above continue down. This is very useful for constructing circuit-like patterns. (I haven't found one that works for all four directions, but that's not absolutely necessary.)

What I've been working on for a long time and still can't find, is a pattern that lets a blip through in only one direction. It's probably not needed for making circuitry, but it would make many patterns a lot easier.

EDIT: I was starting to think it was impossible, but I've finally found it. Yay! It was quite a clever little trick, if I may say so. My final one-way-machine is 5x5 tiles; I don't know if it can be made smaller, but I doubt it very much.

This just leaves one tiny little thing that would be pretty nice to solve. If we instead decided that an inactive tile surrounded by three active ones does become active, as I mentioned above, is it still possible to find a one-way-machine? I strongly suspect that it isn't, but I'm not sure how to prove that.

User avatar
Wojowu
Posts: 210
Joined: October 1st, 2011, 1:24 pm

Re: A circuit ruleset

Post by Wojowu » June 9th, 2012, 4:41 pm

Hello, nice rule table. I found long period pattern based on recurrence relation: A(n)=A(n-1) XOR A(n-29). I found period of this relation is long but finite, and pattern's period is over 4 mln. (I called it PseudoWW as it reminds me WireWorld)

Code: Select all

x = 15, y = 14, rule = PseudoWW
3A.3A.3A.3A$5A.A.A.A.A.A$C5.A.A.A.A.A$B.3A.3A.3A.A$A.A.A9.A$A.A.11A$A
.A$A.13A$A13.A$A.13A$A.A$A.12A$A12.A$14A!
Can you post your one-way machine? I can't figure it out
First question ever. Often referred to as The Question. When this question is asked in right place in right time, no one can lie. No one can abstain. But when The Question is asked, silence will fall. Silence must fall. The Question is: Doctor Who?

knightlife
Posts: 566
Joined: May 31st, 2009, 12:08 am

Re: A circuit ruleset

Post by knightlife » June 10th, 2012, 5:48 am

Here is a diode and a 180 degree reflector:

Code: Select all

x = 37, y = 5, rule = PseudoWW
12.5A$BC12A2.A18.2A$12.A.3A18.2A$12.A.23A$12.5A18.2A!
The diode was bigger and ended up being 5x5 so is probably the same as the one already found.

Single, double, and triple salvo oscillators using reflector:

Code: Select all

x = 25, y = 28, rule = PseudoWW
6.3A$6.A.17A$6.A$2A4.A4.14A$4ABC7A$2A9.2A$2A9.2A7$2A9.2A$4ABC19A$2A9.
2A$2A9.2A6$11.2A$2.2A7.14A$2.4ABC5A$2.2A7.A$2.2A6.4A$10.4A!

Chuma
Posts: 7
Joined: June 8th, 2012, 2:13 pm

Re: A circuit ruleset

Post by Chuma » June 10th, 2012, 2:24 pm

I haven't looked much at WireWorld, but they seem to have some things in common, so I probably should. I called mine "Bliptile", because it's a funny word.

My mirror is the same as yours, but my one-way device is slightly different:

Code: Select all

x = 39, y = 8, rule = Bliptile
2$13.5A18.2A$13.A3.A18.2A$.BC13A.21A$13.A.A.A18.2A$13.5A!
Here's the separating junction:

Code: Select all

x = 38, y = 24, rule = Bliptile
2$17.19A$17.A17.A$17.A17.A$17.A17.A$17.A17.A$17.A17.A$15.3A17.A$15.A.
2A16.A$2.C33A$16.2A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A
!
I've been working on making a binary adder, and it's taking a while, no surprise. I realised there's another pattern I will need to make a good adder.
We would like the adder to take linear time (linear in the maximum number of digits), and use linear space. At first, that seems easy - each digit-adder uses constant space and time, and they each wait for the previous one to finish. But how do you do the waiting? You make a long path, of course. But then there will be a linear number of paths, with linear lengths, so, quadratic space. So the calculations themselves require only linear space, but the waiting takes quadratic, which is super annoying.
The only way around it would be if I could store the information from an input in some sort of infinite loop, which can then be checked by a signal sent by the previous digit-adder. So, I need a device which receives a signal from one direction, and lets through a signal in the other direction only if the first signal was positive (or, equivalently, only if it was negative). Sort of like a transistor, or something.

Luckily, I found one of those too. It wasn't too complicated using the separating junction.

Code: Select all

x = 15, y = 33, rule = Bliptile
$9.C$9.A$9.A$9.A$9.A$9.A$9.A$9.A$9.A$9.A$9.A$9.A$9.A$9.A$9.A$9.A$9.3A
$8.2A.A$5.8A$5.A3.2A.A$3.3A.3A2.A$3.A.A.A.2A.A$2.C10A$8.2A$9.A$9.A$9.
A$9.A$9.A$9.A!
If the blip on the left is sent, it goes into the loop and prevents the blip on the top from getting through, but if it is not sent, the top blip does get through, without entering the loop. It only works if the top blip is timed right, but that's doable. With a gun on the left, we can make the timing a little easier, but it's still not impossible to get through. Technically I could make one that is impossible to get through by adding several (four?) of these in a row, but that would be messy. If you know of a way to make a more effective conditional, that would be nice.

knightlife
Posts: 566
Joined: May 31st, 2009, 12:08 am

Re: A circuit ruleset

Post by knightlife » June 10th, 2012, 9:21 pm

Smaller 4x4 diode:

Code: Select all

x = 36, y = 5, rule = Bliptile
34.2A$12.4A18.2A$12.A2.21A$BC12A.A18.2A$12.4A!
Works the same way as yours.

It's nice you have solved the signal crossover problem. That is always an issue when designing a circuit with CA. WireWorld has an example that is an 8x8 multiplier (using a serial adder) you might have a look at. Quite compact too.

Personally I like the Star Wars CA which has both "signals" and "electrons" (one needs a conduit the other is a spaceship). Eliminating the conduits eliminates the crossover issue by using proper timing for collision avoidance.
But I like the simplicity of this rule.

A one-way doubler and bidirectional undoubler(!):

Code: Select all

x = 54, y = 34, rule = Bliptile
8.7A$8.A.A.A.A$2ABC47A$A7.A.A.A.A35.A$A7.7A35.A$A49.A$A49.A$A49.A$A
49.A$A49.A$A49.4A$A49.2A.A$51A2.A$50.4A7$8.7A$8.A.A.A.A$51A$A7.A.A.A.
A35.A$A7.7A35.A$A49.A$A49.A$A49.A$A49.A$A49.A$A49.4A$A49.2A.A$42ABC7A
2.A$50.4A!

User avatar
Hektor
Posts: 89
Joined: November 3rd, 2011, 2:37 pm

Re: A circuit ruleset

Post by Hektor » June 11th, 2012, 3:59 am

A p28290 and pseudorandom blip emitter

Code: Select all

x = 9, y = 17, rule = Bliptile
4.C$4.A$4.A$4.A$4.A$4.A$4.A$4.A$9A$9A$9A$2A.6A$6A.2A$6A.2A$9A$9A$9A!
Great rule, simple but powerful!

Chuma
Posts: 7
Joined: June 8th, 2012, 2:13 pm

Re: A circuit ruleset

Post by Chuma » June 11th, 2012, 9:12 am

I contemplated whether it would be better to use the 8-cell neighbourhood instead, and then let 1 or 2 be activating. It would be easier to make diodes, but some other things seemed to be more difficult. Just now, I looked at WireWorld, and I saw that it was exactly the same. Great minds think a lot, as they say.
knightlife wrote:It's nice you have solved the signal crossover problem. That is always an issue when designing a circuit with CA.
Is there a way to solve that in WireWorld?
knightlife wrote:WireWorld has an example that is an 8x8 multiplier (using a serial adder) you might have a look at. Quite compact too.
Is that the one called "NickGardner" in the Golly example?

I've got another one - a feedback-free xor:

Code: Select all

x = 8, y = 12, rule = Bliptile
7.A$7.A$7.A$7.A$4.4A$4.A.2A$C5A.A$4.4A$5.A$5.A$5.A$5.C!
That is, if you should send a signal from the output, it does go through, but the point is, if only one of the inputs is sent, it doesn't go back through the other input. This should be quite helpful.

Since in a junction a signal gets through if there is exactly one input, the ostensibly simplest devices to make are xor and the one-out-of-three gate (let's call it, I don't know, "yor"?). By combining with a constant, you can get
not(a) = xor(a, 1)
nor(a, b) = yor(a, b, 1)
or(a, b) = not(nor(a, b))
and(a, b) = nor(not(a), not(b))
"Or" and "and" both require several junctions, which should take up more space, so I'm trying to base my adder on "xor" and "yor". Since I'm using the waiting loop for the input bits, those are automatically negated, but the carry bit is not, so my inputs are not(a), not(b), c, d, where d is a "dummy variable", a signal that will always appear, but is sent from the previous bit to get the timing right.

I've figured out the most efficient (?) way of making a one-bit adder from those. The output bit is
xor(xor(not(a), not(b)), c)
and the next carry bit is
yor(xor(not(a), not(b)), yor(xor(not(a), not(b)), not(a), c), xor(c, d))
with reservations for spelling errors.
It looks messy, but the xor(not(a), not(b)) is just one junction being used several times, so it's only 5 junctions in total. The problem is that it might need quite a lot of diodes next to the junctions.

If I use this new safe-xor, I could save a lot of space on that, but that only works for xor, not for yor. And yor with diodes is really big, since it has three inputs. It's also a bit of a mess having all those dummy inputs - if it was possible to solve it without dummy inputs, that would be neat. It might help if I had some better solution for "and" or "or". It's clearly impossible to make "not" without some sort if dummy input, because it has to send a signal and it has to send it at the right time, but "and" and "or" should be possible, right?


EDIT: I think I've found an "and" - free from both feedback and dummy input. I'm starting to get the hang of this. :)

Code: Select all

x = 12, y = 15, rule = Bliptile
9.A$9.A$9.A$9.A$9.A$9.A.C$9.A.A$8A.A.A$A6.3A.A$A.4A.A3.A$A.A2.5A.A$4A
.A.A.A.A$A.4A.5A$A$C!
EDIT2: The "and" can also be turned into an "a but not b", a.k.a. "not implies" - that's actually smaller than "and".

Code: Select all

x = 9, y = 11, rule = Bliptile
5A$A.A.A$A.7A$A3.A$A.4A$C.A2.A$2.2A.A$2.4A$3.A$3.A$3.C!
I've also modified my "state box", the one which saves the input until the previous bit is finished, so that it doesn't negate the input (or negates it twice, if you like). It basically splits the dummy variable and then does xor afterwards.

Code: Select all

x = 15, y = 28, rule = Bliptile
$13.C$13.A$13.A$13.A$13.A$13.A$13.A$13.A$13.A$8.6A$8.A4.A$8.3A2.A$7.
2A.A2.A$4.8A.A$4.A3.2A.A.A$2.3A.3A2.A.A$2.A.A.A.2A.A.A$.C10A.A$7.2A4.
A$8.A4.A$6.4A3.A$6.A.6A$6.2A.A$6.4A$6.A$6.8A!
A little messy, but acceptable.

With that, I can calculate both outputs using only four xor and one "ni" (for "not implies"), which is nice, since xor is the smallest and "ni" is the second smallest, that I know of. And neither uses the dummy variable, so hopefully there shouldn't be too many crossings.
With inputs a, b, c, we get:
p = xor(a, b)
output for this bit = xor(p, c)
q = xor(a, c)
r = ni(q, p)
carry to next bit = xor(r, c)

knightlife
Posts: 566
Joined: May 31st, 2009, 12:08 am

Re: A circuit ruleset

Post by knightlife » June 12th, 2012, 12:34 am

The original WireWorld avoided crossovers but there are extensions WW2 and WW3 I have not looked at. I have seen a very clever circuit with several gates that actually implemented a crossover without needing a crossover itself. Don't know if I could find it again, but it would be very bulky indeed. Funny, it is actually patented although it has no practical use.

The WW pattern called "NickGardner" is the multiplier I was thinking of, I forgot the current version of golly actually has it right there. Press "i" when viewing it to see some commentary about the implementation of the 8x8 multiplier. Only half adders were used. His serial method grows linearly with added bits, which is something you mentioned you wanted.

Anyway, here is a very small XOR gate:

Code: Select all

x = 8, y = 18, rule = Bliptile
5A$3.3ACB$3.A$3.A4$BC3A$3.5A$3.A$3.A4$BC3A$3.3ACB$3.A$3.A!
A built-in splitter allows a second identical output at the top of the pattern. Due to symmetry, the two outputs could actually be used as inputs, creating a bidirectional XOR gate (not very practical, I know):

Code: Select all

x = 8, y = 8, rule = Bliptile
4.B$4.C$4.A$5A$3.5A$3.A$3.C$3.B!
EDIT:
It does make a wierd junction where any of the four inputs will NOT crossover to the other side but allows a two way splitter from any direction. If one of these is at one of the corners of a square loop being used as an oscillator then there would be a different path for the oscillator output depending on oscillator direction (CW or CCW).

EDIT2:
Interesting P224 oscillator:

Code: Select all

x = 47, y = 44, rule = Bliptile
B$C7.A6.A6.A6.A6.A6.A$A7.A6.A6.A6.A6.A6.A$A7.A6.A6.A6.A6.A6.A$9A2.5A
2.5A2.5A2.5A2.5A$7.5A2.5A2.5A2.5A2.5A2.5A$7.A6.A6.A6.A6.A6.A$7.A6.A6.
A6.A6.A6.A$7.2A5.2A5.2A5.2A5.2A5.2A$8.A6.A6.A6.A6.A6.A$8.A6.A6.A6.A6.
A6.A$4.5A2.5A2.5A2.5A2.5A2.5A$7.5A2.5A2.5A2.5A2.5A2.5A$7.A6.A6.A6.A6.
A6.A$7.A6.A6.A6.A6.A6.A$7.2A5.2A5.2A5.2A5.2A5.2A$8.A6.A6.A6.A6.A6.A$
8.A6.A6.A6.A6.A6.A$4.5A2.5A2.5A2.5A2.5A2.5A$7.5A2.5A2.5A2.5A2.5A2.5A$
7.A6.A6.A6.A6.A6.A$7.A6.A6.A6.A6.A6.A$7.2A5.2A5.2A5.2A5.2A5.2A$8.A6.A
6.A6.A6.A6.A$8.A6.A6.A6.A6.A6.A$4.5A2.5A2.5A2.5A2.5A2.5A$7.5A2.5A2.5A
2.5A2.5A2.5A$7.A6.A6.A6.A6.A6.A$7.A6.A6.A6.A6.A6.A$7.2A5.2A5.2A5.2A5.
2A5.2A$8.A6.A6.A6.A6.A6.A$8.A6.A6.A6.A6.A6.A$4.5A2.5A2.5A2.5A2.5A2.5A
$7.5A2.5A2.5A2.5A2.5A2.5A$7.A6.A6.A6.A6.A6.A$7.A6.A6.A6.A6.A6.A$7.2A
5.2A5.2A5.2A5.2A5.2A$8.A6.A6.A6.A6.A6.A$8.A6.A6.A6.A6.A6.A$4.5A2.5A2.
5A2.5A2.5A2.5A$7.5A2.5A2.5A2.5A2.5A2.5A$7.A6.A6.A6.A6.A6.A$7.A6.A6.A
6.A6.A6.A$7.A6.A6.A6.A6.A6.A!

Chuma
Posts: 7
Joined: June 8th, 2012, 2:13 pm

Re: A circuit ruleset

Post by Chuma » June 12th, 2012, 8:23 am

Huh! I found that same xor late last night. Very convenient. This thing keeps surprising me. I thought my adder would have to consist of huge gates and lots of diodes, but now it's looking neater and neater.

Another probably useless pattern - the traffic junction:

Code: Select all

x = 15, y = 16, rule = Bliptile
$6.C$6.A.A$6.A.A$6.A.A$6.A.A$.6A.6A$5.5A$5.A3.A$5.5A$.6A.6A$6.A.A$6.A
.A$6.A.A$6.A.A!
I've also managed to shrink the state box considerably:

Code: Select all

x = 9, y = 19, rule = Bliptile
$6.C$6.A$6.A$6.A$6.A$6.A$6.A$6.A$3.4A$3.2A.A$.C5A$5.2A$6.A$6.A$6.A$6.
A$6.A!
Unfortunately that's just the negative state box, and if my calculations are correct, it's actually impossible to get the output using only xor's and ni's if you have the negated versions of a and b. I'm working on trying to get the positive version reasonably small.

EDIT: Here's my best attempt at the positive state box so far:

Code: Select all

x = 18, y = 18, rule = Bliptile
$8.C$8.A$8.A$8.A$8.A$8.A$8.A$8.A$8.A$8.A$8.5A$8.A3.A$5.4A2.2A$5.2A.A.
2A$2.C6A.7A$7.4A!
EDIT2: I just realised the "ni" doesn't need a diode at all - it's already safe. Duh!

Code: Select all

x = 7, y = 13, rule = Bliptile
2.C$2.A$2.A$2.A$2.A$2.A$2.A$7A$A.A$3A$A$A$C!

Chuma
Posts: 7
Joined: June 8th, 2012, 2:13 pm

Re: A circuit ruleset

Post by Chuma » June 12th, 2012, 11:25 am

And here we are:

Code: Select all

x = 46, y = 189, rule = Bliptile
4$19.2A.3A2.A2.2A2.3A$18.A4.A2.A.A.A.A2.A$13.3AC2.A3.A2.3A.2A3.A$13.A
6.A2.A2.A.A.A.A2.A$13.A4.2A3.A2.A.A.A.A2.A$13.A$13.A$13.A$13.A$13.13A
$13.A.A5.A3.A.7A$5.A3.A3.A.A2.4A2.2A.A5.A$4.A.A.A.A2.A.A2.2A.A.2A2.A
5.A$4.3A.A.A2.A.A.C4A.6A3.2A$4.A.A.A.A2.A.A4.4A4.3A.A$4.A.A2.A3.A.A
14.A.2A$13.A.A12.3A2.A$13.A.11A2.A2.6A$13.A7.A3.A.2A2.A.A2.A$4.2A3.A
3.A4.4A2.2A.7A2.A$4.A.A.A.A2.A4.2A.A.2A2.A2.A3.3A4.2A$4.2A2.A.A2.A3.B
4A.5A2.A.3A6.2A$4.A.A.A.A2.A6.4A6.A.A.2A.6A$4.2A3.A3.A16.8A$13.10A10.
2A$22.A11.A$13.10A5.7A$13.A14.A$13.A14.10A$13.13A.2A8.A$13.A.A5.A3.A.
7A3.A$5.A2.2A3.A.A2.4A2.2A.A5.A3.A$4.A.A2.A3.A.A2.2A.A.2A2.A5.A3.A$4.
3A2.A3.A.A.C4A.6A3.2A3.A$4.A.A2.A3.A.A4.4A4.3A.A4.A$4.A.A2.A3.A.A14.A
.2A3.A$13.A.A12.3A2.A.5A$13.A.11A2.A2.6A2.A$13.A7.A3.A.2A2.A.A2.A2.A$
4.2A2.2A3.A4.4A2.2A.7A2.A2.A$4.A.A2.A3.A4.2A.A.2A2.A2.A3.3A2.A.2A$4.
2A3.A3.A3.C4A.5A2.A.3A3.2A.2A$4.A.A2.A3.A6.4A6.A.A.2A2.5A$4.2A3.A3.A
16.9A$13.10A10.2A$22.A11.A$13.10A5.7A$13.A14.A$13.A14.10A$13.13A.2A8.
A$13.A.A5.A3.A.7A3.A$5.A3.A3.A.A2.4A2.2A.A5.A3.A$4.A.A.A.A2.A.A2.2A.A
.2A2.A5.A3.A$4.3A3.A2.A.A.B4A.6A3.2A3.A$4.A.A2.A3.A.A4.4A4.3A.A4.A$4.
A.A.3A2.A.A14.A.2A3.A$13.A.A12.3A2.A.5A$13.A.11A2.A2.6A2.A$13.A7.A3.A
.2A2.A.A2.A2.A$4.2A3.A3.A4.4A2.2A.7A2.A2.A$4.A.A.A.A2.A4.2A.A.2A2.A2.
A3.3A2.A.2A$4.2A4.A2.A3.B4A.5A2.A.3A3.2A.2A$4.A.A2.A3.A6.4A6.A.A.2A2.
5A$4.2A2.3A2.A16.9A$13.A19.2A$13.A20.A$13.A14.7A$13.A14.A$13.A14.10A$
13.13A.2A8.A$13.A.A5.A3.A.7A3.A$5.A2.2A3.A.A2.4A2.2A.A5.A3.A$4.A.A3.A
2.A.A2.2A.A.2A2.A5.A3.A$4.3A2.A3.A.A.C4A.6A3.2A3.A$4.A.A3.A2.A.A4.4A
4.3A.A4.A$4.A.A.2A3.A.A14.A.2A3.A$13.A.A12.3A2.A.5A$13.A.11A2.A2.6A2.
A$13.A7.A3.A.2A2.A.A2.A2.A$4.2A2.2A3.A4.4A2.2A.7A2.A2.A$4.A.A3.A2.A4.
2A.A.2A2.A2.A3.3A2.A.2A$4.2A3.A3.A3.C4A.5A2.A.3A3.2A.2A$4.A.A3.A2.A6.
4A6.A.A.2A2.5A$4.2A2.2A3.A16.9A$13.10A10.2A$22.A11.A$13.10A5.7A$13.A
14.A$13.A14.10A$13.13A.2A8.A$13.A.A5.A3.A.7A3.A$5.A2.A.A2.A.A2.4A2.2A
.A5.A3.A$4.A.A.A.A2.A.A2.2A.A.2A2.A5.A3.A$4.3A.3A2.A.A.C4A.6A3.2A3.A$
4.A.A3.A2.A.A4.4A4.3A.A4.A$4.A.A3.A2.A.A14.A.2A3.A$13.A.A12.3A2.A.5A$
13.A.11A2.A2.6A2.A$13.A7.A3.A.2A2.A.A2.A2.A$4.2A2.A.A2.A4.4A2.2A.7A2.
A2.A$4.A.A.A.A2.A4.2A.A.2A2.A2.A3.3A2.A.2A$4.2A2.3A2.A3.B4A.5A2.A.3A
3.2A.2A$4.A.A3.A2.A6.4A6.A.A.2A2.5A$4.2A4.A2.A16.9A$13.10A10.2A$22.A
11.A$13.10A5.7A$13.A14.A$13.A14.10A$13.13A.2A8.A$13.A.A5.A3.A.7A3.A$
5.A2.3A2.A.A2.4A2.2A.A5.A3.A$4.A.A.A4.A.A2.2A.A.2A2.A5.A3.A$4.3A2.A3.
A.A.C4A.6A3.2A3.A$4.A.A3.A2.A.A4.4A4.3A.A4.A$4.A.A.2A3.A.A14.A.2A3.A$
13.A.A12.3A2.A.5A$13.A.11A2.A2.6A2.A$13.A7.A3.A.2A2.A.A2.A2.A$4.2A2.
3A2.A4.4A2.2A.7A2.A2.A$4.A.A.A4.A4.2A.A.2A2.A2.A3.3A2.A.2A$4.2A3.A3.A
3.C4A.5A2.A.3A3.2A.2A$4.A.A3.A2.A6.4A6.A.A.2A2.5A$4.2A2.2A3.A16.9A$
13.10A10.2A$22.A11.A$13.10A5.7A$13.A14.A$13.A14.10A$13.13A.2A8.A$13.A
.A5.A3.A.7A3.A$5.A3.2A2.A.A2.4A2.2A.A5.A3.A$4.A.A.A4.A.A2.2A.A.2A2.A
5.A3.A$4.3A.2A3.A.A.C4A.6A3.2A3.A$4.A.A.A.A2.A.A4.4A4.3A.A4.A$4.A.A2.
A3.A.A14.A.2A3.A$13.A.A12.3A2.A.5A$13.A.11A2.A2.6A2.A$13.A7.A3.A.2A2.
A.A2.A2.A$4.2A3.2A2.A4.4A2.2A.7A2.A2.A$4.A.A.A4.A4.2A.A.2A2.A2.A3.3A
2.A.2A$4.2A2.2A3.A3.C4A.5A2.A.3A3.2A.2A$4.A.A.A.A2.A6.4A6.A.A.2A2.5A$
4.2A3.A3.A16.9A$13.10A10.2A$22.A11.A$13.10A5.7A$13.A14.A$13.A14.10A$
13.13A.2A8.A$15.A5.A3.A.7A3.A$5.A2.3A4.A2.4A2.2A.A5.A3.A$4.A.A3.A4.A
2.2A.A.2A2.A5.A3.A$4.3A2.A5.A.B4A.6A3.2A3.A$4.A.A2.A5.A4.4A4.3A.A4.A$
4.A.A.A6.A14.A.2A3.A$15.A12.3A2.A.5A$15.11A2.A2.6A2.A$21.A3.A.2A2.A.A
2.A2.A$4.2A2.3A7.4A2.2A.7A2.A2.A$4.A.A3.A7.2A.A.2A2.A2.A3.3A2.A.2A$4.
2A3.A7.C4A.5A2.A.3A3.2A.2A$4.A.A2.A10.4A6.A.A.2A2.5A$4.2A2.A21.9A$33.
2A$34.A$34.A$34.A$34.A$34.A$34.A$34.A$34.A$34.A$34.A$34.A$34.A$34.A$
34.A$34.A$34.9A$41.2A$41.2A!

User avatar
Wojowu
Posts: 210
Joined: October 1st, 2011, 1:24 pm

Re: A circuit ruleset

Post by Wojowu » June 16th, 2012, 4:22 pm

Great job, and great effect of teamwork :D
First question ever. Often referred to as The Question. When this question is asked in right place in right time, no one can lie. No one can abstain. But when The Question is asked, silence will fall. Silence must fall. The Question is: Doctor Who?

Chuma
Posts: 7
Joined: June 8th, 2012, 2:13 pm

Re: A circuit ruleset

Post by Chuma » June 20th, 2012, 3:46 am

I made another extension, actually. I figured, it's all good and well to have a device that adds in linear time, but it should be possible to make it even faster, at least the expected time. When a bit adder has two equal inputs, it already knows what the carry output will be, so it can send it immediately, without waiting for the previous bit. That way you get logarithmic expected time.

This one has done-lights as well as output lights, so you can see when it's finished.

Code: Select all

x = 217, y = 62, rule = Bliptile
3$7.5A19.5A19.5A19.5A19.5A19.5A19.5A19.5A19.5A$6.2A.3A18.2A.3A18.2A.
3A18.2A.3A18.2A.3A18.2A.3A18.2A.3A18.2A.3A18.2A.3A$6.A.2A.A18.A.2A.A
18.A.2A.A18.A.2A.A18.A.2A.A18.A.2A.A18.A.2A.A18.A.2A.A18.A.2A.A$6.6A
18.6A18.6A18.6A18.6A18.6A18.6A18.6A18.6A$11.A23.A23.A23.A23.A23.A23.A
23.A23.A$5.7A17.7A17.7A17.7A17.7A17.7A17.7A17.7A17.7A$5.A23.A23.A23.A
23.A23.A23.A23.A23.A$5.7A.8A8.7A.8A8.7A.8A8.7A.8A8.7A.8A8.7A.8A8.7A.
8A8.7A.8A8.7A$11.A.A6.A14.A.A6.A14.A.A6.A14.A.A6.A14.A.A6.A14.A.A6.A
14.A.A6.A14.A.A6.A14.A$6.6A.A.4A.8A2.6A.A.4A.8A2.6A.A.4A.8A2.6A.A.4A.
8A2.6A.A.4A.8A2.6A.A.4A.8A2.6A.A.4A.8A2.6A.A.4A.8A2.6A$6.A6.4A.A.A6.A
2.A6.4A.A.A6.A2.A6.4A.A.A6.A2.A6.4A.A.A6.A2.A6.4A.A.A6.A2.A6.4A.A.A6.
A2.A6.4A.A.A6.A2.A6.4A.A.A6.A2.A$6.6A.A.A2.5A4.A2.6A.A.A2.5A4.A2.6A.A
.A2.5A4.A2.6A.A.A2.5A4.A2.6A.A.A2.5A4.A2.6A.A.A2.5A4.A2.6A.A.A2.5A4.A
2.6A.A.A2.5A4.A2.6A$11.A.A.4A.A.A4.A7.A.A.4A.A.A4.A7.A.A.4A.A.A4.A7.A
.A.4A.A.A4.A7.A.A.4A.A.A4.A7.A.A.4A.A.A4.A7.A.A.4A.A.A4.A7.A.A.4A.A.A
4.A7.A$8.4A.A6.6A.A4.4A.A6.6A.A4.4A.A6.6A.A4.4A.A6.6A.A4.4A.A6.6A.A4.
4A.A6.6A.A4.4A.A6.6A.A4.4A.A6.6A.A4.4A$8.A4.5A7.A.A4.A4.5A7.A.A4.A4.
5A7.A.A4.A4.5A7.A.A4.A4.5A7.A.A4.A4.5A7.A.A4.A4.5A7.A.A4.A4.5A7.A.A4.
A$8.3A2.A2.8A.A.A2.C.3A2.A2.8A.A.A2.C.3A2.A2.8A.A.A2.C.3A2.A2.8A.A.A
2.C.3A2.A2.8A.A.A2.C.3A2.A2.8A.A.A2.C.3A2.A2.8A.A.A2.C.3A2.A2.8A.A.A
2.C.3A$10.A2.A2.A4.A.3A.A2.2A2.A2.A2.A4.A.3A.A2.2A2.A2.A2.A4.A.3A.A2.
2A2.A2.A2.A4.A.3A.A2.2A2.A2.A2.A4.A.3A.A2.2A2.A2.A2.A4.A.3A.A2.2A2.A
2.A2.A4.A.3A.A2.2A2.A2.A2.A4.A.3A.A2.2A2.A$10.A2.A2.A4.A5.3A.2A.A2.A
2.A4.A5.3A.2A.A2.A2.A4.A5.3A.2A.A2.A2.A4.A5.3A.2A.A2.A2.A4.A5.3A.2A.A
2.A2.A4.A5.3A.2A.A2.A2.A4.A5.3A.2A.A2.A2.A4.A5.3A.2A.A$10.A2.A2.3A2.
2A3.2A.A2.A.A2.A2.3A2.2A3.2A.A2.A.A2.A2.3A2.2A3.2A.A2.A.A2.A2.3A2.2A
3.2A.A2.A.A2.A2.3A2.2A3.2A.A2.A.A2.A2.3A2.2A3.2A.A2.A.A2.A2.3A2.2A3.
2A.A2.A.A2.A2.3A2.2A3.2A.A2.A.A$10.A2.A3.16A.A2.A3.16A.A2.A3.16A.A2.A
3.16A.A2.A3.16A.A2.A3.16A.A2.A3.16A.A2.A3.16A.A$10.A2.A3.A2.2A.A3.2A
5.A2.A3.A2.2A.A3.2A3.A.A2.A3.A2.2A.A3.2A5.A2.A3.A2.2A.A3.2A5.A2.A3.A
2.2A.A3.2A5.A2.A3.A2.2A.A3.2A5.A2.A3.A2.2A.A3.2A5.A2.A3.A2.2A.A3.2A5.
A$10.A2.A2.2A3.3A.3A6.A2.A2.2A3.3A.3A.4A.A2.A2.2A3.3A.3A6.A2.A2.2A3.
3A.3A6.A2.A2.2A3.3A.3A6.A2.A2.2A3.3A.3A6.A2.A2.2A3.3A.3A6.A2.A2.2A3.
3A.3A6.A$10.A.2A2.3A.2A3.A.2A5.A.2A2.3A.2A3.A.2A5.A.2A2.3A.2A3.A.2A5.
A.2A2.3A.2A3.A.2A5.A.2A2.3A.2A3.A.2A5.A.2A2.3A.2A3.A.2A5.A.2A2.3A.2A
3.A.2A5.A.2A2.3A.2A3.A.2A5.A$6.11A.12A.10A.12A.10A.12A.10A.12A.10A.
12A.10A.12A.10A.12A.10A.12A.4A$6.A2.A.A.2A.A2.A.2A3.2A.A.A.A.A.2A.A2.
A.2A3.2A.A.A.A.A.2A.A2.A.2A3.2A.A.A.A.A.2A.A2.A.2A3.2A.A.A.A.A.2A.A2.
A.2A3.2A.A.A.A.A.2A.A2.A.2A3.2A.A.A.A.A.2A.A2.A.2A3.2A.A.A.A.A.2A.A2.
A.2A3.2A.A.A$6.A2.A.3A2.A2.3A.3A.A.A.A.A.3A2.A2.3A.3A.A.A.A.A.3A2.A2.
3A.3A.A.A.A.A.3A2.A2.3A.3A.A.A.A.A.3A2.A2.3A.3A.A.A.A.A.3A2.A2.3A.3A.
A.A.A.A.3A2.A2.3A.3A.A.A.A.A.3A2.A2.3A.3A.A.A.A$6.A2.A3.C2.A4.B.A.3A.
A.A.A3.C2.A4.C.A.3A.A.A.A3.B2.A4.B.A.3A.A.A.A3.C2.A4.C.A.3A.A.A.A3.C
2.A4.B.A.3A.A.A.A3.C2.A4.C.A.3A.A.A.A3.C2.A4.C.A.3A.A.A.A3.B2.A4.C.A.
3A.A.A$6.A2.A.3A2.A2.3A.A5.A.A.A.3A2.A2.3A.A5.A.A.A.3A2.A2.3A.A5.A.A.
A.3A2.A2.3A.A5.A.A.A.3A2.A2.3A.A5.A.A.A.3A2.A2.3A.A5.A.A.A.3A2.A2.3A.
A5.A.A.A.3A2.A2.3A.A5.A.A$6.A2.A.3A2.A2.3A.5A.A.A.A.3A2.A2.3A.5A.A.A.
A.3A2.A2.3A.5A.A.A.A.3A2.A2.3A.5A.A.A.A.3A2.A2.3A.5A.A.A.A.3A2.A2.3A.
5A.A.A.A.3A2.A2.3A.5A.A.A.A.3A2.A2.3A.5A.A.A$6.A2.A.A.2A.A2.A.2A4.A.A
.A.A.A.2A.A2.A.2A4.A.A.A.A.A.2A.A2.A.2A4.A.A.A.A.A.2A.A2.A.2A4.A.A.A.
A.A.2A.A2.A.2A4.A.A.A.A.A.2A.A2.A.2A4.A.A.A.A.A.2A.A2.A.2A4.A.A.A.A.A
.2A.A2.A.2A4.A.A.A$6.A2.6A.7A4.A.A.A.6A.7A4.A.A.A.6A.7A4.A.A.A.6A.7A
4.A.A.A.6A.7A4.A.A.A.6A.7A4.A.A.A.6A.7A4.A.A.A.6A.7A4.A.A.A$6.A2.A4.A
2.A4.A4.A.3A.A4.A2.A4.A4.A.3A.A4.A2.A4.A4.A.3A.A4.A2.A4.A4.A.3A.A4.A
2.A4.A4.A.3A.A4.A2.A4.A4.A.3A.A4.A2.A4.A4.A.3A.A4.A2.A4.A4.A.3A$6.A2.
A2.3A2.A2.3A4.A5.A2.3A2.A2.3A4.A5.A2.3A2.A2.3A4.A5.A2.3A2.A2.3A4.A5.A
2.3A2.A2.3A4.A5.A2.3A2.A2.3A4.A5.A2.3A2.A2.3A4.A5.A2.3A2.A2.3A4.A$6.C
2.A.3A3.A.3A5.A5.A.3A3.A.3A5.A5.A.3A3.A.3A5.A5.A.3A3.A.3A5.A5.A.3A3.A
.3A5.A5.A.3A3.A.3A5.A5.A.3A3.A.3A5.A5.A.3A3.A.3A5.A$9.3A.A3.3A.A5.A5.
3A.A3.3A.A5.A5.3A.A3.3A.A5.A5.3A.A3.3A.A5.A5.3A.A3.3A.A5.A5.3A.A3.3A.
A5.A5.3A.A3.3A.A5.A5.3A.A3.3A.A5.A$13.A7.A5.A9.A7.A5.A9.A7.A5.A9.A7.A
5.A9.A7.A5.A9.A7.A5.A9.A7.A5.A9.A7.A5.A$10.4A4.4A4.2A5.5A4.4A4.2A5.5A
4.4A4.2A5.5A4.4A4.2A5.5A4.4A4.2A5.5A4.4A4.2A5.5A4.4A4.2A5.5A4.4A4.2A$
10.A2.2A.4A6.9A2.2A.4A6.9A2.2A.4A6.9A2.2A.4A6.9A2.2A.4A6.9A2.2A.4A6.
9A2.2A.4A6.9A2.2A.4A6.21A$10.A3.A.A2.A6.A5.A.A3.A.A2.A6.A5.A.A3.A.A2.
A6.A5.A.A3.A.A2.A6.A5.A.A3.A.A2.A6.A5.A.A3.A.A2.A6.A5.A.A3.A.A2.A6.A
5.A.A3.A.A2.A6.A19.A$10.A3.3A2.5A2.A5.A.A3.3A2.5A2.A5.A.A3.3A2.5A2.A
5.A.A3.3A2.5A2.A5.A.A3.3A2.5A2.A5.A.A3.3A2.5A2.A5.A.A3.3A2.5A2.A5.A.A
3.3A2.5A2.A19.A$10.A6.3A3.A2.A5.A.A6.3A3.A2.A5.A.A6.3A3.A2.A5.A.A6.3A
3.A2.A5.A.A6.3A3.A2.A5.A.A6.3A3.A2.A5.A.A6.3A3.A2.A5.A.A6.3A3.A2.A19.
A$10.A2.3A.A.A.3A2.A5.A.A2.3A.A.A.3A2.A5.A.A2.3A.A.A.3A2.A5.A.A2.3A.A
.A.3A2.A5.A.A2.3A.A.A.3A2.A5.A.A2.3A.A.A.3A2.A5.A.A2.3A.A.A.3A2.A5.A.
A2.3A.A.A.3A2.A19.A$10.4A.5A.A.2A.A5.A.4A.5A.A.2A.A5.A.4A.5A.A.2A.A5.
A.4A.5A.A.2A.A5.A.4A.5A.A.2A.A5.A.4A.5A.A.2A.A5.A.4A.5A.A.2A.A5.A.4A.
5A.A.2A.A19.A$17.A2.7A5.A8.A2.7A5.A8.A2.7A5.A8.A2.7A5.A8.A2.7A5.A8.A
2.7A5.A8.A2.7A5.A8.A2.7A19.A$17.A2.A.2A8.A7.2A2.A.2A8.A7.2A2.A.2A8.A
7.2A2.A.2A8.A7.2A2.A.2A8.A7.2A2.A.2A8.A7.2A2.A.2A8.A7.2A2.A.2A22.A$
17.4A2.A8.A7.5A2.A8.A7.5A2.A8.A7.5A2.A8.A7.5A2.A8.A7.5A2.A8.A7.5A2.A
8.A7.5A2.A22.A$23.A8.9A6.A8.9A6.A8.9A6.A8.9A6.A8.9A6.A8.9A6.A8.9A6.A
22.A$22.2A16.A4.3A16.A4.3A16.A4.3A16.A4.3A16.A4.3A16.A4.3A16.A4.3A22.
A$22.A17.7A17.7A17.7A17.7A17.7A17.7A17.7A23.A$22.A23.A23.A23.A23.A23.
A23.A23.A23.A$17.6A18.6A18.6A18.6A18.6A18.6A18.6A18.6A18.6A$17.A.2A.A
18.A.2A.A18.A.2A.A18.A.2A.A18.A.2A.A18.A.2A.A18.A.2A.A18.A.2A.A18.A.
2A.A$17.2A.3A18.2A.3A18.2A.3A18.2A.3A18.2A.3A18.2A.3A18.2A.3A18.2A.3A
18.2A.3A$18.5A19.5A19.5A19.5A19.5A19.5A19.5A19.5A19.5A!
Now I'm not sure whether it would be theoretically possible to make one that's logarithmic even in the worst case. I don't see how it could be done, but I'm not sure how to prove it can't.

knightlife
Posts: 566
Joined: May 31st, 2009, 12:08 am

Re: A circuit ruleset

Post by knightlife » July 4th, 2012, 11:47 am

An interesting mirror creates 4 from 1 and a special filter reduces 4 back to 1:

Code: Select all

x = 26, y = 24, rule = Bliptile
12.7A$12.8A$5ABC13A$A10.8A$A11.6A$A13.3A$A$A$A6.2A.2A$A6.2A.2A$26A$7.
2A.2A13.A$7.2A.2A13.A$25.A$26A$A$A$A$A11.7A$A11.8A$20A$11.8A$12.6A$
14.3A!
A doulbler and corresponding filter is transparent in the opposite direction:

Code: Select all

x = 35, y = 15, rule = Bliptile
.11A9.11A$.A9.A9.A9.A$.A9.A9.A9.A$.A9.A9.A9.A$.A9.A9.A9.A$.A9.A9.A9.A
$.A9.A9.A9.A$.A9.4A6.A9.4A$3A8.2A.A5.3A8.2A.A$3A8.A2.A5.3A8.A2.A$3A8.
4A5.3A8.4A$.A10.A8.A10.A$.A10.A8.A10.A$.A10.A8.A10.A$.2ABC8A8.2ACB8A!
EDIT:
A component from one of the filters makes a memory cell:

Code: Select all

x = 47, y = 33, rule = Bliptile
10.2A15.3A.3A.3A$10.2A15.A3.A4.A$4ABC16A5.3A.2A3.A$10.2A17.A.A4.A$10.
2A15.3A.3A2.A4$10.BC15.4A.3A.3A.3A.3A$10.2A15.A2.A.A3.A3.A4.A$4ABC16A
5.4A.2A2.3A.2A3.A$10.2A15.A.A2.A5.A.A4.A$10.BC15.A.2A.3A.3A.3A2.A8$
10.2A$10.2A$BC2ABC16A$10.2A$10.2A16.3A.3A.3A.3A$29.A2.A3.A4.A$29.A2.
2A2.3A2.A$29.A2.A5.A2.A$10.BC17.A2.3A.3A2.A$10.2A$BC2ABC16A$10.2A$10.
BC!
This is not ideal because set and reset are not unconditional but actually toggle the cell. So if you really need an unconditional set or reset then you would have to test it first. Also, the test needs another component that accepts the same input and can tell if the output has been delayed.

knightlife
Posts: 566
Joined: May 31st, 2009, 12:08 am

Re: A circuit ruleset

Post by knightlife » July 4th, 2012, 12:52 pm

Binary counter counting down from 7 to 0:

Code: Select all

x = 100, y = 5, rule = Bliptile
82.BC6.BC6.BC$82.2A6.2A6.2A$4ABC10ABC10ABC10ABC10ABC10ABC10ABC22A$82.
2A6.2A6.2A$82.BC6.BC6.BC!
Better demo with MSB on the left side:

Code: Select all

x = 46, y = 8, rule = Bliptile
40.2ACB2A$40.A4.A$12.CB6.CB6.CB10.A4.A$12.2A6.2A6.2A10.A4.A$41A4.A$
12.2A6.2A6.2A10.A4.A$12.CB6.CB6.CB10.A4.A$40.6A!
EDIT:
There is no readout of the counter but each bit is doubling the period of the oscillator. P24 x 2 x 2 x 2 is now P192.

chineseman
Posts: 28
Joined: July 12th, 2012, 6:43 am

Re: A circuit ruleset

Post by chineseman » July 20th, 2012, 4:30 am

i FOUND AN INTERGRATED CIRCUIT.HOW TO USE IT?

Code: Select all

x = 22, y = 22, rule = bliptile
10.A2.A$10.A2.A$10.A2.A$10.A2.A$10.A2.A$10.A2.A$10.A2.A$10.A2.A$9A.A.
2A$8.5A$9.13A$13A$9.5A$8.2A.A.9A$8.A2.A$8.A2.A$8.A2.A$8.A2.A$8.A2.A$
8.A2.A$8.A2.A$8.A2.A!

User avatar
Extrementhusiast
Posts: 1798
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: A circuit ruleset

Post by Extrementhusiast » July 20th, 2012, 12:45 pm

It seems you are new here. This particular rule has signals that are used to communicate between cells. A signal is a state 3 cell followed by a state 2 cell, while traveling along state 1 cells. So yours, when implemented, might look like this:

Code: Select all

x = 22, y = 22, rule = bliptile
10.A2.A$10.A2.A$10.A2.A$10.A2.A$10.A2.A$10.A2.A$10.A2.A$10.A2.A$BC7A.
A.2A$8.5A$9.13A$13A$9.5A$8.2A.A.9A$8.A2.A$8.A2.A$8.A2.A$8.A2.A$8.A2.A
$8.A2.A$8.A2.A$8.A2.A!
I Like My Heisenburps! (and others)

knightlife
Posts: 566
Joined: May 31st, 2009, 12:08 am

Re: A circuit ruleset

Post by knightlife » September 15th, 2012, 12:34 pm

Fancy conduit:

Code: Select all

x = 43, y = 24, rule = Bliptile
4.9A21.9A$4.A7.A21.2A6.A$4.A7.A21.2A6.A$4.A7.A21.2A6.A$4.A7.A21.2A6.A
$4.A7.A21.2A6.A$4.A7.A21.2A6.A$5A7.A17.6A6.A$A11.A17.6A6.A$A11.A17.2A
10.A$A11.A17.2A10.A$A11.A17.2A10.A$A11.A17.2A10.A$A11.A17.2A10.A$A11.
A17.11A.A$11A.A17.11A.A$10.A.A27.A.A$10.A.A27.A.A$10.A.A27.A.A$10.A.A
27.A.A$10.C.A27.C.A$10.B.A27.B.A$10.A.A27.A.A$10.3A27.3A!
The double-wide path produces a pattern sequence, then dies out.
The net result is the same as a normal path as shown.
However, the sequence can be tapped at various points.
One example:

Code: Select all

x = 48, y = 24, rule = Bliptile
A8.9A12.A8.9A$A8.A7.A12.A8.2A6.A$A8.A7.A12.A8.2A6.A$A8.A7.A12.A8.2A6.
A$A8.A7.A12.A8.2A6.A$A8.A7.A12.A8.2A6.A$A8.A7.A12.A8.2A6.A$A4.5A7.A
12.A4.6A6.A$A4.A11.A12.A4.6A6.A$A4.A11.A12.A4.2A10.A$6A11.A12.7A10.A$
5.A11.A17.2A10.A$5.A11.A17.2A10.A$5.A11.A17.2A10.A$5.A11.A17.11A.A$5.
11A.A17.11A.A$15.A.A27.A.A$15.A.A27.A.A$15.A.A27.A.A$15.A.A27.A.A$15.
C.A27.C.A$15.B.A27.B.A$15.A.A27.A.A$15.3A27.3A!
I have not been able to make a true OR gate with the correct timing.
XOR is so easy (see previous posts) but OR is elusive:

Code: Select all

x = 13, y = 5, rule = Bliptile
3.C3A$6.A$6.A$5.2A$C12A!
It takes 12 tics to reach the end of the output conduit, but there is one case where it takes 13 tics.
There seems to be a parity issue making a true OR gate impossible, but I can't prove it.
Has anyone tried to prove or disprove the existence of an OR gate in this rule?

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

Re: A circuit ruleset

Post by flipper77 » September 15th, 2012, 4:57 pm

After looking here for an idea, here's p22 OR gate made using NOT and AND gates

Code: Select all

x = 30, y = 98, rule = Bliptile
17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A
$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.A$17.
A$17.A$17.12A$17.A3.A6.A$16.4A.A.3A2.C$16.A2.A.3A.3AB$16.A.2A$16.4A$
18.A$9.7AB.A$9.A6.C2A$4A.3A.A.4A.A$A2.3A.A.A.A2.5A$B6.A.4A.A.A.A$C9A.
4A.5A.3A.3AB$9.A10.A.A.3A2.C$8.4A8.A.A6.A$8.A2.A8.10A$8.A.2A8.A$8.4A
6.4A$10.C7.A2.A$10.B7.2A.A$10.A7.4A$10.A8.A$10.A8.A$10.A8.C$10.A8.B$
10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A
8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.B8.A$
10.A8.A$10.A8.A$10.A8.A$10.A8.C$10.A8.B$10.A8.A$10.A8.A$10.A8.A$10.A
8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$10.A8.A$
10.A8.A$10.A8.A$10.A8.A$10.C8.A$10.B8.A$19.A$19.A$19.A$19.A$19.B!
Although, a stable OR gate seems very hard to accomplish.

knightlife
Posts: 566
Joined: May 31st, 2009, 12:08 am

Re: A circuit ruleset

Post by knightlife » September 16th, 2012, 11:13 pm

flipper77 wrote:Although, a stable OR gate seems very hard to accomplish.
Agreed. But at least there is a way. I was trying to find something small (and stable, like the XOR gate). :)

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

Re: A circuit ruleset

Post by flipper77 » September 17th, 2012, 12:54 am

knightlife wrote:
flipper77 wrote:Although, a stable OR gate seems very hard to accomplish.
Agreed. But at least there is a way. I was trying to find something small (and stable, like the XOR gate). :)
I believe this qualifies as stable and small (compared to my last post).

Code: Select all

x = 53, y = 22, rule = Bliptile
7.A21.A21.A$7.A21.A21.A$7.A21.A21.A$7.A21.A21.A$7.A21.A21.A$2.6A16.6A
16.6A$2.A4.A16.A4.A16.A4.A$4A.4A13.4A.4A13.4A.4A$A2.A.A2.A13.A2.A.A2.
A13.A2.A.A2.A$2A.A.2A.A13.2A.A.2A.A13.2A.A.2A.A$4A.4A13.4A.4A13.4A.4A
$.A4.A16.A4.A16.A4.A$.A3.4A14.A3.4A14.A3.4A$.6A.A14.6A.A14.6A.A$.A6.A
14.A6.A14.A6.A$.A6.A14.A6.A14.A6.A$.A6.A14.A6.A14.A6.A$.C6.A14.A6.A
14.C6.A$.B6.A14.B6.A14.B6.A$8.A21.A21.A$8.C21.C21.A$8.B21.B21.B!
This gate runs with p27+ signal streams.

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

Re: A circuit ruleset

Post by flipper77 » September 17th, 2012, 3:15 am

I found another stable OR gate that is even slightly smaller, and may be the best I can do. I even surprised myself with its simplicity when I found this:

Code: Select all

x = 32, y = 11, rule = Bliptile
3.A10.A10.A$3.A10.A10.A$3.A10.A10.A$4A.3A3.4A.3A3.4A.3A$A.4A.A3.A.4A.
A3.A.4A.A$A6.A3.A6.A3.A6.A$5A.4A.5A.4A.5A.4A$4.4A.A5.4A.A5.4A.A$5.A3.
A6.A3.A6.A3.A$5.C3.C6.A3.C6.C3.A$5.B3.B6.B3.B6.B3.B!
This gate works with any stream of signals p5+
EDIT:
Smaller AND gate

Code: Select all

x = 17, y = 11, rule = Bliptile
2.A5.A5.A$2.A5.A5.A$2.A5.A5.A$4A2.4A2.4A$A.2A2.A.2A2.A.2A$A2.A2.A2.A
2.A2.A$5A.5A.5A$.A.2A2.A.2A2.A.2A$.C2.A2.A2.A2.C2.A$.B2.C2.B2.C2.B2.A
$4.B5.B5.B!
It bears a resemblance to the 4x4 diode, and works with p5+ streams.
And a slightly smaller OR gate:

Code: Select all

x = 29, y = 11, rule = Bliptile
.A9.A9.A$.A9.A9.A$.A9.A9.A$.4A6.4A6.4A$3A.3A3.3A.3A3.3A.3A$A5.A3.A5.A
3.A5.A$4A.4A.4A.4A.4A.4A$3.4A.A4.4A.A4.4A.A$5.A2.C6.A2.C6.A2.A$5.C2.B
6.A2.B6.C2.B$5.B9.B9.B!
And here's all the smallest known gates for this rule:

Code: Select all

x = 56, y = 28, rule = Bliptile
14.A7.A7.A$14.A7.A7.A$3A.3A7.A7.A7.A11.2A2.2A$A.A.A4.A4.4A4.4A4.4A7.A
2.A.A.A$3A.3A.3A2.3A.A3.3A.A3.3A.A7.A2.A.2A$A5.A2.A3.A2.4A.A2.4A.A2.
4A5.A2.A.A.A$A3.3A6.5A.A.5A.A.5A.A6.2A2.A.A$16.A2.C4.A2.C4.A2.A$16.C
2.B4.A2.B4.C2.B$16.B7.B7.B2$15.A5.A5.A$15.A5.A5.A$15.A5.A5.A14.2A2.A
3.A.3A$3A.3A6.4A2.4A2.4A12.A2.A.2A2.A.A2.A$A.A.A4.A3.A.2A2.A.2A2.A.2A
12.4A.A.A.A.A2.A$3A.3A.3A2.2A.A2.2A.A2.2A.A12.A2.A.A2.2A.A2.A$A5.A2.A
4.4A2.4A2.4A11.A2.A.A3.A.3A$A3.3A7.A.2A2.A.2A2.A.2A$14.C2.A2.A2.A2.C
2.A$14.B2.C2.B2.C2.B2.A$17.B5.B5.B2$3A.3A9.A8.A8.A6.A3.A2.2A2.2A$A.A
3.A2.A6.A8.A8.A7.A.A2.A2.A.A.A$3A.3A.3A5.A8.A8.A8.A3.A2.A.2A$A5.A2.A
6.3ACB4.3ACB4.4AB3.A.A2.A2.A.A.A$A3.3A6.BC3A4.B4A4.BC3A5.A3.A2.2A2.A.
A!
EDIT 2: I've updated the gates where the OR gates are reduced even further, and along with other stuff.

knightlife
Posts: 566
Joined: May 31st, 2009, 12:08 am

Re: A circuit ruleset

Post by knightlife » September 18th, 2012, 6:01 am

Nice, you found what I was thinking might exist, but I obviously didn't try hard enough. :mrgreen:

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

Re: A circuit ruleset

Post by twinb7 » February 20th, 2014, 1:38 pm

Really like this rule, I'm surprised the creator of WireWorld didn't actually start with this since it's much simpler O.O
The PRNG capabilities of it are super cool, too. :lol:

I'm gonna be working on a W110 Metacell or... something cool.

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

Re: A circuit ruleset

Post by twinb7 » February 21st, 2014, 10:44 am

A simple A AND NOT B gate follows, made with an AND and an XOR so there isn't a need for a NOT gate in it, so it works for P5+ and isn't for a specific period.

Code: Select all

x = 16, y = 22, rule = Bliptile
2.A3.A6.2A$.A.A.A.A5.A.A$.3A.A.A.3A.2A$.A.A.A.A.A3.A.A$.A.A.A.A5.2A2$
2.A$2.A$2.4A$.3A.A$.A3.A$.A.4A$.A.A.2A$2A.2A.A$A3.4A$5A.2A$4.C2.A$.A
2.B2.C.2A$A.A4.B.A.A$3A6.2A$A.A6.A.A$A.A6.2A!

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

Re: A circuit ruleset

Post by twinb7 » February 21st, 2014, 11:29 am

I worked on this for about 2 hours (should I be embarrassed about how long it took?): a Bliptile Rule 110 metacell!

Here's the single cell:

Code: Select all

x = 25, y = 35, rule = Bliptile
14.A$14.A$14.A$14.A$14.A$14.A$14.A$14.A$A13.A9.A$14.A$18A.5A$14.A2.A.
A$14.C2.A.A$11.3AB2.A.2A$11.A.3A.2A.3A$9.4A2.A2.A3.A$9.A.5A2.3A.A$9.A
2.A4.2A.A.A$6.4A2.A3.7A$6.A.3A.A3.A.2A$6.A3.A.A3.A.A.3A$3A2.4A.A.A3.A
.3A.A$A.A2.2A.A.A.2A2.A5.A$A.A2.A.2A.2A.A2.A.5A$A.A.4A3.A.A2.A.A$A.A.
2A.5A.A2.A.A.3A$A.A.A2.A5.A2.A.3A.2A$2.A.A2.7A2.A.A$2.A.A2.A4.3A.A.4A
$2.A.2A.A6.A.A4.A$2.A2.A.A.6A.A.4A$2.4A.A.A6.A.A$7.A.8A.A$7.A10.A$7.
12A!
Tile them so that the state 1 cells in the upper right and left corners overlap.

P.S. it's period 90.


P.P.S
Wojowu wrote:Hello, nice rule table. I found long period pattern based on recurrence relation: A(n)=A(n-1) XOR A(n-29). I found period of this relation is long but finite, and pattern's period is over 4 mln...
Over 4 mln? More like over 45 mln. For some reason oscar.py refuses to continue running past 45 mln generations.

Post Reply