Wave CA and Life emulator

For discussion of other cellular automata.
Keiji
Posts: 58
Joined: May 11th, 2010, 5:32 pm

Wave CA and Life emulator

Post by Keiji » August 1st, 2010, 10:38 am

Wave.table
Wave.colors
Wave.icons
lifesim2.rle (zipped)

Wave is a cellular automaton I devised a while ago, but didn't bother finishing my Life emulator until now, because synchronising is ridiculously tedious. Anywho...

The Wave Cellular Automaton
This is a CA similar to von Neumann, but with 12 states and roughly four times the dimensions. It is, of course, capable of universal computation and construction.

The 11 non-ground states are divided into four groups: construction (1-3), signal (4-5), flag (6-7) and confluent (8-11).

Signals are sent through empty space (as opposed to a wire). Each signal is an orthogonally connected pair of states 4 and 5, which travels one cell per generation such that the state 4 cell is on the "left" of the signal and the state 5 cell is on the "right". Signals do not have to be separated by any blank cells - two adjacent signals can travel without any problems.

The confluent states are used to turn signals and to form logic gates and crossovers. A crossover is a 4x4 pattern which has the middle four cells and the four corner cells in state 8 (when at rest). Logic gates use the same pattern as crossovers, but may have each of the four corner cells in states 0, 6 or 7, to determine the orientation and behaviour of the gate. Each of the four sides of a gate behaves in the way specified by the corner cell clockwise of it (e.g. the west side is determined by the northwest corner cell). State 0 indicates that the side will be "satisfied" iff it is not receiving a signal; likewise, state 6 indicates it will be satisfied iff it is receiving a signal. State 7 indicates that the side is always satisfied, and will produce an output signal iff all four sides of the gate were satisfied exactly three generations ago. Crossovers and logic gates use the center four cells in combinations of the confluent states to work. Additionally, a single cell of state 10 can be used to turn or split a signal slightly faster than a logic gate would.

Construction works by using a "construction head", which moves through otherwise empty space (as opposed to a head on the end of a wire a la von Neumann). The construction head is a pair of state 6 cells. When such a head receives a suitably aligned signal, it will use a combination of states 0 through 7 to turn, construct or retract, depending on the following pattern of signals. There are eight possible actions for a construction head to take, listed below:

Code: Select all

x = 58, y = 7, rule = wave
2F6.2F6.2F6.2F6.2F6.2F6.2F6.2F3$DE6.DE6.DE6.DE6.DE6.DE6.DE6.DE$8.DE
14.DE14.DE14.DE$16.DE6.DE22.DE6.DE$32.DE6.DE6.DE6.DE!
1000: extend
1001: become a 2x2 square (not intended for actual use)
1010: turn left
1011: turn right
1100: retract
1101: construct state 6 and retract
1110: construct state 7 and retract
1111: construct state 8 and retract

Universal destruction is not yet possible but I am considering implementing it in a later version.

The Life Emulator
I have constructed in Wave a pattern of dimensions 512x512 and period 2048, which behaves as a metacell for Life or any other Lifelike CA. The lifesim2.rle file contains a small grid of these metacells which is set up to simulate the evolution of a traffic light from a T-pentomino. Within each metacell, the presence of a east-facing signal at position (352,1) indicates that the simulated Life cell will be alive in the next generation. This causes a 384x256 rectangle (which could be made slightly larger) to "light up" and sends eight signals outward to the neighboring cells.

The rectangle (32,40)-(223,87) contains a three-bit counter, made up of 17 28x16 half adders, arranged in a 7x3 grid. The output is in three lines to the east, and one carry bit going northwards, which is caught and reflected to the right to make a four-bit output. This four-bit output is received by the ROM table to the right, which contains a twelve-cell column for each possible live cell count. The birth rules are stored in rows 12-19 of the metacell, and the survival rules in rows 20-27. The RLE file has each cell set up to behave under the rule B23/S3 but this can be easily adapted to other rules.

The rectangle (249,108)-(285,177) contains mechanisms to light up the metacell. In the top half is a device resembling a flip-flop, which sends output signals only when the input value (as considered every period of 2048 generations, of course) changes. The bottom half contains coders which output the sequence 111 (to turn on the "light") and 1100000000010001 (to turn it off). These codes aren't actually documented - any such device working to the original Wave specification would have to use a "software" method (i.e. a flip-flop) rather than the "hardware" method presented here (constructing and destructing).

Comments
- This is certainly not the first CA of this type I have engineered for the purpose of making an intuitive universal computer-constructor, and I'm sure it won't be the last as there is still plenty of room for improvement (see further comments). This is a much harder project than I first thought, and I can easily see myself starting from scratch many more times in order to create a more efficient CA.
- The lack of an OR gate is a nuisance, as any ORing must be done with a NOR-NOT combination. XOR gates also end up quite large as they have to be built up from the "(A AND NOT B) OR (B AND NOT A)" or "(A OR B) AND NOT (A AND B)" combinations.
- A lot of space is wasted on delaying signals. I may want to look in to making a CA that supports compact timers of some sort.
- One cell of von Neumann is just about equivalent to a 4x4 square in Wave, which makes things enormous. I have some ideas of how to reduce this to 2x2, while imposing a few extra restrictions (such as requiring signals to be an even number of cells apart, and still needing a larger-than-2x2-area for some logic gates).
- As mentioned, there's no universal destruction. I will want to make the construction head capable of destruction as well.
Last edited by Keiji on August 4th, 2010, 3:09 pm, edited 1 time in total.
Image
This is why signature character limits are pointless.

User avatar
calcyman
Moderator
Posts: 2938
Joined: June 1st, 2009, 4:32 pm

Re: Wave CA and Life emulator

Post by calcyman » August 1st, 2010, 11:29 am

This is a CA similar to von Neumann, but with 12 states
A good start -- that's simpler than vNCA (29 states) or NCA (32 states). I presume you are using the von Neumann neighbourhood (5 neighbours: surrounding four cells + the centre cell).


Universal computation-construction is possible in a 3-state 5-neighbour CA (Serizawa) and a 2-state 9-neighbour CA (GoL). It might also be possible in a 2-state 7-neighbour CA (with a hexagonal lattice); that would theoretically be simpler than GoL.

One cell of von Neumann is just about equivalent to a 4x4 square in Wave, which makes things enormous.
With a 4*4 crossover, most circuits should end up smaller than their von Neumann counterparts. The real-time crossing organ in vNCA is 8*8 cells, and the auto-initialisable variant is larger still. It's also tedious to perform a logical negation in vNCA (the only way to do so is to involve STS cells, a clock, and at least five switches).

And, no, if you can emulate Life in a 512*512 square, then things aren't enormous at all. Consider Banks' CA, where I have a blueprint for a replicator that may total 10^12 cells. That is enormous.
The lack of an OR gate is a nuisance, as any ORing must be done with a NOR-NOT combination.
Again, that is compact compared to Banks' CA, where an OR gate looks like this:

Code: Select all

