Re: Confusing rule: Langhton's Ants
Posted: November 24th, 2020, 12:57 pm
Yes; I understand now.
Forums for Conway's Game of Life
https://conwaylife.com/forums/
Yes; I understand now.
I just downloaded Golly and cannot put my rule in. When I try, a window tells me that spaces are not allowed in rule strings.Ian07 wrote: November 5th, 2020, 1:19 amI'd say just keep playing around with it in Golly until you find something you're satisfied with.
What is the rule that you are trying to put in? Please post the complete string in a code block.MathAndCode wrote: November 24th, 2020, 9:47 pmI just downloaded Golly and cannot put my rule in. When I try, a window tells me that spaces are not allowed in rule strings.Ian07 wrote: November 5th, 2020, 1:19 amI'd say just keep playing around with it in Golly until you find something you're satisfied with.
Yes, pasting it in worked perfectly. Thank you.wildmyron wrote: November 24th, 2020, 11:42 pmOr are you trying to put in a rule table? In this case you should just paste it "into" the layer, i.e. the same as pasting a pattern.
Great. Btw, you can find the folder where rule table files are stored by going to Preferences (',') -> ControlMathAndCode wrote: November 24th, 2020, 11:47 pmYes, pasting it in worked perfectly. Thank you.wildmyron wrote: November 24th, 2020, 11:42 pmOr are you trying to put in a rule table? In this case you should just paste it "into" the layer, i.e. the same as pasting a pattern.
My rule indeed has a c√2 ship.wildmyron wrote: November 24th, 2020, 11:56 pmGreat. Btw, you can find the folder where rule table files are stored by going to Preferences (',') -> Control
Use the folder picker to change the location if you wish. You can also save rule tables (and tress) as .rule files in this folder if you wish, but generally importing a single rule from the forum is easier using the pasting method.
Code: Select all
x = 2, y = 2, rule = GenerationVariant
AB$B!Code: Select all
@RULE GenerationVariant
@TABLE
n_states:3
neighborhood:Moore
symmetries:permute
0,1,0,0,0,0,0,0,0,1
0,1,2,0,0,0,0,0,0,2
1,0,0,0,0,0,0,0,0,2
1,1,0,0,0,0,0,0,0,2
1,1,1,0,0,0,0,0,0,2
1,1,1,1,0,0,0,0,0,2
1,1,1,1,1,0,0,0,0,2
1,1,1,1,1,1,0,0,0,2
1,1,1,1,1,1,1,0,0,2
1,1,1,1,1,1,1,1,0,2
1,1,1,1,1,1,1,1,1,2
1,2,0,0,0,0,0,0,0,2
1,1,2,0,0,0,0,0,0,2
1,1,1,2,0,0,0,0,0,2
1,1,1,1,2,0,0,0,0,2
1,1,1,1,1,2,0,0,0,2
1,1,1,1,1,1,2,0,0,2
1,1,1,1,1,1,1,2,0,2
1,1,1,1,1,1,1,1,2,2
1,2,2,0,0,0,0,0,0,2
1,1,2,2,0,0,0,0,0,2
1,1,1,2,2,0,0,0,0,2
1,1,1,1,2,2,0,0,0,2
1,1,1,1,1,2,2,0,0,2
1,1,1,1,1,1,2,2,0,2
1,1,1,1,1,1,1,2,2,2
1,2,2,2,0,0,0,0,0,2
1,1,2,2,2,0,0,0,0,2
1,1,1,2,2,2,0,0,0,2
1,1,1,1,2,2,2,0,0,2
1,1,1,1,1,2,2,2,0,2
1,1,1,1,1,1,2,2,2,2
1,2,2,2,2,0,0,0,0,2
1,1,2,2,2,2,0,0,0,2
1,1,1,2,2,2,2,0,0,2
1,1,1,1,2,2,2,2,0,2
1,1,1,1,1,2,2,2,2,2
1,2,2,2,2,2,0,0,0,2
1,1,2,2,2,2,2,0,0,2
1,1,1,2,2,2,2,2,0,2
1,1,1,1,2,2,2,2,2,2
1,2,2,2,2,2,2,0,0,2
1,1,2,2,2,2,2,2,0,2
1,1,1,2,2,2,2,2,2,2
1,2,2,2,2,2,2,2,0,2
1,1,2,2,2,2,2,2,2,2
1,2,2,2,2,2,2,2,2,2
2,0,0,0,0,0,0,0,0,0
2,1,0,0,0,0,0,0,0,0
2,1,1,0,0,0,0,0,0,0
2,1,1,1,0,0,0,0,0,0
2,1,1,1,1,0,0,0,0,0
2,1,1,1,1,1,0,0,0,0
2,1,1,1,1,1,1,0,0,0
2,1,1,1,1,1,1,1,0,0
2,1,1,1,1,1,1,1,1,0
2,2,0,0,0,0,0,0,0,0
2,1,2,0,0,0,0,0,0,0
2,1,1,2,0,0,0,0,0,0
2,1,1,1,2,0,0,0,0,0
2,1,1,1,1,2,0,0,0,0
2,1,1,1,1,1,2,0,0,0
2,1,1,1,1,1,1,2,0,0
2,1,1,1,1,1,1,1,2,0
2,2,2,0,0,0,0,0,0,0
2,1,2,2,0,0,0,0,0,0
2,1,1,2,2,0,0,0,0,0
2,1,1,1,2,2,0,0,0,0
2,1,1,1,1,2,2,0,0,0
2,1,1,1,1,1,2,2,0,0
2,1,1,1,1,1,1,2,2,0
2,2,2,2,0,0,0,0,0,0
2,1,2,2,2,0,0,0,0,0
2,1,1,2,2,2,0,0,0,0
2,1,1,1,2,2,2,0,0,0
2,1,1,1,1,2,2,2,0,0
2,1,1,1,1,1,2,2,2,0
2,2,2,2,2,0,0,0,0,0
2,1,2,2,2,2,0,0,0,0
2,1,1,2,2,2,2,0,0,0
2,1,1,1,2,2,2,2,0,0
2,1,1,1,1,2,2,2,2,0
2,2,2,2,2,2,0,0,0,0
2,1,2,2,2,2,2,0,0,0
2,1,1,2,2,2,2,2,0,0
2,1,1,1,2,2,2,2,2,0
2,2,2,2,2,2,2,0,0,0
2,1,2,2,2,2,2,2,0,0
2,1,1,2,2,2,2,2,2,0
2,2,2,2,2,2,2,2,0,0
2,1,2,2,2,2,2,2,2,0
2,2,2,2,2,2,2,2,2,0Code: Select all
@RULE GenerationVariant
@TABLE
n_states:3
neighborhood:Moore
symmetries:rotate4reflect
0,0,1,0,0,0,0,0,0,1
0,1,{0,2},0,0,0,0,0,0,2
1,{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},2
2,{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},0MathAndCode wrote: November 25th, 2020, 12:00 amMy rule indeed has a c√2 ship.wildmyron wrote: November 24th, 2020, 11:56 pmGreat. Btw, you can find the folder where rule table files are stored by going to Preferences (',') -> Control
Use the folder picker to change the location if you wish. You can also save rule tables (and tress) as .rule files in this folder if you wish, but generally importing a single rule from the forum is easier using the pasting method.Code: Select all
x = 2, y = 2, rule = GenerationVariant AB$B!Now I need to make the rule isotropic so that it can have a c√2 ship without being explosive then find which variant allows the greatest number of other interesting patterns.Code: Select all
snip
Edit: I tried to shorten my rule by using sets, but it isn't working. How do I use sets?Code: Select all
@RULE GenerationVariant @TABLE n_states:3 neighborhood:Moore symmetries:rotate4reflect 0,0,1,0,0,0,0,0,0,1 0,1,{0,2},0,0,0,0,0,0,2 1,{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},2 2,{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},0
Code: Select all
var a={0,1,2}
var b=a
var c=a
var d=a
var e=a
var f=a
var g=a
var h=a
var i={0,2}
0,0,1,0,0,0,0,0,0,1
0,1,i,0,0,0,0,0,0,2
1,a,b,c,d,e,f,g,h,2
2,a,b,c,d,e,f,g,h,0Wait what, 1000+ posts no Golly?MathAndCode wrote: November 24th, 2020, 9:47 pmI just downloaded Golly and cannot put my rule in. When I try, a window tells me that spaces are not allowed in rule strings.Ian07 wrote: November 5th, 2020, 1:19 amI'd say just keep playing around with it in Golly until you find something you're satisfied with.
Seeding your rule with a single live cell creates a very trippy effect. I think I heard before that you didn't download Golly yet, but I'm still surprised. Why didn't you get it until now?MathAndCode wrote: November 25th, 2020, 12:00 am My rule indeed has a c√2 ship.Code: Select all
x = 2, y = 2, rule = GenerationVariant AB$B!Now I need to make the rule isotropic so that it can have a c√2 ship without being explosive then find which variant allows the greatest number of other interesting patterns.Code: Select all
@RULE GenerationVariant @TABLE n_states:3 neighborhood:Moore symmetries:permute 0,1,0,0,0,0,0,0,0,1 0,1,2,0,0,0,0,0,0,2 1,0,0,0,0,0,0,0,0,2 1,1,0,0,0,0,0,0,0,2 1,1,1,0,0,0,0,0,0,2 1,1,1,1,0,0,0,0,0,2 1,1,1,1,1,0,0,0,0,2 1,1,1,1,1,1,0,0,0,2 1,1,1,1,1,1,1,0,0,2 1,1,1,1,1,1,1,1,0,2 1,1,1,1,1,1,1,1,1,2 1,2,0,0,0,0,0,0,0,2 1,1,2,0,0,0,0,0,0,2 1,1,1,2,0,0,0,0,0,2 1,1,1,1,2,0,0,0,0,2 1,1,1,1,1,2,0,0,0,2 1,1,1,1,1,1,2,0,0,2 1,1,1,1,1,1,1,2,0,2 1,1,1,1,1,1,1,1,2,2 1,2,2,0,0,0,0,0,0,2 1,1,2,2,0,0,0,0,0,2 1,1,1,2,2,0,0,0,0,2 1,1,1,1,2,2,0,0,0,2 1,1,1,1,1,2,2,0,0,2 1,1,1,1,1,1,2,2,0,2 1,1,1,1,1,1,1,2,2,2 1,2,2,2,0,0,0,0,0,2 1,1,2,2,2,0,0,0,0,2 1,1,1,2,2,2,0,0,0,2 1,1,1,1,2,2,2,0,0,2 1,1,1,1,1,2,2,2,0,2 1,1,1,1,1,1,2,2,2,2 1,2,2,2,2,0,0,0,0,2 1,1,2,2,2,2,0,0,0,2 1,1,1,2,2,2,2,0,0,2 1,1,1,1,2,2,2,2,0,2 1,1,1,1,1,2,2,2,2,2 1,2,2,2,2,2,0,0,0,2 1,1,2,2,2,2,2,0,0,2 1,1,1,2,2,2,2,2,0,2 1,1,1,1,2,2,2,2,2,2 1,2,2,2,2,2,2,0,0,2 1,1,2,2,2,2,2,2,0,2 1,1,1,2,2,2,2,2,2,2 1,2,2,2,2,2,2,2,0,2 1,1,2,2,2,2,2,2,2,2 1,2,2,2,2,2,2,2,2,2 2,0,0,0,0,0,0,0,0,0 2,1,0,0,0,0,0,0,0,0 2,1,1,0,0,0,0,0,0,0 2,1,1,1,0,0,0,0,0,0 2,1,1,1,1,0,0,0,0,0 2,1,1,1,1,1,0,0,0,0 2,1,1,1,1,1,1,0,0,0 2,1,1,1,1,1,1,1,0,0 2,1,1,1,1,1,1,1,1,0 2,2,0,0,0,0,0,0,0,0 2,1,2,0,0,0,0,0,0,0 2,1,1,2,0,0,0,0,0,0 2,1,1,1,2,0,0,0,0,0 2,1,1,1,1,2,0,0,0,0 2,1,1,1,1,1,2,0,0,0 2,1,1,1,1,1,1,2,0,0 2,1,1,1,1,1,1,1,2,0 2,2,2,0,0,0,0,0,0,0 2,1,2,2,0,0,0,0,0,0 2,1,1,2,2,0,0,0,0,0 2,1,1,1,2,2,0,0,0,0 2,1,1,1,1,2,2,0,0,0 2,1,1,1,1,1,2,2,0,0 2,1,1,1,1,1,1,2,2,0 2,2,2,2,0,0,0,0,0,0 2,1,2,2,2,0,0,0,0,0 2,1,1,2,2,2,0,0,0,0 2,1,1,1,2,2,2,0,0,0 2,1,1,1,1,2,2,2,0,0 2,1,1,1,1,1,2,2,2,0 2,2,2,2,2,0,0,0,0,0 2,1,2,2,2,2,0,0,0,0 2,1,1,2,2,2,2,0,0,0 2,1,1,1,2,2,2,2,0,0 2,1,1,1,1,2,2,2,2,0 2,2,2,2,2,2,0,0,0,0 2,1,2,2,2,2,2,0,0,0 2,1,1,2,2,2,2,2,0,0 2,1,1,1,2,2,2,2,2,0 2,2,2,2,2,2,2,0,0,0 2,1,2,2,2,2,2,2,0,0 2,1,1,2,2,2,2,2,2,0 2,2,2,2,2,2,2,2,0,0 2,1,2,2,2,2,2,2,2,0 2,2,2,2,2,2,2,2,2,0
Because they're measuring in the 2-norm rather than the standard ∞-norm.
For example, consider the distance between the points with coordinates (0,0) and (3,4). In the usual Euclidean geometry we would find the distance between them using Pythagoras' Theorem to get sqrt(3^2 + 4^2), which is 5. This way of measuring distance is called the 2-norm (because it uses the numbers to the power of 2). This is a good measure of distance for our universe, because our laws of physics are rotationally symmetric.
Deficient rules basically prevent the use of a single birth transition twice in a row. Essentially, any cell born with transition x will become a cell with the rule b3-x/s23 until it survives for a generation, and then it reverts to b3/s23. This applies similarly for other rules.Schiaparelliorbust wrote: November 25th, 2020, 2:43 am What are deficient rules? I see they are on the forums and Catalogue, but their page has a red link on the wiki, thus I don't know where else to look other than this thread.
You have to use variables.MathAndCode wrote: November 25th, 2020, 12:00 am Edit: I tried to shorten my rule by using sets, but it isn't working. How do I use sets?Code: Select all
@RULE GenerationVariant @TABLE n_states:3 neighborhood:Moore symmetries:rotate4reflect 0,0,1,0,0,0,0,0,0,1 0,1,{0,2},0,0,0,0,0,0,2 1,{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},2 2,{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},{0,1,2},0
Code: Select all
@RULE GenerationVariant
@TABLE
n_states:3
neighborhood:Moore
symmetries:rotate4reflect
var a = {0, 2}
var A = {0, 1, 2}
var B = A
var C = A
var D = A
var E = A
var F = A
var G = A
var H = A
0,0,1,0,0,0,0,0,0,1
0,1,a,0,0,0,0,0,0,2
1,A,B,C,D,E,F,G,H,2
2,A,B,C,D,E,F,G,H,0So deficient cells can still cause birth with undeficient or other deficient cell types, right? Can there also be cells that can't cause births? Also, thank you for writing the wiki page.lemon41625 wrote: November 25th, 2020, 8:45 amDeficient rules basically prevent the use of a single birth transition twice in a row. Essentially, any cell born with transition x will become a cell with the rule b3-x/s23 until it survives for a generation, and then it reverts to b3/s23. This applies similarly for other rules.Schiaparelliorbust wrote: November 25th, 2020, 2:43 am What are deficient rules? I see they are on the forums and Catalogue, but their page has a red link on the wiki, thus I don't know where else to look other than this thread.
The ruletable works by having each cell born with transition x become state f(x) where f maps the transition to the birth cell state. Once the cell survives for 1 generation, it reverts back to state 1. All dead cells with state x in their neighbourhood, cannot be born with transition f_inverse(x).
This is the thread for Deficient rules: https://conwaylife.com/forums/viewtopic.php?f=11&t=3364
As for the wiki page, I'll get to writing one soon.
Yes, I realized that once after I made a whole rules table. Luckily it wasn't too large.lemon41625 wrote: November 25th, 2020, 8:45 am Note that there is a need to use multiple variables with the same values since they are bounded. If a variable takes on one value in an earlier part of the transition line, the next time in the same line the variable is used, it must take on the same value.
bubblegum wrote: November 25th, 2020, 12:57 amCode: Select all
var a={0,1,2} var b=a var c=a var d=a var e=a var f=a var g=a var h=a var i={0,2} 0,0,1,0,0,0,0,0,0,1 0,1,i,0,0,0,0,0,0,2 1,a,b,c,d,e,f,g,h,2 2,a,b,c,d,e,f,g,h,0
Thank you.lemon41625 wrote: November 25th, 2020, 8:45 amYou have to use variables.
Note that there is a need to use multiple variables with the same values since they are bounded. If a variable takes on one value in an earlier part of the transition line, the next time in the same line the variable is used, it must take on the same value.
I didn't happen to need it before.Schiaparelliorbust wrote: November 25th, 2020, 2:43 amI think I heard before that you didn't download Golly yet, but I'm still surprised. Why didn't you get it until now?
While your point that a square grid does not have infinite rotational symmetry is correct, I feel that, especially at high speeds, ∞-norm notation does not capture that moving at the same ∞-norm "speed" tends to be more difficult in the diagonal direction than in the orthogonal direction. Obviously, a rule cannot have a faster speed of light (The maximum speed of information transmission sometimes cannot be achieved in a vacuum, so it is more accurately called the speed of sound.) in the diagonal direction than in the orthogonal direction, and in most rules that I've seen investigated the maximum orthogonal speed of light is greater that the maximum diagonal speed of light even though the maximum orthogonal speed of sound is not greater than the maximum diagonal speed of sound. The only exception that I've seen is rules with B1c (and also B0 rules without S7c), which prevents them from having spaceships (unless they are B0 rules mimicking alternating rules that only have B1c half of the time, in which case the maximum diagonal speed of light is limited to 3c/4 under the ∞-norm), but I specifically want a rule with a diagonal spaceship at the speed of sound. In fact, in most rules that I've seen investigated, the ∞-norm orthogonal speed of light is twice the ∞-norm diagonal speed of light, which suggests that measuring the speed of light with the 1-norm may be more useful than measuring it with the ∞-norm (although the speed of sound should still be measured with the ∞-norm). I spent at least twenty minutes trying to find an isotropic rule without B0 or B1c where the orthogonal and diagonal speeds of light are the same under the ∞-norm, and I did not find anything. The following rule initially appeared to satisfy that condition for about two hundred generations.Macbi wrote: November 25th, 2020, 8:38 amBut the Game of Life is based on a square grid, which is not rotationally symmetric. So the 2-norm is not necessarily the best metric to use. In fact, a cell is affected by both its orthogonal and diagonal neighbours. This means that a signal in the Life universe can spread at 1 cell per generation orthogonally, but also at 1 cell per generation diagonally. This suggests that we should use a different way of measuring distance that treats these two directions equally. This is known as the ∞-norm. Using the ∞-norm, the distance between two points is simply the maximum of the horizontal and vertical distances. So for example the distance from (0,0) to (3,4) is just 4.
MathAndCode's ship translates itself by 2 cells vertically and 2 cells horizontally every 2 generations. So in the 2-norm we would have said its speed was sqrt(2^2+2^2)/2 cells per generation, which is equal to sqrt(2). But in the ∞-norm its speed is max(2,2)/2 cells per generation, which is equal to 1.
We call the '1 cell per generation' the 'speed of light' or c, because it's the fastest rate that a signal can propagate in the Game of Life. So we would say that MathAndCode's ship travels at a speed of 1c diagonally.
Code: Select all
x = 1, y = 3, rule = B2-a3-i4-a5678/S01e23-ei4-e5-i678
o2$o!
#C [[ AUTOFIT ]]Code: Select all
x = 1, y = 3, rule = B2-a3-i4-a5-i678/S01e23-ei4-e5-i6-i78
o2$o!
#C [[ AUTOFIT ]]This argument, while valid, just plain doesn't work.MathAndCode wrote: November 25th, 2020, 5:49 pm Also, I would like to mention that I only use 2-norm speed notation, such as c√2, rarely, typically when I want to emphasize that diagonal spaceships or wires are faster than orthogonal spaceships or wires with the same speed under the ∞-norm. Typically, I use notation more reflective of using the ∞-norm, e.g. the glider travels at c/4 diagonal.
The speed of light can differ between different rules, but I definitely didn't state that its ratio with the speed of sound would ever be irrational.bubblegum wrote: November 25th, 2020, 7:47 pm2) You are stating that the speed of sound is √2 times the speed of light? What?
The speed of light, by definition, can't differ between different rules.MathAndCode wrote: November 25th, 2020, 7:50 pmThe speed of light can differ between different rules, but I definitely didn't state that its ratio with the speed of sound would ever be irrational.bubblegum wrote: November 25th, 2020, 7:47 pm2) You are stating that the speed of sound is √2 times the speed of light? What?
Are you sure that you're not thinking about the speed of sound?bubblegum wrote: November 25th, 2020, 8:49 pmThe speed of light, by definition, can't differ between different rules.
No, no, no, the speed of light is the fastest information can travel in any range-1 rule (the LTL one is still 1 cell per generation), and different rules cannot arbitrarily set it—it's one cell per generation. The speed of sound is the one that can change, being a random term thought up less than 24 hours ago.MathAndCode wrote: November 25th, 2020, 8:59 pmAre you sure that you're not thinking about the speed of sound?bubblegum wrote: November 25th, 2020, 8:49 pmThe speed of light, by definition, can't differ between different rules.
Also, in BS012345678, the speed of either is zero.
No because light can travel through a vacuum, but in many rules, spaceships cannot travel through a vacuum at the maximum speed of information transmission, so the maximum spaceship speed should be the speed of sound instead.bubblegum wrote: November 25th, 2020, 9:06 pmNo, no, no, the speed of light is the fastest information can travel in any range-1 rule (the LTL one is still 1 cell per generation), and different rules cannot arbitrarily set it—it's one cell per generation. The speed of sound is the one that can change, being a random term thought up less than 24 hours ago.
But that's not SoL. SoL is always 1cell/gen.MathAndCode wrote: November 25th, 2020, 9:08 pmNo because light can travel through a vacuum, but in many rules, spaceships cannot travel through a vacuum at the maximum speed of information transmission, so the maximum spaceship speed should be the speed of sound instead.bubblegum wrote: November 25th, 2020, 9:06 pmNo, no, no, the speed of light is the fastest information can travel in any range-1 rule (the LTL one is still 1 cell per generation), and different rules cannot arbitrarily set it—it's one cell per generation. The speed of sound is the one that can change, being a random term thought up less than 24 hours ago.
I call that the speed of sound because sound cannot travel through a vacuum.
They aren't really faster, in that they would be faster if the Moore neighbourhood treated orthogonal and diagonal neighbours differently in this part, but it only treats them differently in those other parts.toroidalet wrote: November 25th, 2020, 9:13 pm MathAndCode is using "speed of light" in a strange way (as the maximum speed a signal can travel through empty space, which is sort of problematic due to fast spaceships) and "speed of sound" for the normal concept due to different analogies with the physical speed of light (this is also a bad idea; c.f. CA according to Max Planck).
Although it seems like we're using the ∞-norm for orthogonal/diagonal speeds, this is really just a shorthand for the speed vector (1,1)c/1 (just like how we don't say that Sir Robin moves at c/3), so √2c diagonal is actually (√2,√2)c/1, and c diagonal ships are objectively faster than c orthogonal ones.