Another example is the puffer here.MathAndCode wrote: ↑December 16th, 2020, 11:25 pmThe methuselah doesn't work with kill gliders enabled.
LifeViewer erroneously killing gliders
-
- Posts: 5163
- Joined: August 31st, 2020, 5:58 pm
LifeViewer erroneously killing gliders
The kill gliders function on LifeViewer apparently kills internal gliders even though it shouldn't.
I am tentatively considering myself back.
Re: LifeViewer erroneously killing gliders
The glider formed at T=94 gets killed correctly because it is alone on the edge of the bounding box (in this case the left edge).MathAndCode wrote: ↑December 16th, 2020, 11:28 pmThe kill gliders function on LifeViewer apparently kills internal gliders even though it shouldn't.
If you step the pattern below one generation to T=94 you'll see a glider form on the left edge.
If you then step back, enable Settings->Playback->Kill Gliders, and then step to T=94 again you'll see it gets deleted. This is expected.
Code: Select all
#CXRLE Gen=93
x = 31, y = 14, rule = B3/S23
28b2o$19bo7bo2bo$15b2o3b2o6b2o$14b2o4b2o$7b2o6b3o3b2o$4bo3bo7b2o2b2o$
2b2o5b2o$2b2obo2b2o3$19bo3$2o!
LifeViewer https://lazyslug.com/lifeviewer
-
- Posts: 5163
- Joined: August 31st, 2020, 5:58 pm
Re: LifeViewer erroneously killing gliders
I mean internal gliders. The relevant glider seems to be deleted at generation 1,528, four generations before it would have interacted with a blinker.rowett wrote: ↑December 17th, 2020, 1:17 amIf you step the pattern below one generation to T=94 you'll see a glider form on the left edge.
If you then step back, enable Settings->Playback->Kill Gliders, and then step to T=94 again you'll see it gets deleted. This is expected.Code: Select all
#CXRLE Gen=93 x = 31, y = 14, rule = B3/S23 28b2o$19bo7bo2bo$15b2o3b2o6b2o$14b2o4b2o$7b2o6b3o3b2o$4bo3bo7b2o2b2o$ 2b2o5b2o$2b2obo2b2o3$19bo3$2o!
I am tentatively considering myself back.
Re: LifeViewer erroneously killing gliders
Please post the pattern here you are referring to.MathAndCode wrote: ↑December 17th, 2020, 1:28 amI mean internal gliders. The relevant glider seems to be deleted at generation 1,528, four generations before it would have interacted with a blinker.
LifeViewer https://lazyslug.com/lifeviewer
-
- Posts: 5163
- Joined: August 31st, 2020, 5:58 pm
Re: LifeViewer erroneously killing gliders
Code: Select all
x = 16, y = 16, rule = B3/S23
oboobbooooobbbob$
bobbbbooboooobbb$
bobbobbbbobboobo$
oboboobbbbboobbb$
obbbboobbooboobo$
ooobobbbooooobbo$
obbbooobbobboobb$
bbbooboobobobbbb$
bobboboboboooooo$
bbbobbbbooobbobb$
bbobbbbbobbooboo$
bbbbobooobbbboob$
bbbooboooboobooo$
obbooboboobooooo$
boboboboobbobbbb$
oboobobboooooobb!
I am tentatively considering myself back.
Re: LifeViewer erroneously killing gliders
This should be fixed. Thanks for reporting!
LifeViewer https://lazyslug.com/lifeviewer
-
- Posts: 5163
- Joined: August 31st, 2020, 5:58 pm
Re: LifeViewer erroneously killing gliders
The patterns that I mentioned in my first post work (Thank you for that, by the way.), but I just found an example that doesn't here.
Code: Select all
#C nikk-nikkm1r90-w4s906
#C http://nickgotts-nikk-nikkm1r90-w4s906.blogspot.com/
#C pattern given at http://nickgotts-eventful.blogspot.com/
x = 38, y = 940, rule = S23/B3
6bo$5bobo$$4bobbo$4boo$4bo25$34bobo$37bo$33bobbo$32b3o873$28bo3bo$29bo
bo$30bobbo$33bo$33bo24$o$bo$bbo$bo$o$bb3o!
I am tentatively considering myself back.
Re: LifeViewer erroneously killing gliders
As escaping glider is one that is found on the edge of the pattern bounding box ahead of any other cells in the pattern. This is true for that example - when the gliders are killed they are on the right edge of the pattern bounding box and one or two cells further right than any other cell.
LifeViewer https://lazyslug.com/lifeviewer
Re: LifeViewer erroneously killing gliders
Is that a deliberate rough approximation for efficiency reasons? To be sure to preserve the evolutionary sequence of a pattern, you'd have to be an awful lot more conservative than that.
The test pattern that calcyman mentioned recently is another example -- the glider on the right at T = 560 looks like an escapee, but it isn't, and if it's deleted it alters the pattern's final outcome:
Code: Select all
x = 16, y = 16, rule = LifeHistory
A.A.A2.2A.A4.A$2A3.A.7A$A.A2.A.A.3A2.2A$A4.A.A.2A2.A$.A3.2A5.2A$2.3A.
A3.4A$.3A4.3A2.3A$A11.2A$2A.A3.7A$A5.A2.A.A2.A$A.A3.2A.2A.A$A.2A2.A2.
2A$A2.2A.2A4.2A.A$A.2A.A2.A.A4.A$A2.2A2.A.A3.A.A$2A5.2A.4A!
#C [[ STEP 5 ZOOM 5 X 40 Y -20 STOP 560 ]]
Re: LifeViewer erroneously killing gliders
To some extent yes. But the actual question is how do I know when it's safe to delete a glider?
I can imagine a pattern where it's an arbitrary number of generations until an "escaped" glider is caught by a faster moving spaceship.
LifeViewer https://lazyslug.com/lifeviewer
Re: LifeViewer erroneously killing gliders
If there's a sufficiently wide (6 hd is definitely sufficient) diagonal strip* between the glider and the rest of the pattern, we can remove it. This follows from the proof of the c/4 diagonal speed limit.
*oriented such that the glider is travelling perpendicularly away from that strip
What do you do with ill crystallographers? Take them to the mono-clinic!
-
- Posts: 5163
- Joined: August 31st, 2020, 5:58 pm
Re: LifeViewer erroneously killing gliders
That will get rid of most of the gliders, but there will be occasions where two parallel gliders are emitted side by side, separated by each other for some distance, and neither can be removed until the other has been removed. These two gliders won't slow down the speed by very much themselves, but they will also prevent any gliders behind them traveling in the same direction from being deleted, causing a bigger slowdown. Therefore, there will have to be some code to detect when a group of gliders has at least six clear half-diagonals behind it (although it won't need to be run as often). Also, an emitted XWSS will prevent any gliders emitted after it in two gliders from being deleted,but XWSS removal will be easier because one won't have to worry about tandem XWSSes (unless they're very close together).
I am tentatively considering myself back.
Re: LifeViewer erroneously killing gliders
According to Catagolue, the maxrule for the glider is B2ikn34-r5-n678/S0234-k5678. Quick experimentation shows that a Greek cross will expand at c/3 diagonally, eventually engulfing the retreating glider:dvgrn wrote: Another minor question: does KILLGLIDERS work on other rules where gliders exist, but where the diagonal speed limit is greater than c/4 and/or the orthogonal speed limit is greater than c/2? Are there any such rules?
Code: Select all
x = 25, y = 25, rule = B2ikn34-r5-n678/S0234-k5678
22b3o$24bo$23bo20$bo$3o$bo!
What do you do with ill crystallographers? Take them to the mono-clinic!
Re: LifeViewer erroneously killing gliders
KILLGLIDERS is only processed for range 1 [R]Standard and [R]History rules.
LifeViewer https://lazyslug.com/lifeviewer
Re: LifeViewer erroneously killing gliders
I've added support for this, but only in the case where the two parallel gliders are both on the edge of the pattern bounding box. This means, for example, that the classic breeders pattern will not have gliders killed - which is intended.MathAndCode wrote: ↑December 19th, 2020, 12:10 pmThat will get rid of most of the gliders, but there will be occasions where two parallel gliders are emitted side by side, separated by each other for some distance, and neither can be removed until the other has been removed.
LifeViewer https://lazyslug.com/lifeviewer
Re: LifeViewer erroneously killing gliders
It is still killing erroneously gliders.calcyman wrote: ↑December 19th, 2020, 12:38 pmAccording to Catagolue, the maxrule for the glider is B2ikn34-r5-n678/S0234-k5678. Quick experimentation shows that a Greek cross will expand at c/3 diagonally, eventually engulfing the retreating glider:dvgrn wrote: Another minor question: does KILLGLIDERS work on other rules where gliders exist, but where the diagonal speed limit is greater than c/4 and/or the orthogonal speed limit is greater than c/2? Are there any such rules?
Code: Select all
x = 25, y = 25, rule = B2ikn34-r5-n678/S0234-k5678 22b3o$24bo$23bo20$bo$3o$bo!
Fan of BTS (qkdxksthsuseks)
Currently inactive.
Currently inactive.
Re: LifeViewer erroneously killing gliders
Yes it will do for rules that expand diagonally faster than c/4.BTS-fan wrote: ↑November 3rd, 2022, 10:23 pmIt is still killing erroneously gliders.calcyman wrote: ↑December 19th, 2020, 12:38 pmAccording to Catagolue, the maxrule for the glider is B2ikn34-r5-n678/S0234-k5678. Quick experimentation shows that a Greek cross will expand at c/3 diagonally, eventually engulfing the retreating glider:dvgrn wrote: Another minor question: does KILLGLIDERS work on other rules where gliders exist, but where the diagonal speed limit is greater than c/4 and/or the orthogonal speed limit is greater than c/2? Are there any such rules?
Code: Select all
x = 25, y = 25, rule = B2ikn34-r5-n678/S0234-k5678 22b3o$24bo$23bo20$bo$3o$bo!
LifeViewer https://lazyslug.com/lifeviewer
Re: LifeViewer erroneously killing gliders
State 6 should probably be counted as part of the bounding box/diamond for KILLGLIDERS, since in many rules it causes nontrivial reactions that aren't just the rapid killing of the glider:
Code: Select all
x = 20, y = 18, rule = B3/S023History
7.A$7.A.A$7.2A3$F17.2A$F17.2A$F$F9$9.4F!
Code: Select all
x = 20, y = 18, rule = B3/S023History
7.A$7.A.A$7.2A3$F17.2A$F17.2A$F$F9$9.4F!
[[ KILLGLIDERS ]]
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
-
- Posts: 283
- Joined: April 1st, 2021, 1:03 am
Re: LifeViewer erroneously killing gliders
Another problem is that it can kill only gliders.
Code: Select all
x = 20, y = 20, rule = B3/S2-i34q
b3o$b3o$o$bo3$6b3o$6bo$7bo3$13bo$14bo$11b3o$11b3o3$18bo$19bo$17b3o!