x = 114, y = 95, rule = Banks-IV
2.3C7.3C$2.C.C7.C.C$3C.9C.3C19.3C.3C7.3C$C2.C9.C2.C19.C.C.C.C7.C.C$3C
.9C.3C17.3C.3C.9C.3C$2.C.C7.C.C19.C2.C3.C9.C2.C$2.C.C7.C.C19.3C.3C.9C
.3C$2.C.C7.C.C21.C.3C.3C.C3.C.C$2.C.C5.3C.23C.7C.5C.3C$2.C.C5.C2.C23.
C2.C.C2.C5.C2.C$2.C.C5.3C.23C.3C.3C.5C.3C$2.C.C7.C.C21.C.C5.C.C3.C.C$
2.C.C7.3C19.3C.7C.3C.C.C$2.C.C29.C2.C7.C2.C.C.C$2.C.C29.3C.7C.3C.C.C
25.3C$2.C.C31.C.C5.C.C3.C.C25.C.C$2.C.C31.3C5.3C.3C.27C.3C$2.C.C43.C
2.C27.C2.C$2.C.C3.3C.3C7.3C11.3C5.3C.3C.27C.3C$2.C.C3.C.C.C.C7.C.C11.
C.C5.C.C3.C.C25.C.C$2.C.C.3C.3C.9C.3C7.3C.7C.3C.C.C25.C.C$2.C.C.C2.C
3.C9.C2.C7.C2.C7.C2.C.C.C25.C.C$2.C.C.3C.3C.9C.3C3.3C.3C.7C.3C.C.C25.
C.C$2.C.C3.C.3C.3C.C3.C.C5.C.C3.C.C5.C.C3.C.C25.C.C$3C.5C.7C.5C.3C.3C
.5C.3C.3C.5C.3C23.C.C$CBAC5.C2.C.C2.C5.C2.C.C2.C5.C2.C.C2.C5.C2.C19.
3C.C.C.3C$3C.5C.3C.3C.5C.3C.3C.5C.7C.5C.3C3.3C5.3C5.C.C.C.C.C.C$2.C.C
3.C.C5.C.C3.C.C5.C.C3.C.3C.3C.C3.C.C5.C.C5.C.C3.3C.3C.3C.3C$2.3C.3C.
7C.3C.C.C5.C.C.3C.3C.9C.3C.3C.7C.3C.C2.C3.C3.C2.C$6.C2.C7.C2.C.C.C5.C
.C.C2.C3.C9.C2.C.C2.C7.C2.C.3C.3C.3C.3C$6.3C.7C.3C.C.C5.C.C.3C.3C.9C.
3C.3C.7C.3C3.C.3C.C.C.C$8.C.C5.C.C3.C.C5.C.C3.C.C.C.C7.C.C5.C.C5.C.C
3.3C.5C.C.C$8.3C5.3C.3C.7C.3C.3C.3C7.3C5.C.C5.C.C3.C2.C2.C3.C.C$20.C
2.C7.C2.C23.C.C5.C.C3.3C.5C.C.C$8.3C5.3C.3C.7C.3C.3C.3C7.3C5.C.C5.C.C
5.C.3C.C.C.C$8.C.C5.C.C3.C.C5.C.C3.C.C.C.C7.C.C5.C.C5.C.C5.C.3C.3C.3C
$6.3C.7C.3C.C.C5.C.C.3C.3C.9C.3C.3C.3C3.C.C5.C.C2.C3.C2.C$6.C2.C7.C2.
C.C.C5.C.C.C2.C3.C9.C2.C.C2.C2.C3.C.C5.C.3C.3C.3C$2.3C.3C.7C.3C.C.C5.
C.C.3C.3C.9C.3C.3C.3C3.C.C5.C.C.C.C.C.C$2.C.C3.C.C5.C.C3.C.C5.C.C3.C.
3C.3C.C3.C.C5.C.C5.C.C5.C.C.C.C.3C$3C.5C.3C.3C.5C.3C.3C.5C.7C.5C.3C3.
C.C5.C.C5.C.C.C.C$CBAC5.C2.C.C2.C5.C2.C.C2.C5.C2.C.C2.C5.C2.C3.C.C5.C
.C3.3C.3C.3C$3C.5C.7C.5C.3C.3C.5C.3C.3C.5C.3C3.C.C5.C.C3.C2.C3.C2.C
11.3C.3C7.3C$2.C.C3.C.3C.3C.C3.C.C5.C.C3.C.C5.C.C3.C.C5.C.C5.C.C3.3C.
3C.3C11.C.C.C.C7.C.C$2.C.C.3C.3C.9C.3C3.3C.3C.7C.3C.C.C5.C.C5.C.C5.C.
C.C.C11.3C.3C.9C.3C$2.C.C.C2.C3.C9.C2.C7.C2.C7.C2.C.C.C5.C.C5.C.C5.3C
.C.C11.C2.C3.C9.C2.C$2.C.C.3C.3C.9C.3C7.3C.7C.3C.C.C5.C.C5.C.C9.C.C
11.3C.3C.9C.3C$2.C.C3.C.C.C.C7.C.C11.C.C5.C.C3.C.C5.C.C5.C.C9.C.C13.C
.3C.3C.C3.C.C$2.C.C3.3C.3C7.3C11.3C5.3C.3C.7C.3C.3C.11C.15C.7C.5C.3C$
2.C.C43.C2.C7.C2.C.C2.C11.C15.C2.C.C2.C5.C2.C$2.C.C31.3C5.3C.3C.7C.3C
.3C.11C.15C.3C.3C.5C.3C$2.C.C31.C.C5.C.C3.C.C5.C.C5.C.C9.C.C13.C.C5.C
.C3.C.C$2.C.C29.3C.7C.3C.C.C5.3C5.3C9.C.C11.3C.7C.3C.C.C$2.C.C29.C2.C
7.C2.C.C.C21.3C.C.C11.C2.C7.C2.C.C.C$2.C.C7.3C19.3C.7C.3C.C.C21.C.C.C
.C11.3C.7C.3C.C.C$2.C.C7.C.C21.C.C5.C.C3.C.C19.3C.3C.3C11.C.C5.C.C3.C
.C$2.C.C5.3C.23C.3C.3C.5C.3C17.C2.C3.C2.C11.3C5.3C.3C.4C$2.C.C5.C2.C
23.C2.C.C2.C5.C2.C17.3C.3C.3C23.C2.C3.C$2.C.C5.3C.23C.7C.5C.3C19.C.C.
C.C13.3C5.3C.3C.4C$2.C.C7.C.C21.C.3C.3C.C3.C.C21.C.C.C.C.3C9.C.C5.C.C
3.C.C$2.C.C7.C.C19.3C.3C.9C.3C19.C.C.C.C.C.C7.3C.7C.3C.C.C$2.C.C7.C.C
19.C2.C3.C9.C2.C19.C.3C.3C.3C5.C2.C7.C2.C.C.C$3C.9C.3C17.3C.3C.9C.3C
19.C.C2.C3.C2.C.3C.3C.7C.3C.C.C$C2.C9.C2.C19.C.C.C.C7.C.C21.C.3C.3C.
3C.C.C3.C.C5.C.C3.C.C$3C.9C.3C19.3C.3C7.3C21.C.3C.C.C.C.3C.5C.3C.3C.
5C.3C$2.C.C7.C.C57.3C.5C.C.C.C2.C5.C2.C.C2.C5.C2.C$2.C.C7.3C57.C2.C2.
C3.C.C.3C.5C.7C.5C.3C$2.C.C67.3C.5C.C.C3.C.C3.C.3C.3C.C3.C.C$2.C.C69.
C.3C.C.C.C3.C.C.3C.3C.9C.3C$2.C.C5.3C5.3C51.3C.3C.3C.3C.C.C.C2.C3.C9.
C2.C$2.C.C5.C.C5.C.C51.C2.C3.C3.C2.C.C.C.3C.3C.9C.3C$2.C.C3.3C.7C.3C
49.3C.3C.3C.3C.C.C3.C.C.C.C7.C.C$2.C.C3.C2.C7.C2.C51.C.C.C.C.C.C3.C.C
3.3C.3C7.3C$2.C.C3.3C.7C.3C51.3C.C.C.3C3.C.C$2.C.C5.C.C5.C.C57.C.C7.C
.C$2.C.C5.C.C5.C.C57.C.C7.C.C$2.C.C5.C.C5.C.C57.C.C7.C.C$3C.7C.3C.3C.
59C.3C5.C.C$C2.C7.C2.C.C2.C59.C2.C5.C.C$3C.7C.3C.3C.59C.3C5.C.C$2.C.C
5.C.C5.C.C57.C.C7.C.C$2.3C5.3C5.3C57.C.C7.C.C$78.C.C7.C.C$78.C.C7.C.C
$78.C.C7.C.C$78.C.C7.C.C$78.C.C7.C.C$78.C.C7.C.C$78.C.C7.C.C$78.C.C7.
C.C$76.3C.9C.3C$76.C2.C9.C2.C$76.3C.9C.3C$78.C.C7.C.C$78.3C7.3C!

Can you build latches in your CA? I find them preferable to Boolean logic gates for most things.



Whoa! Your Life emulator is impressive, and fast, as well! And the pattern file is only 13KB, in macrocell format:

Code: Select all

[M2] (golly 2.0)
#R wave
1 0 0 8 0
1 0 0 0 8
2 0 0 1 2
1 0 0 7 0
1 0 0 0 6
2 0 0 4 5
3 0 0 3 6
4 0 0 7 0
5 0 0 8 0
6 0 0 9 0
7 0 0 10 0
8 0 0 11 0
1 0 0 6 0
2 0 0 13 0
3 0 0 14 0
4 0 0 0 15
5 0 0 16 0
6 0 0 0 17
7 0 0 0 18
3 0 0 3 3
4 0 0 0 20
5 0 0 0 21
6 0 0 0 22
7 0 0 0 23
8 0 0 19 24
9 0 0 12 25
10 0 0 26 26
11 0 0 27 27
1 0 8 0 8
1 8 0 8 0
2 29 30 30 29
1 0 9 0 9
1 8 0 9 0
1 7 0 8 0
2 32 33 34 2
1 8 0 0 0
1 0 8 0 0
2 29 30 36 37
3 31 35 38 38
2 0 0 4 0
1 9 0 8 0
1 7 0 0 0
1 0 6 0 0
2 32 41 42 43
3 0 40 0 44
2 0 0 0 5
1 0 7 0 0
2 32 33 0 47
1 0 8 0 6
2 29 30 36 49
3 46 3 48 50
4 39 45 51 0
1 0 6 0 8
2 32 41 34 53
3 0 48 0 54
3 44 38 0 0
4 55 0 56 0
1 10 0 0 0
1 0 0 0 10
2 58 59 0 0
3 0 0 0 60
2 0 58 0 0
2 59 0 0 0
3 0 0 62 63
4 0 0 61 64
5 52 0 57 65
1 0 0 10 0
1 0 10 0 0
2 67 68 0 0
2 0 67 0 0
3 69 70 69 70
4 0 71 0 0
2 68 0 0 0
3 73 69 73 69
3 70 73 70 73
4 74 75 0 0
3 0 0 60 62
3 0 0 63 60
4 0 0 77 78
4 0 0 64 77
5 72 76 79 80
3 0 46 0 48
4 0 82 0 0
3 0 0 63 0
4 84 0 0 0
2 0 0 59 0
3 0 0 0 86
3 63 60 0 0
3 62 0 0 0
4 0 87 88 89
5 83 85 0 90
2 0 0 58 59
2 0 0 0 58
3 0 0 92 93
3 0 0 86 92
1 0 9 0 8
1 9 0 9 0
1 6 0 0 0
2 96 97 98 47
3 0 0 99 0
3 0 0 69 0
4 94 95 100 101
3 0 0 93 86
2 0 0 0 59
2 0 0 58 0
3 104 93 105 0
1 0 8 0 9
1 0 7 0 6
2 107 97 42 108
3 0 14 0 109
4 103 106 0 110
5 0 0 102 111
6 66 81 91 112
3 69 93 69 70
3 63 0 73 0
4 114 115 0 0
4 0 0 78 64
5 116 0 117 79
5 0 0 80 117
3 63 60 99 0
4 0 0 0 120
3 86 92 0 0
3 93 86 0 0
1 8 0 6 0
1 0 8 0 7
2 29 30 124 125
3 3 14 126 109
1 6 0 8 0
1 0 7 0 8
2 96 97 128 129
2 107 97 42 0
3 130 14 126 131
4 122 123 127 132
3 92 93 0 0
1 9 4 11 5
2 32 135 0 47
1 4 8 5 9
2 137 97 42 5
1 0 0 0 7
2 0 0 13 139
3 136 138 140 48
2 68 0 13 0
2 68 0 1 2
3 142 143 109 126
4 134 0 141 144
5 0 121 133 145
3 62 63 69 0
3 60 62 0 0
4 0 0 147 148
3 0 0 0 63
2 58 59 13 0
3 63 151 0 109
2 0 58 1 2
3 153 14 126 109
4 0 150 152 154
2 0 0 67 68
3 156 0 0 0
3 14 130 109 126
3 14 136 131 140
4 157 0 158 159
1 0 7 0 7
2 96 33 98 161
3 0 162 0 99
2 107 97 0 0
2 32 33 13 161
2 107 97 0 47
3 164 165 0 166
3 138 142 48 109
3 143 14 126 109
4 163 167 168 169
5 149 155 160 170
6 118 119 146 171
4 0 61 82 61
3 92 0 0 0
3 0 0 60 0
4 64 174 64 175
3 0 0 46 0
3 0 60 0 0
3 48 0 0 0
4 177 178 179 178
5 173 176 180 0
4 0 157 144 158
4 0 163 159 168
1 6 0 6 0
2 96 97 184 161
3 162 164 185 0
3 165 164 166 0
3 164 0 0 0
4 186 187 188 0
3 185 164 164 0
2 0 0 0 139
2 32 41 0 43
3 0 191 0 192
4 190 163 0 193
5 182 183 189 194
3 0 0 0 44
3 0 99 0 0
4 0 100 196 197
5 198 0 0 0
6 181 195 199 0
3 164 185 0 164
4 167 201 169 132
3 162 164 99 0
4 188 203 141 144
4 167 201 0 0
2 29 30 36 125
3 3 0 206 0
4 188 203 0 207
5 202 204 205 208
4 187 190 158 159
4 187 190 0 0
3 0 3 0 31
4 163 167 212 0
5 210 170 211 213
3 192 0 0 0
4 0 215 0 0
5 0 216 0 0
3 0 126 0 164
4 218 0 0 0
5 0 219 0 0
6 209 214 217 220
7 113 172 200 221
4 0 0 77 84
5 0 0 223 0
2 107 97 34 2
3 0 14 0 225
4 0 0 0 226
2 96 97 128 2
3 0 40 0 228
3 0 206 0 192
4 0 229 0 230
3 0 0 40 0
1 8 0 7 0
2 29 30 233 49
3 0 31 54 234
3 228 54 206 234
2 32 33 0 0
3 234 237 237 0
4 232 235 236 238
5 0 227 231 239
2 67 0 0 68
3 0 241 63 60
4 77 242 132 141
3 14 3 109 126
4 0 0 244 158
4 201 188 132 141
4 203 187 144 158
5 243 245 246 247
3 138 14 48 109
4 0 0 159 249
3 192 237 0 0
4 251 0 127 132
4 190 163 159 168
5 250 252 253 202
6 224 240 248 254
4 0 0 15 0
1 0 6 0 6
2 32 41 42 257
3 0 258 0 48
4 0 0 0 259
1 7 0 7 0
2 107 97 261 5
3 262 0 237 62
4 263 0 0 100
3 0 140 0 166
4 0 265 101 0
5 256 260 264 266
2 107 97 0 161
3 0 14 0 268
4 0 0 269 232
3 14 0 268 40
4 0 0 271 269
2 32 41 13 43
3 0 273 0 268
2 29 30 233 125
3 228 0 275 0
3 0 273 0 109
3 228 0 126 0
4 274 276 277 278
3 273 228 268 275
3 273 228 109 206
4 280 274 281 277
5 270 272 279 282
3 0 0 0 62
4 284 0 141 144
5 285 160 204 210
3 0 48 0 0
2 29 97 98 0
3 288 0 63 70
2 0 68 0 0
3 153 290 206 0
4 287 289 249 291
2 96 97 98 0
3 48 293 0 63
3 0 48 70 0
3 14 153 109 126
3 290 14 0 109
4 294 295 296 297
3 293 0 63 70
4 287 299 249 291
3 48 288 0 63
4 301 295 296 297
5 292 298 300 302
6 267 283 286 303
4 201 188 0 0
3 3 0 31 0
4 203 187 306 0
5 246 247 305 307
4 190 163 0 212
5 253 202 309 205
3 38 0 140 0
4 311 0 188 0
5 0 312 0 0
4 0 230 0 0
5 314 0 0 0
6 308 310 313 315
4 188 203 0 306
5 204 210 317 211
3 0 48 0 99
2 96 97 184 139
3 320 0 166 0
3 0 73 0 0
4 319 321 322 0
2 29 97 184 139
3 48 324 0 166
4 325 287 0 0
5 300 302 323 326
3 31 0 206 0
4 0 328 0 215
5 329 0 0 0
3 0 40 0 258
4 0 0 0 331
2 32 30 42 257
2 32 33 42 5
3 0 333 0 334
2 32 33 42 108
1 8 5 8 4
2 32 337 42 257
3 0 336 0 338
4 0 335 0 339
5 0 332 0 340
6 318 327 330 341
7 255 304 316 342
1 9 9 9 9
2 344 0 0 0
3 0 0 0 345
3 0 345 0 345
4 0 346 0 347
5 0 0 348 0
6 0 0 349 0
4 0 347 0 347
5 351 0 351 0
6 352 0 352 0
7 0 350 0 353
2 32 33 42 47
3 0 355 0 0
1 0 9 0 11
1 7 5 0 5
1 4 0 4 0
2 357 97 358 359
1 0 5 0 5
2 361 359 361 359
3 0 360 0 362
4 0 356 0 363
1 5 5 4 4
2 0 0 59 365
1 5 5 4 10
1 4 4 10 5
2 361 359 367 368
1 0 0 0 5
1 10 4 5 4
1 4 5 4 5
2 370 67 371 372
3 366 369 362 373
1 5 4 5 4
1 10 5 0 4
1 0 0 4 4
2 375 376 375 377
1 4 0 4 6
2 361 359 361 379
1 5 5 0 5
1 0 5 6 5
2 68 381 0 382
3 362 378 380 383
4 0 374 0 384
5 0 364 0 385
1 4 4 5 5
1 4 9 5 11
2 387 388 0 358
2 0 361 0 357
3 136 389 0 390
2 0 358 0 361
2 0 361 0 32
3 0 392 0 393
4 0 391 0 394
5 0 395 0 0
6 0 386 0 396
7 0 397 0 0
8 222 343 354 398
4 0 0 232 271
3 228 0 206 0
4 276 280 401 281
4 274 276 277 401
5 400 270 402 403
4 0 0 0 269
3 0 228 0 38
3 0 192 0 0
3 14 3 109 206
4 406 407 408 110
3 228 0 38 0
4 410 280 207 281
5 405 400 409 411
3 153 290 126 0
4 299 294 413 296
4 295 299 297 413
3 14 153 109 206
4 289 301 413 416
4 295 289 297 291
5 414 415 417 418
4 294 295 416 297
4 299 294 291 416
4 299 294 413 416
5 420 421 298 422
6 404 412 419 423
1 0 4 8 4
1 5 7 5 8
2 96 97 425 426
1 0 10 0 9
1 8 4 8 4
1 5 8 5 8
2 428 30 429 430
3 0 427 0 431
1 8 4 0 4
1 5 8 5 7
2 428 30 433 434
1 11 0 9 0
2 32 436 0 139
3 0 435 40 437
4 0 432 269 438
3 0 40 0 54
3 0 38 0 0
4 0 440 0 441
1 0 4 0 4
1 5 0 5 7
2 96 97 443 444
2 32 436 0 0
3 228 445 275 446
2 107 97 42 5
3 0 273 0 448
3 293 0 191 140
4 274 447 449 450
5 439 442 451 0
2 107 97 42 47
3 453 0 0 0
2 67 0 0 0
3 290 0 70 455
4 0 454 456 0
2 0 59 0 0
3 0 458 0 0
3 0 458 0 14
2 0 58 0 59
3 0 0 461 0
4 459 284 460 462
4 197 0 0 0
3 0 131 455 63
3 93 0 458 0
2 68 0 67 0
2 0 58 59 0
2 0 0 68 0
3 467 468 469 93
3 461 0 0 70
4 465 466 470 471
5 457 463 464 472
3 293 164 63 70
3 290 14 0 448
3 62 290 191 0
4 295 474 475 476
4 295 299 475 476
3 0 44 0 0
3 0 0 44 0
4 0 82 479 480
5 477 0 478 481
3 455 63 73 62
3 86 0 0 469
4 483 0 0 484
3 3 140 38 164
3 0 0 6 0
4 486 0 0 487
3 0 0 0 46
3 63 0 0 63
4 0 0 489 490
5 0 485 488 491
6 452 473 482 492
4 289 294 291 296
4 295 299 297 291
4 321 325 0 0
4 287 321 0 0
5 494 495 496 497
5 302 494 326 496
4 0 0 0 440
4 0 0 232 0
3 0 0 0 14
3 0 38 0 258
1 6 4 7 0
1 5 7 0 7
2 96 97 504 505
2 107 97 261 0
1 9 5 8 4
2 32 508 0 0
1 5 11 4 9
2 510 97 0 0
3 506 507 509 511
2 32 33 261 108
2 32 30 34 53
3 0 513 0 514
4 502 503 512 515
2 32 41 261 257
3 517 0 237 14
1 6 0 7 0
2 96 97 519 161
3 520 507 509 511
3 40 0 320 0
4 518 0 521 522
5 500 501 516 523
6 498 499 524 0
4 0 479 0 0
3 320 0 164 0
4 287 527 0 0
3 0 6 0 237
4 0 0 529 487
5 478 526 528 530
3 237 0 63 0
3 468 0 93 0
4 0 532 0 533
4 287 0 0 0
2 0 0 4 139
3 0 0 536 0
3 63 0 0 0
3 192 0 44 0
2 59 67 0 0
3 540 0 62 63
4 537 538 539 541
5 534 535 542 79
3 237 3 0 31
3 0 234 0 48
4 0 544 0 545
5 0 546 0 0
3 3 0 234 73
3 237 73 0 0
4 548 64 549 0
2 0 59 58 0
3 86 92 0 551
3 0 69 0 0
4 134 552 0 553
5 550 554 0 0
6 531 543 547 555
7 424 493 525 556
3 0 0 469 241
3 0 0 70 469
4 558 559 0 0
3 0 0 241 70
3 0 0 469 455
3 0 0 0 290
4 561 562 0 563
4 0 0 558 559
2 0 0 0 68
3 0 566 0 0
2 0 68 68 0
3 0 568 469 0
4 0 567 561 569
5 560 564 565 570
3 0 0 0 104
2 0 0 67 0
3 455 0 573 0
2 58 0 59 0
3 0 63 0 575
4 0 572 574 576
3 104 0 0 62
2 58 0 0 0
3 86 104 0 579
4 578 580 0 0
3 0 0 455 0
3 0 105 0 63
3 0 575 0 105
4 582 583 0 584
1 0 5 0 4
2 0 0 0 586
3 587 0 0 0
4 0 588 0 0
5 577 581 585 589
4 0 0 561 562
2 0 0 0 67
3 0 0 592 0
4 0 0 593 0
3 0 290 0 0
4 0 595 77 78
3 0 0 62 0
4 0 0 597 0
5 591 594 596 598
3 469 105 0 63
4 0 576 0 600
3 0 579 0 0
3 73 0 0 0
4 0 602 0 603
3 104 0 579 62
4 605 580 0 0
5 601 0 604 606
6 571 590 599 607
3 0 86 62 0
4 609 605 0 0
4 580 609 0 0
5 610 611 0 0
3 0 0 469 0
2 68 0 0 67
3 70 0 614 0
4 605 613 0 615
3 44 0 0 44
3 31 275 38 192
4 617 618 0 0
3 469 0 70 0
3 614 0 469 0
4 0 620 0 621
5 616 619 622 0
5 0 0 610 611
4 0 615 0 620
3 0 0 3 0
4 0 0 20 626
3 104 0 579 0
4 628 0 0 0
3 38 38 6 0
3 38 73 0 0
3 237 6 0 237
3 0 0 140 0
4 630 631 632 633
5 625 627 629 634
6 612 623 624 635
3 0 0 0 566
4 0 0 0 637
3 0 70 0 0
4 0 639 0 0
5 0 638 0 640
3 458 0 0 455
4 0 642 0 0
5 643 0 0 0
6 641 0 644 0
2 32 33 42 0
3 0 6 0 646
3 0 0 0 458
3 467 0 0 0
3 0 461 0 93
4 647 648 649 650
3 164 0 0 70
3 0 614 0 469
4 0 652 0 653
3 0 458 0 62
3 225 70 38 0
4 15 655 656 0
3 0 70 0 73
2 0 58 4 0
3 0 659 0 293
4 0 658 0 660
5 651 654 657 661
4 538 0 0 0
3 14 0 225 0
3 31 14 234 131
3 293 0 0 0
4 664 232 665 666
1 0 10 0 4
2 0 668 0 0
1 0 0 5 0
2 670 67 0 0
3 669 671 0 0
3 0 0 566 592
4 672 0 673 0
3 237 0 0 0
4 675 0 0 0
5 663 667 674 676
6 0 662 0 677
7 608 636 645 678
3 0 38 0 70
2 0 357 0 358
2 0 361 365 367
3 0 681 104 682
4 0 680 0 683
2 97 0 359 0
2 359 0 368 387
3 685 0 686 573
4 582 188 687 0
2 0 0 387 67
3 689 0 362 0
2 0 361 0 361
2 359 0 359 0
3 691 692 691 692
2 367 368 0 0
2 387 67 361 359
1 10 0 4 0
2 696 0 379 0
3 694 695 697 362
1 0 10 0 5
2 359 699 359 361
2 0 361 59 367
1 4 0 0 0
1 0 5 0 0
2 359 361 702 703
3 691 700 701 704
4 690 693 698 705
1 0 5 5 5
1 4 0 4 4
2 361 359 707 708
2 0 361 0 0
3 701 686 709 710
1 10 5 0 0
1 5 5 0 0
2 708 377 712 713
1 0 0 4 0
1 5 10 5 4
2 715 0 716 0
3 573 0 714 717
1 4 10 4 0
1 10 5 0 5
2 719 720 359 361
2 696 59 379 382
2 359 32 368 67
2 135 388 47 358
3 721 722 723 724
2 365 365 379 0
1 5 4 10 0
2 727 0 0 0
3 726 728 685 0
4 711 718 725 729
5 684 688 706 730
1 9 5 9 4
1 4 6 4 0
2 732 365 733 0
2 367 702 0 0
2 379 0 732 365
2 0 0 365 365
3 734 735 736 737
2 361 359 703 368
2 13 0 388 732
1 7 5 7 5
1 4 6 4 6
2 741 742 510 732
3 739 740 737 743
2 733 0 359 0
2 359 0 33 0
3 745 0 746 0
2 0 43 0 0
2 0 0 0 257
1 9 9 11 9
1 0 4 0 0
2 750 0 751 0
3 0 748 749 752
4 738 744 747 753
1 0 5 7 5
2 755 379 510 97
2 0 755 365 510
3 756 691 737 757
2 379 0 97 0
3 692 0 759 0
4 758 760 0 0
2 47 0 0 0
3 762 0 0 0
2 0 0 0 13
2 0 0 0 161
1 9 8 9 9
1 7 0 6 0
2 766 0 0 767
3 191 764 765 768
3 765 768 765 768
4 763 769 0 770
5 754 761 771 0
6 731 0 772 0
4 0 770 0 770
5 774 0 774 0
6 775 0 775 0
7 773 0 776 0
8 557 679 777 354
7 0 353 0 353
3 0 345 0 0
4 0 780 0 0
5 351 0 781 0
6 352 0 782 0
3 0 0 0 73
3 0 0 0 70
4 0 784 785 603
3 0 73 14 3
2 0 58 13 139
3 0 0 788 0
2 107 97 34 129
3 790 31 31 234
3 164 788 0 164
4 787 789 791 792
5 786 0 793 0
4 0 0 648 0
3 0 62 0 0
4 796 0 0 0
5 0 795 0 797
6 0 0 794 798
4 0 0 0 322
3 0 0 290 0
4 801 0 0 0
4 0 284 0 0
4 0 0 602 0
5 800 802 803 804
6 0 0 805 0
7 0 783 799 806
8 779 0 807 0
7 776 0 776 0
2 766 0 0 42
3 0 810 0 0
4 0 811 0 0
5 774 0 812 0
6 775 0 813 0
3 0 93 0 458
4 815 0 0 15
5 0 0 816 0
6 0 0 0 817
7 814 0 0 818
2 0 67 0 5
3 0 469 0 820
3 206 31 130 31
4 821 20 287 822
5 0 0 0 823
6 0 0 0 824
7 0 783 0 825
8 809 779 819 826
9 399 778 808 827
10 828 828 828 828
11 829 829 829 829
12 28 28 830 830
3 790 31 38 38
4 787 789 832 792
5 786 0 833 0
6 0 0 834 798
7 0 783 835 806
8 779 0 836 0
4 815 0 0 0
5 0 0 838 0
6 0 0 0 839
7 814 0 0 840
3 206 31 99 38
4 821 20 287 842
5 0 0 0 843
6 0 0 0 844
7 0 783 0 845
8 809 779 841 846
9 399 778 837 847
10 828 828 848 848
11 829 829 849 849
12 830 830 850 850
1 4 0 5 0
2 852 0 0 0
3 853 0 0 0
4 854 454 456 0
5 855 463 464 472
6 452 856 482 492
7 424 857 525 556
8 858 679 777 354
9 399 859 808 827
10 828 828 860 860
10 828 828 860 828
10 828 860 828 860
11 861 862 863 829
12 864 830 850 850
13 831 831 851 865

That can be pasted into Golly, just like RLE.
What do you do with ill crystallographers? Take them to the mono-clinic!

User avatar
calcyman
Moderator
Posts: 2938
Joined: June 1st, 2009, 4:32 pm

Re: Wave CA and Life emulator

Post by calcyman » August 1st, 2010, 11:33 am

By the way, would you like me to add the rule to the Rule Table Repository?
What do you do with ill crystallographers? Take them to the mono-clinic!

Keiji
Posts: 58
Joined: May 11th, 2010, 5:32 pm

Re: Wave CA and Life emulator

Post by Keiji » August 1st, 2010, 12:16 pm

calcyman wrote:
This is a CA similar to von Neumann, but with 12 states
A good start -- that's simpler than vNCA (29 states) or NCA (32 states). I presume you are using the von Neumann neighbourhood (5 neighbours: surrounding four cells + the centre cell).
Nope, it's Moore. The diagonals are necessary for pretty much everything.
One cell of von Neumann is just about equivalent to a 4x4 square in Wave, which makes things enormous.
With a 4*4 crossover, most circuits should end up smaller than their von Neumann counterparts. The real-time crossing organ in vNCA is 8*8 cells, and the auto-initialisable variant is larger still. It's also tedious to perform a logical negation in vNCA (the only way to do so is to involve STS cells, a clock, and at least five switches).
The lack of a NOT gate was one reason I started making this. I /think/ Hutton32 isn't able to do a logical NOT at all, since it can't universally destruct unlike the original JvN29 or Nobili32.

Also, the reason I said things are enormous is because you pretty much need to use a 4x4 grid - in JvN, parallel signals can travel without separation, whereas they have to be separated by at least one cell in Wave, but that's never practical due to logic gates, so you end up separating the (two-cell-wide) signals by two empty cells.
And, no, if you can emulate Life in a 512*512 square, then things aren't enormous at all.
I'm sure you could do it in 128x128 with Nobili32.
The lack of an OR gate is a nuisance, as any ORing must be done with a NOR-NOT combination.
Again, that is compact compared to Banks' CA, where an OR gate looks like this[/quote]

That's quite ridiculous looking, I must say.
Can you build latches in your CA? I find them preferable to Boolean logic gates for most things.
What exactly do you mean by a latch? If you want an R/S flipflop, there's essentially one in lifesim2.rle, if you take the output from one of the p16 loops in the "lighting" device.
Whoa! Your Life emulator is impressive, and fast, as well!
Thanks, it took me long enough to build it!

You could probably make it a quarter of the area and half the period, but I haven't bothered trying to optimize it. I initially aimed for a period of 1024, but doubled it because it took to long to receive signals from neighboring cells.
By the way, would you like me to add the rule to the Rule Table Repository?
You can if you want, it's public domain. But I shouldn't encourage anyone to use it, since I know I can come up with a much more efficient CA still.
Image
This is why signature character limits are pointless.

User avatar
calcyman
Moderator
Posts: 2938
Joined: June 1st, 2009, 4:32 pm

Re: Wave CA and Life emulator

Post by calcyman » August 1st, 2010, 1:22 pm

Nope, it's Moore. The diagonals are necessary for pretty much everything.
Well, that changes things completely.

Complexity of Wave CA = (ln(12)/ln(2))*(12^9) ~ 1.85 * 10^10 bits
Complexity of vNCA = (ln(29)/ln(2))*(29^5) ~ 9.96 * 10^7 bits

So, Wave CA is more complex than von Neumann's CA.

I /think/ Hutton32 isn't able to do a logical NOT at all, since it can't universally destruct unlike the original JvN29 or Nobili32.
It can still destruct OTS cells, which is sufficient for logical negation.

That's quite ridiculous looking, I must say.
Yes, it's an AND-NOT coupled with a XOR gate. And the AND-NOT gate involves a crossover, which is another three XOR gates.

What exactly do you mean by a latch? If you want an R/S flipflop
Similar to an R/S flipflop, but more passive. It has two inputs, FLIP and TEST, and two outputs (ON and OFF), like so:

Code: Select all

x = 50, y = 21, rule = Nobili32
29.L$29.J$29.J$29.J$29.J$29.J$29.J$29.J$29.J$27.Q.J$IM15IM9I2pA4K2O
13KOK$27.QIL$29.L$29.L$29.L$29.L$29.L$29.L$29.L$29.L$29.J!
The set {fanout, latch, merge} is universal, as well as the more conventional set {fanout, NAND}. The advantage of the first one is that there is no synchronisation involved.


I'm sure you could do it in 128x128 with Nobili32.
I think I could manage a 32*32 Unit Life Cell in Nobili32. Here is the logic circuit:

Code: Select all

x = 28, y = 20, rule = Nobili32
5.5IL.IL$5.JL3KLI2pA2IpA2IpA2IL$5.J2ILpAKJ2pA2KpA2KpA2KpA$5.J2.4IJL2.
L2.L2.L$5.J2IL3.TpA2TpA2TpA2TpA$5.2JIpAIL.10TL$5.3JIpA2I10.L$2.3I3J2K
J.2J2L5J.L$2IpA3IpA3IpA.10IpAL$2.J3.J3IL.3LJ5L.2L$2.J3.2JpAK2I10.2L$
2.JL2KpA.JpAJ.10R2L$2.JLQ.J2.J2.RpA2RpA2RpA2R2pA$2.JI2pA2K.J3.J2.J2.J
2.2L$2.2JQ2IpAIJ3.pA2KpA2KpA3KL$2.2J3.J15.L$2.2J3KpA15KpA4I$2.J4.J$2.
J4KpA$7.J!
The pulses from the 8 neighbours enter from the left. The signal from the right should be directed to all neighbours. Periodically, a signal from the bottom updates the cell.
What do you do with ill crystallographers? Take them to the mono-clinic!

Keiji
Posts: 58
Joined: May 11th, 2010, 5:32 pm

Re: Wave CA and Life emulator

Post by Keiji » August 1st, 2010, 2:34 pm

calcyman wrote:
Nope, it's Moore. The diagonals are necessary for pretty much everything.
Well, that changes things completely.

Complexity of Wave CA = (ln(12)/ln(2))*(12^9) ~ 1.85 * 10^10 bits
Complexity of vNCA = (ln(29)/ln(2))*(29^5) ~ 9.96 * 10^7 bits

So, Wave CA is more complex than von Neumann's CA.
And unnecessarily so - as mentioned, it's rather inefficient.
Edit: A Moore-neighborhood CA would have to have 6 states or less to be less complex than JvN29... and I don't think I can get Wave down to that. So perhaps it isn't unnecessary.
Similar to an R/S flipflop, but more passive. It has two inputs, FLIP and TEST, and two outputs (ON and OFF), like so:

Code: Select all

x = 50, y = 21, rule = Nobili32
29.L$29.J$29.J$29.J$29.J$29.J$29.J$29.J$29.J$27.Q.J$IM15IM9I2pA4K2O
13KOK$27.QIL$29.L$29.L$29.L$29.L$29.L$29.L$29.L$29.L$29.J!
The set {fanout, latch, merge} is universal, as well as the more conventional set {fanout, NAND}. The advantage of the first one is that there is no synchronisation involved.
A latch is certainly possible in software (signal logic) in Wave, but would take a fair amount of space to ensure asynchronousity, since it would need a 1->16 cell coder. I'm not sure whether it would be possible in hardware, particularly because I haven't actually implemented universal destruction yet.
I think I could manage a 32*32 Unit Life Cell in Nobili32. Here is the logic circuit:
Aha, I see what you did there. Yes, you could probably make a much smaller metacell in Wave using hardware methods given universal destruction.
Image
This is why signature character limits are pointless.

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

Re: Wave CA and Life emulator

Post by Extrementhusiast » August 1st, 2010, 10:03 pm

I'm planning on making a Wireworld/Loops compound possibly based on this.
I Like My Heisenburps! (and others)

Batmanifestdestiny
Posts: 54
Joined: June 9th, 2010, 3:53 pm

Re: Wave CA and Life emulator

Post by Batmanifestdestiny » August 3rd, 2010, 8:10 pm

So, I don't quite get your logic gates. Going by what you said, I figured that by making a 2x2 square of 8 with 7's hanging off of the corners would make it so that it wouldn't send signals until a signal went through it, in which case it would then send one signal in all directions. I tried this and instead got all four sides constantly making signals. I then made one corner be 0 and when a signal hit it all the other sides made a gap between signal streams. Am I doing this wrong?

Code: Select all

x = 17, y = 4, rule = wave
16.G$D13.2H$E13.2H$13.G2.G!

Keiji
Posts: 58
Joined: May 11th, 2010, 5:32 pm

Re: Wave CA and Life emulator

Post by Keiji » August 3rd, 2010, 9:02 pm

If you want a three-way splitter you want state 7 on three corners and state 6 on the other.
Image
This is why signature character limits are pointless.

Batmanifestdestiny
Posts: 54
Joined: June 9th, 2010, 3:53 pm

Re: Wave CA and Life emulator

Post by Batmanifestdestiny » August 4th, 2010, 2:53 pm

oh, I get it now! So it's like 6 is used for input, while 7 and 0 are used for output. Or, at least that's how it goes in layman's terms. All right, now that I know what I'm doing, I'll probably post things here as I make them.

Keiji
Posts: 58
Joined: May 11th, 2010, 5:32 pm

Re: Wave CA and Life emulator

Post by Keiji » August 4th, 2010, 3:10 pm

Oops, I just noticed I mixed up 6 and 7 in the first post. I've just edited it to fix that. 0 and 6 are used for input, and 7 is used for output.
Image
This is why signature character limits are pointless.

Batmanifestdestiny
Posts: 54
Joined: June 9th, 2010, 3:53 pm

Re: Wave CA and Life emulator

Post by Batmanifestdestiny » August 5th, 2010, 2:49 pm

After a couple days of serious thinking, I've come up with a NAND gate:

Code: Select all

x = 51, y = 22, rule = wave
32.J$35.J4$24.F14.F$D12.D11.2H5.J7.2H$E12.E11.2H8.J4.2H3.J$24.G2.G14.
G$27.F11.F2.G$25.2H13.2H2.2I2DHI$25.2H13.2H2.IK2E2I$24.F2.G11.G6.G3.G
$24.F2.G11.F$D17.D6.2H8.J4.2H3.J$E17.E6.2H5.J7.2H$27.G14.G4$35.J$32.J
!
That thing on the end is an OR gate that I used to turn the two streams into one stream.



Right now I'm working on making a flip-flop, but it's proving difficult (PROTIP: don't use the construction arm for flipflops, it gos badly.)

User avatar
calcyman
Moderator
Posts: 2938
Joined: June 1st, 2009, 4:32 pm

Re: Wave CA and Life emulator

Post by calcyman » August 5th, 2010, 3:08 pm

After a couple days of serious thinking, I've come up with a NAND gate:
Interesting, considering the fact that it behaves like an XOR gate. :)
What do you do with ill crystallographers? Take them to the mono-clinic!

Keiji
Posts: 58
Joined: May 11th, 2010, 5:32 pm

Re: Wave CA and Life emulator

Post by Keiji » August 5th, 2010, 7:18 pm

Batmanifestdestiny wrote:After a couple days of serious thinking, I've come up with a NAND gate:
That's an XOR gate. NAND is possible in a single 4x4 block.
Batmanifestdestiny wrote:Right now I'm working on making a flip-flop, but it's proving difficult
p16 R/S flipflop:

Code: Select all

x = 20, y = 116, rule = wave
.ED96$17.ED12$3.F4.F$.IH2.2I2.HI$.2I2.HI2.2I$3.GF2.2G$4.G2.2G7.G2.F$.
IH2.2I2EKI6.IH$.IH2.IH2D2I6.IH$G2.F!
Making it into a p1 is straightforward (though takes a fair amount of space): just put 1->16 cell coders in each input and a clocked filter at the output.
Batmanifestdestiny wrote:(PROTIP: don't use the construction arm for flipflops, it gos badly.)
Only because universal destruction isn't implemented yet.
Image
This is why signature character limits are pointless.

Batmanifestdestiny
Posts: 54
Joined: June 9th, 2010, 3:53 pm

Re: Wave CA and Life emulator

Post by Batmanifestdestiny » August 7th, 2010, 10:58 pm

calcyman wrote:
After a couple days of serious thinking, I've come up with a NAND gate:
Interesting, considering the fact that it behaves like an XOR gate. :)
My bad. Can you tell how often I make logic gates?

User avatar
calcyman
Moderator
Posts: 2938
Joined: June 1st, 2009, 4:32 pm

Re: Wave CA and Life emulator

Post by calcyman » August 15th, 2010, 11:47 am

ConwayLife.com forums now has 3000 posts! :o

It still has a long way to go before it catches up with the Life List's 10618 posts. The Life List has been around for an order of magnitude longer, though, so ConwayLife.com is three times more active.



By the way, I've added your rule to the Repository:

http://code.google.com/p/ruletablerepository/
What do you do with ill crystallographers? Take them to the mono-clinic!

User avatar
ssaamm
Posts: 125
Joined: June 4th, 2010, 9:43 pm

Re: Wave CA and Life emulator

Post by ssaamm » August 15th, 2010, 12:18 pm

Just curious, what is "Life list"?

Axaj
Posts: 232
Joined: September 26th, 2009, 12:23 am

Re: Wave CA and Life emulator

Post by Axaj » August 15th, 2010, 12:24 pm

ssaamm wrote:Just curious, what is "Life list"?
I'm not sure either. Is it comp.theory.cell-automata? That's mostly spam.
Image

User avatar
calcyman
Moderator
Posts: 2938
Joined: June 1st, 2009, 4:32 pm

Re: Wave CA and Life emulator

Post by calcyman » August 16th, 2010, 7:41 am

I'm not sure either. Is it comp.theory.cell-automata? That's mostly spam.
No, it's a private forum; members can join by invitation only. We are not allowed to divulge the location of the forum, or publicise the archives, as it would then be subject to the level of spam of comp.theory.cell-automata. The idea of making it private is to prevent questions such as 'What's a LWSS?', or pulsar re-inventions (there have been plenty of those!), and so forth.

It is unreachable from search engines, so searching it in Google would be a waste of time. Furthermore, 'Life List' is a pseudonym, designed to protect the actual identity for the reasons listed above.



If any of you want to join, send an e-mail to one of the seven moderators:
  • Matthew Cook (owner)
  • Dave Greene
  • Dean Hickerson
  • Alan Hensel
  • Jason Summers
  • Stephen Silver
  • David Bell
It shouldn't be too difficult for any Life enthusiast to find the e-mail addresses for at least one of the moderators. I suggest that you include definitive proof that you are sufficiently interested in Life; otherwise your request may be declined. One of the criteria for joining is that at least two people agree that you will benefit from access to the Life List.

I suppose having fresh new people join the Life List would help boost the activity -- it has fallen into a Magrathea-esque slumber at the moment, with about one post every week. By comparison, March 2003 had 225 posts!


The list has been around since April 1992 and has 71 members at the time of writing, the latest being Andrew Wade, who I invited after seeing his spectacular Gemini spaceship. Even Conway and Gosper are members!

Most of the discoveries mentioned on pentadecathlon.com were posted to the Life List several weeks before.
What do you do with ill crystallographers? Take them to the mono-clinic!

Batmanifestdestiny
Posts: 54
Joined: June 9th, 2010, 3:53 pm

Re: Wave CA and Life emulator

Post by Batmanifestdestiny » August 18th, 2010, 12:36 am

calcyman wrote:
I'm not sure either. Is it comp.theory.cell-automata? That's mostly spam.
No, it's a private forum; members can join by invitation only. We are not allowed to divulge the location of the forum, or publicise the archives, as it would then be subject to the level of spam of comp.theory.cell-automata. The idea of making it private is to prevent questions such as 'What's a LWSS?', or pulsar re-inventions (there have been plenty of those!), and so forth.

It is unreachable from search engines, so searching it in Google would be a waste of time. Furthermore, 'Life List' is a pseudonym, designed to protect the actual identity for the reasons listed above.



If any of you want to join, send an e-mail to one of the seven moderators:
  • Matthew Cook (owner)
  • Dave Greene
  • Dean Hickerson
  • Alan Hensel
  • Jason Summers
  • Stephen Silver
  • David Bell
It shouldn't be too difficult for any Life enthusiast to find the e-mail addresses for at least one of the moderators. I suggest that you include definitive proof that you are sufficiently interested in Life; otherwise your request may be declined. One of the criteria for joining is that at least two people agree that you will benefit from access to the Life List.

I suppose having fresh new people join the Life List would help boost the activity -- it has fallen into a Magrathea-esque slumber at the moment, with about one post every week. By comparison, March 2003 had 225 posts!


The list has been around since April 1992 and has 71 members at the time of writing, the latest being Andrew Wade, who I invited after seeing his spectacular Gemini spaceship. Even Conway and Gosper are members!

Most of the discoveries mentioned on pentadecathlon.com were posted to the Life List several weeks before.
So, it's essentially like MENSA for Life enthusiasts, or maybe it's more like the Navy SEALS, the elite of the elite.


In other news, right now I'm trying to make a binary counter, but I can't find a way to get a signal to block the next signal at a given point (essential for my system). That's all I need to figure out to get this thin working show I could show it to you guys. Any suggestions?

User avatar
calcyman
Moderator
Posts: 2938
Joined: June 1st, 2009, 4:32 pm

Re: Wave CA and Life emulator

Post by calcyman » August 18th, 2010, 7:00 am

So, it's essentially like MENSA for Life enthusiasts
You don't need to score in the 98th percentile on an IQ test to join the Life List. :)

but I can't find a way to get a signal to block the next signal at a given point
I'm not sure exactly what you mean. Do you want an exclusive-or (XOR) gate?

http://en.wikipedia.org/wiki/XOR_gate



As a challenge, you can make a binary counter out of just pulse dividers and merge components.


An interesting application of binary counters is Boustrophedon-replicator, a collaborative effort by myself and Tim Hutton, which will appear in Golly 2.2. You can download it from golly.cvs.sourceforge.net.
What do you do with ill crystallographers? Take them to the mono-clinic!

User avatar
Lewis
Posts: 337
Joined: March 17th, 2009, 5:26 pm
Location: UK
Contact:

Re: Wave CA and Life emulator

Post by Lewis » August 18th, 2010, 9:01 am

calcyman wrote: If any of you want to join, send an e-mail to one of the seven moderators:
In order to be accepted, would I need to have made an important discovery in life previously (seeing as it is 'invitation only')?
And if not, what information would I need to include in the e-mail?

Batmanifestdestiny
Posts: 54
Joined: June 9th, 2010, 3:53 pm

Re: Wave CA and Life emulator

Post by Batmanifestdestiny » August 18th, 2010, 11:21 am

calcyman wrote:
So, it's essentially like MENSA for Life enthusiasts
You don't need to score in the 98th percentile on an IQ test to join the Life List. :)

but I can't find a way to get a signal to block the next signal at a given point
I'm not sure exactly what you mean. Do you want an exclusive-or (XOR) gate?

http://en.wikipedia.org/wiki/XOR_gate



As a challenge, you can make a binary counter out of just pulse dividers and merge components.


An interesting application of binary counters is Boustrophedon-replicator, a collaborative effort by myself and Tim Hutton, which will appear in Golly 2.2. You can download it from golly.cvs.sourceforge.net.
My problem is that I've got a clock going to run a flip flop that every other signal gets turned off, but since every other signal still goes through all the way, I get two signals in my loops so when I turn it off, all that does is revert it to one signal in the loop.

User avatar
calcyman
Moderator
Posts: 2938
Joined: June 1st, 2009, 4:32 pm

Re: Wave CA and Life emulator

Post by calcyman » August 18th, 2010, 12:07 pm

In order to be accepted, would I need to have made an important discovery in life previously (seeing as it is 'invitation only')?
And if not, what information would I need to include in the e-mail?
This (slightly censored) quote from Dave Greene should answer any questions:
I'll ask around. Speaking of which, there's a private newsgroup called
the Life List, to which pretty much everyone mentioned in the LifeNews
weblog is signed up. I'll be mentioning you on LifeNews shortly, when I
put up something about your hexadecimal counter (sorry that's been a
little slow) and this 2c/3 elbow result... would you be interested in me
putting you in for a Life List membership while I'm at it?

The Life List generally keeps a low profile and doesn't invite new
members unless they show some kind of sustained interest in Conway's
Life (among other rules). This policy has its drawbacks, especially in
terms of people not on the list re-inventing the wheel a lot because
they don't have a way to look things up in the archives (or even know
the archives exist)... but come to think of it, even the non-lurking
active minority on the Life List reinvents the wheel fairly regularly
anyway. Probably good exercise. And the low profile certainly has
successfully avoided the kind of annoying spam traffic that's endemic
on comp.theory.cell-automata and 'most everywhere else on the Web.

By the way, if lots of you are going to ask for invitations, choose moderators at random -- don't just select the one at the top of the list. I certainly don't want to be blamed for them being inundated with Life List requests.

And if you need help choosing a moderator at random, try the following procedure:

1. Obtain three identical coins, and mark the 'heads' side with each of {1,2,4} and the 'tails' side with zero.
2. Flip the three coins simultaneously, and total the values.
3. If the sum is zero, then repeat stage 2 until you have a positive integer.
4. Choose the moderator corresponding to that number, like so:

1. Matthew Cook
2. Dave Greene
3. Dean Hickerson
4. Alan Hensel
5. Jason Summers
6. Stephen Silver
7. David Bell


It turns out that with a coin and a bounded number of throws, you can only assign probabilities corresponding to dyadic fractions. However, 1/7 is not a dyadic fraction, and thus the above procedure takes an unbounded number of throws. (Some unfortunate person may end up throwing zeroes until the heat-death of the universe!)

If you are in the even more unfortunate position of not having three coins to utilise, an octahedral die works just as well.

Or implement a linear feedback shift register in Golly, and use that as your pseudo-random number generator.
What do you do with ill crystallographers? Take them to the mono-clinic!

Keiji
Posts: 58
Joined: May 11th, 2010, 5:32 pm

Re: Wave CA and Life emulator

Post by Keiji » August 18th, 2010, 2:44 pm

calcyman wrote:And if you need help choosing a moderator at random, try the following procedure:
Or, just click this link.
Image
This is why signature character limits are pointless.

Post Reply