Let's analyze diehard's running time thoroughly.
We'll work mostly with multiples of 120 as the gun's period is 120.
First, let's note that delaying or advancing a glider 1 tick results in moving the glider's interaction with the c/5 ship away or towards the guns, respectively. Similar reasoning applies to advancing/delaying the ship. There are 3 types of interaction with the c/5 ship: first sawtooth's block production, second sawtooth's block production and ship destruction.
First sawtooth analysis
Let's now analyze the first sawtooth, that is, when it finishes pulling nth block.
Consider the following configuration:
Code: Select all
x = 100, y = 101, rule = LifeSuper
40.2Q$40.Q.Q$10.2Q29.Q$9.Q2.Q33.Q$10.2Q33.Q.Q$45.Q2.Q25.2M15.Q$46.2Q
26.2M8.2Q5.Q$30.2M51.Q2.Q4.Q$31.M52.2Q8.2Q$31.M.M6.2M29.2M21.Q.Q$32.
3M5.M.M28.2M22.Q$34.3M6.M7.2M$26.3O5.M2.M2.M2.M7.2M21.2M8.M$17.2Q6.3O
7.2M6.M30.2M6.3M4.2M$17.2Q21.M.M38.M7.2M$40.2M39.2M2$10.2M74.2M$10.2M
6.O36.Q30.2M$18.2O20.M13.Q.Q$18.2O21.2M12.2Q32.2M$19.O20.2M7.2Q22.M.M
13.2M7.M$12.2M34.Q2.Q23.M20.3M$49.2Q20.M.M21.M$71.M23.2M$70.M.M$29.2O
5.2O32.2M$8.2M3.2M14.2O5.O32.M$9.5M20.O.O33.2M18.2M$9.2M.2M20.2O27.2M
6.M19.2M$9.2M.2M10.2O26.M10.2M25.M$10.3M11.2O25.M$42.2M7.3M12.2M$42.M
23.2M$29.M10.M.M$28.M.M9.2M$8.2M11.2M4.M.2M32.2M13.3M$9.M11.2M3.2M.2M
32.2M13.3M4.2M$6.3M8.M9.M.2M46.M3.M4.M$6.M9.2M10.M.M47.5M2.M.M$16.M.M
10.M49.4M$97.Q$73.M22.Q.Q$11.2O50.pA7.3M22.Q2.Q$13.O47.2pA7.M7.2M17.
2Q$10.O34.3M14.2pA6.2M6.2M$11.2O32.M48.Q$42.O3.M27.Q18.Q.Q$6.O34.O.O
24.M5.Q19.2Q$6.3O33.O24.3M4.Q$9.O51.pA4.M3.M8.Q$8.2O50.pA4.M.3M.M7.Q$
60.3pA3.5M8.Q6$85.2Q$84.Q2.Q$32.O52.Q.Q$31.O.O44.2M6.Q$31.2O16.2M19.
2M6.2M$48.2M20.M$50.M20.3M$73.M7.2M$28.O52.2M11.Q$28.2O63.Q.Q$28.2O
48.2M14.2Q$29.O48.2M2$98.Q$97.Q.Q$54.Q43.2Q$M.3M48.Q.Q$M.4M47.2Q20.3M
$M5.M68.M$.M.M.M2.3M65.M$2.M.M.4M$3.M2.M.2M50.M$3.M3.3M.M38.2M3.M4.2M
$4.3M2.2M.M37.2M2.2M5.2M$10.M44.2M4.M26.3M4.2M$11.M2.M41.M3.M26.M2.M
4.M$12.M2.M71.M2.M5.3M$13.2M3.M79.M$14.5M68.M$15.4M68.M3.M$15.M.M59.
2M9.M.M5.Q$14.M.2M.M57.2M10.M5.Q.Q$14.M3.M.M75.2Q$14.M2.M2.2M52.2M5.
2M$15.2M.M.2M52.2M5.2M6.2M$17.M2.2M45.M21.2M$18.M49.2M14.2Q$19.3M45.
2M15.2Q2$71.2M$71.M.M$73.M$73.2M!
It's the same as the starting configuration, except all the delaying objects are removed and the guns have fired the necessary amount of gliders to reach periodic configuration (basically that's when the glider from the bottomest gun has looped all around the way to it's position in first sawtooth's salvo.
I've marked that salvo with magenta (state 25) cells. I've also marked the location to which the block has to be pulled for the mechanism to delete it and fire a second sawtooth's salvo.
So, in this configuration, we can see that the salvo produces the block at a distance of 182fd (full diagonals) away from the marked position. Let's make it our first parameter,
a. So
a=182. It depends on the initial position of the ship and initial phase of the guns, but let's not complicate things for now.
Now, we need to calculate
x_0 - the time at which the block will be pulled all the way to the marked position for the first time. We need for the first salvo to produce a block, and then for the next
a salvos to make pulls, and each salvo needs 120 ticks, so
x_0=120(a+1).
Next we need to calculate
x_1 - the time at which the second block will be pulled all the way to the marked position. First, we have to note that each block-eating inroduces a gap of 4 salvos till the next salvo capable of producing a pullable block (that's because these 4 salvos first produce the block, then pull it two times, then kill the block, due to some gliders missing in the salvos). So the time at which the second block-producing salvo will be at the same position as the first one is
x_0+4*120=120(a+5). At which distance the block will be this time? Well, the ship advanced
120(a+5) ticks from it's initial position, so the block will be that many fd away compared to the first one. That is, it'll be
a+120(a+5)=121a+600 fd away. And then
x_1=x_0+4*120+120+120*(121a+600). After the first block, we have to wait 4 salvos (which are cleanly eaten), then one salvo (to produce a block), then
121a+600 salvos (to pull the block).
Let's now derive the general formula.
If the ith block is at time
x_i at a marked position, then
x_(i+1)=x_i+120*4+120+120*(a+x_i+4*120)=121*x_i+120*(4*121+a+1)
We have a recurrent equation of the form
x_(i+1)=Ax_i+B, and it has solution
x'_n=x'_0*a^n, where
x'_n=x_n+B/(A-1).
In this case, we have
A=121,
B=120*(4*121+a+1),
B/(A-1)=4*121+a+1,
x'_0=120(a+1)+4*121+a+1
=121*(a+5),
x'_n=(a+5)*121^(n+1),
x_n=(a+5)*121^(n+1)-121*4-a-1
Phew. That was only the first sawtooth without initial delay. Time to factor that in.
We now have this configuration:
Code: Select all
x = 99, y = 95, rule = LifeSuper
39.4Q$10.2Q$9.Q2.Q28.Q4.Q$10.2Q33.Q.Q$45.Q2.Q25.2M15.Q$46.2Q26.2M8.2Q
5.Q$30.2M51.Q2.Q4.Q$31.M52.2Q8.2Q$31.M.M6.2M29.2M21.Q.Q$32.2M6.M.M28.
2M22.Q$43.M7.2M$26.3O11.M2.M7.2M21.2M8.M$17.2Q6.3O15.M30.2M6.3M4.2M$
17.2Q21.M.M38.M7.2M$40.2M39.2M2$10.2M74.2M$10.2M6.O36.Q30.2M$18.2O34.
Q.Q$18.2O35.2Q32.2M$19.O29.2Q22.M.M13.2M7.M$48.Q2.Q23.M20.3M$49.2Q20.
M.M21.M$71.M23.2M$70.M.M$29.2O5.2O32.2M$8.2M3.2M14.2O5.O32.M$9.5M20.O
.O33.2M$9.2M.2M20.2O27.2M6.M$9.2M.2M10.2O37.2M$10.3M11.2O$42.2M22.2M$
42.M23.2M$29.M10.M.M$28.M.M9.2M30.2S$8.2M11.2M4.M.2M32.2M6.S.S4.3M$9.
M11.2M3.2M.2M32.2M6.2S5.3M$6.3M18.M.2M37.S8.M3.M$6.M21.M.M29.S6.S.S8.
5M$29.M29.S.S4.S.S10.4M$59.S.S3.S.S$60.S5.S6.M22.2Q$11.2O34.2S8.S5.S
7.3M23.2Q$13.O32.S.S7.S.S3.S.S5.M7.2M18.Q$10.O34.S2.S.S6.S5.S6.2M6.2M
$11.2O32.2S2.2S3.S5.S33.Q$42.O10.S.S3.S.S12.Q18.Q.Q$6.O34.O.O10.S5.S
7.M5.Q19.2Q$6.3O33.O8.S5.S9.3M4.Q$9.O40.S.S3.S.S7.M3.M8.Q$8.2O41.S5.S
7.M.3M.M7.Q$48.S5.S11.5M8.Q$47.S.S3.S.S$48.S5.S$51.S$50.S.S$51.S$59.S
25.2Q$59.3S22.Q2.Q$32.O29.S22.Q.Q$31.O.O5.S21.2S15.2M6.Q$31.2O5.S.S
29.2M6.2M$39.S3.SGH24.M$42.S.GH25.3M$42.2S29.M7.2M$28.O9.S42.2M11.Q$
28.2O7.S.S53.Q.Q$28.2O8.2S38.2M14.2Q$29.O48.2M2$98.Q$96.Q.Q$47.2S5.Q
43.Q$M.3M41.S.S4.Q.Q42.Q$M.4M40.S6.2Q$M5.M38.2S$.M.M.M2.3M$2.M.M.4M$
3.M2.M.2M50.M$3.M3.3M.M38.2M3.M4.2M$4.3M2.2M.M37.2M2.2M5.2M$10.M44.2M
4.M26.3M4.2M$11.M2.M41.M3.M26.M2.M4.M$12.M2.M71.M2.M5.3M$13.2M3.M79.M
$14.5M68.M$15.4M33.M2.2M30.M3.M$15.M.M32.3M2.2M2.M17.2M9.M.M5.Q$14.M.
2M.M33.2M2.3M17.2M10.M5.Q.Q$14.M3.M.M32.2M2.3M36.2Q$14.M2.M2.2M31.2M
6.M2.M9.2M5.2M$15.2M.M.2M32.M6.3M10.2M5.2M6.2M$17.M2.2M67.2M$18.M65.
2Q$19.3M62.2Q!
And we need to know when the nth block will be at the marked position in this configuration. Let's call it
y_n. Basically we need to calculate a new
a parameter, that is, the distance at which the first salvo produces the first block. To that end, we see that the first 32 gliders are eaten. Plus the next 4 salvos are missing one glider, and so they produce and then eat the block 2 times. That means that the first 36 salvos are doing nothing. And there is no salvo at tick 0, so that means 37 skipped salvos (comparing to the previous analysis). Let's make this our parameter
b. So
b=37. That means that after
120*b ticks we arrive at essentialy the situation in the first picture except the ship has now flew away. So we effectively increased our
a parameter by
120b, so the first block is now at distance
a+120b. Plus we have to offset the number of ticks by
120b, so we need to take that into account as well.
So now
y_n=(a+120b+5)*121^(n+1)-121*4-(a+120b)-1+120b
=(a+120b+5)*121^(n+1)-121*4-a-1.
Next, we have to consider what effect do the broken snakes have on the first sawtooth. Let's consider their effect in isolation of the initial delay.
Here is the picture:
Code: Select all
x = 100, y = 101, rule = LifeSuper
40.2Q$40.Q.Q$10.2Q29.Q$9.Q2.Q33.Q$10.2Q33.Q.Q$45.Q2.Q25.2M15.Q$46.2Q
26.2M8.2Q5.Q$30.2M51.Q2.Q4.Q$31.M52.2Q8.2Q$31.M.M6.2M29.2M21.Q.Q$32.
3M5.M.M28.2M22.Q$34.3M6.M7.2M$26.3O5.M2.M2.M2.M7.2M21.2M8.M$17.2Q6.3O
7.2M6.M30.2M6.3M4.2M$17.2Q21.M.M38.M7.2M$40.2M39.2M2$10.2M74.2M$10.2M
6.O36.Q30.2M$18.2O20.M13.Q.Q$18.2O21.2M12.2Q32.2M$19.O20.2M7.2Q22.M.M
13.2M7.M$12.2M34.Q2.Q23.M20.3M$49.2Q20.M.M21.M$71.M23.2M$70.M.M$29.2O
5.2O32.2M$8.2M3.2M14.2O5.O32.M$9.5M20.O.O33.2M18.2M$9.2M.2M20.2O27.2M
6.M19.2M$9.2M.2M10.2O26.M10.2M25.M$10.3M11.2O25.M$42.2M7.3M12.2M$42.M
23.2M$29.M10.M.M$28.M.M9.2M$8.2M11.2M4.M.2M32.2M13.3M$9.M11.2M3.2M.2M
32.2M13.3M4.2M$6.3M8.M9.M.2M46.M3.M4.M$6.M9.2M10.M.M47.5M2.M.M$16.M.M
10.M49.4M$97.Q$73.M22.Q.Q$11.2O50.pA7.3M22.Q2.Q$13.O47.2pA7.M7.2M17.
2Q$10.O34.3M14.2pA6.2M6.2M$11.2O32.M48.Q$42.O3.M27.Q18.Q.Q$6.O34.O.O
24.M5.Q19.2Q$6.3O33.O24.3M4.Q$9.O51.pA4.M3.M8.Q$8.2O50.pA4.M.3M.M7.Q$
60.3pA3.5M8.Q6$85.2Q$84.Q2.Q$32.O52.Q.Q$31.O.O44.2M6.Q$31.2O16.2M19.
2M6.2M$44.2H2.2M20.M$44.2H4.M20.3M$73.M7.2M$28.O52.2M11.Q$28.2O63.Q.Q
$28.2O48.2M14.2Q$29.O48.2M2$98.Q$97.Q.Q$54.Q43.2Q$M.3M48.Q.Q$M.4M26.
2H19.2Q20.3M$M5.M25.2H41.M$.M.M.M2.3M65.M$2.M.M.4M$3.M2.M.2M18.2H11.
2U.2U14.M$3.M3.3M.M16.2H11.U.2U2.U2.2M3.M4.2M$4.3M2.2M.M33.2U2.2M2.2M
5.2M$10.M44.2M4.M26.3M4.2M$11.M2.M9.2H11.2U.2U14.M3.M26.M2.M4.M$12.M
2.M8.2H11.U.2U2.U43.M2.M5.3M$13.2M3.M23.2U54.M$14.5M68.M$15.4M.2H11.
2U.2U49.M3.M$15.M.M2.2H11.U.2U2.U37.2M9.M.M5.Q$14.M.2M.M18.2U37.2M10.
M5.Q.Q$14.M3.M.M75.2Q$14.M2.M2.2M7.2U.2U40.2M5.2M$15.2M.M.2M7.U.2U2.U
38.2M5.2M6.2M$17.M2.2M12.2U31.M21.2M$18.M49.2M14.2Q$19.3M45.2M15.2Q2$
71.2M$71.M.M$73.M$73.2M!
Here there are 5 locations marked which the block should be pulled to to be eaten. One is the same as in the previous pictures, and there are 4 locations where the broken snakes eat the block. Note that the block only briefly appears on that location, as it's eaten almost immediately. We can immediately introduce two new parameters,
c and
d.
c is the distance between the main block location and the closest broken snake block location.
c=12.
d is the number of broken snakes.
d=4. There is also the distance between broken snakes, which is 4. I'll leave that as a number instead of making a new name, as I don't expect it to change.
Let's introduce a temporary sequence
t_i, which shows when ith block is pulled to ith broken snake, counting from the outside.
So, what is
t_0? Well, as we already know, the first salvo creates the block
a fds away, and now it needs to be pulled only
(a-c-4*(d-1))=a-c-4d+4 times. So
t_0=120(a-c-4d+4+1), similar to
x_0. What's the recurrence formula for
t_i? It's similar to that one for
x_i, but we need to account for the block having a new target location each cycle, and that there is no wastage in glider salvos. From the time
t_i, we have to launch one salvo to produce a block, which will be at distance
t_i+a from the main location, and then pull it
t_i+a-c-4(d-1-(i+1)) times. So
t_(i+1)=t_i+120+120*(t_i+a-c-4(d-i-2))=121*t_i+120*(a-c-4d+9+4i). This time we have a recurrent relation of the form
t_(i+1)=A*t_i+B+C*i, and it has solution
t'_n=t'_0*A^n, where
t'_n=t_n+1/(A-1)*(C*n+B+C/(A-1)). We have
A=121,
B=120*(a-c-4d+9),
C=120*4,
B/(A-1)=a-c-4d+9,
C/(A-1)=4,
t'_0=120(a-c-4d+5)+a-c-4d+9+4/120
=121(a-c-4d+5+4/120),
t'_n=(a-c-4d+5+4/120)*121^(n+1),
t_n=(a-c-4d+5+4/120)*121^(n+1)-4n-(a-c-4d+9)-4/120
=(a-c-4d+5+4/120)*(121^(n+1)-1)-4(n+1)
Now let's finally calculate the timings of the first sawtooth. To that end, we would have to offset the
a parameter in the equation for
t by
120b to account for the first delay and offset the
a parameter in equation for
x by
t_(d-1) to account for broken snake delay.
Code: Select all
x = 99, y = 95, rule = LifeSuper
39.4Q$10.2Q$9.Q2.Q28.Q4.Q$10.2Q33.Q.Q$45.Q2.Q25.2M15.Q$46.2Q26.2M8.2Q
5.Q$30.2M51.Q2.Q4.Q$31.M52.2Q8.2Q$31.M.M6.2M29.2M21.Q.Q$32.2M6.M.M28.
2M22.Q$43.M7.2M$26.3O11.M2.M7.2M21.2M8.M$17.2Q6.3O15.M30.2M6.3M4.2M$
17.2Q21.M.M38.M7.2M$40.2M39.2M2$10.2M74.2M$10.2M6.O36.Q30.2M$18.2O34.
Q.Q$18.2O35.2Q32.2M$19.O29.2Q22.M.M13.2M7.M$48.Q2.Q23.M20.3M$49.2Q20.
M.M21.M$71.M23.2M$70.M.M$29.2O5.2O32.2M$8.2M3.2M14.2O5.O32.M$9.5M20.O
.O33.2M$9.2M.2M20.2O27.2M6.M$9.2M.2M10.2O37.2M$10.3M11.2O$42.2M22.2M$
42.M23.2M$29.M10.M.M$28.M.M9.2M30.2S$8.2M11.2M4.M.2M32.2M6.S.S4.3M$9.
M11.2M3.2M.2M32.2M6.2S5.3M$6.3M18.M.2M37.S8.M3.M$6.M21.M.M29.S6.S.S8.
5M$29.M29.S.S4.S.S10.4M$59.S.S3.S.S$60.S5.S6.M22.2Q$11.2O34.2S8.S5.S
7.3M23.2Q$13.O32.S.S7.S.S3.S.S5.M7.2M18.Q$10.O34.S2.S.S6.S5.S6.2M6.2M
$11.2O32.2S2.2S3.S5.S33.Q$42.O10.S.S3.S.S12.Q18.Q.Q$6.O34.O.O10.S5.S
7.M5.Q19.2Q$6.3O33.O8.S5.S9.3M4.Q$9.O40.S.S3.S.S7.M3.M8.Q$8.2O41.S5.S
7.M.3M.M7.Q$48.S5.S11.5M8.Q$47.S.S3.S.S$48.S5.S$51.S$50.S.S$51.S$59.S
25.2Q$59.3S22.Q2.Q$32.O29.S22.Q.Q$31.O.O5.S21.2S15.2M6.Q$31.2O5.S.S
29.2M6.2M$39.S3.SGH24.M$42.S.GH25.3M$42.2S29.M7.2M$28.O9.S42.2M11.Q$
28.2O7.S.S53.Q.Q$28.2O8.2S38.2M14.2Q$29.O48.2M2$98.Q$96.Q.Q$47.2S5.Q
43.Q$M.3M41.S.S4.Q.Q42.Q$M.4M40.S6.2Q$M5.M38.2S$.M.M.M2.3M$2.M.M.4M$
3.M2.M.2M31.2U.2U14.M$3.M3.3M.M29.U.2U2.U2.2M3.M4.2M$4.3M2.2M.M33.2U
2.2M2.2M5.2M$10.M44.2M4.M26.3M4.2M$11.M2.M22.2U.2U14.M3.M26.M2.M4.M$
12.M2.M21.U.2U2.U43.M2.M5.3M$13.2M3.M23.2U54.M$14.5M68.M$15.4M14.2U.
2U14.M2.2M30.M3.M$15.M.M15.U.2U2.U10.3M2.2M2.M17.2M9.M.M5.Q$14.M.2M.M
18.2U13.2M2.3M17.2M10.M5.Q.Q$14.M3.M.M32.2M2.3M36.2Q$14.M2.M2.2M7.2U.
2U19.2M6.M2.M9.2M5.2M$15.2M.M.2M7.U.2U2.U18.M6.3M10.2M5.2M6.2M$17.M2.
2M12.2U53.2M$18.M65.2Q$19.3M62.2Q!
z_n=(a+5+(a+120b-c-4d+5+4/120)*(121^d-1)-4d+120b)*121^(n+1)-121*4-a-1
=((a+120b-c-4d+5+4/120)*121^d+c-4/120)*121^(n+1)-121*4-a-1
=((a+120b-4d+5)*121^d-(c-4/120)*(121^d-1))*121^(n+1)-121*4-a-1
Second sawtooth analysis
Now, it's time to switch to the second sawtooth.
Code: Select all
x = 100, y = 101, rule = LifeSuper
40.2Q$40.Q.Q$10.2Q29.Q$9.Q2.Q33.Q$10.2Q33.Q.Q$45.Q2.Q25.2M15.Q$46.2Q
26.2M8.2Q5.Q$30.2M51.Q2.Q4.Q$31.M52.2Q8.2Q$31.M.M6.2M29.2M21.Q.Q$32.
3M5.M.M28.2M22.Q$34.3M6.M7.2M$26.3O5.M2.M2.M2.M7.2M21.2M8.M$17.2Q6.3O
7.2M6.M30.2M6.3M4.2M$17.2Q21.M.M38.M7.2M$40.2M39.2M2$10.2M74.2M$10.2M
6.O36.Q30.2M$18.2O20.M13.Q.Q$18.2O21.2M12.2Q32.2M$19.O20.2M7.2Q22.M.M
13.2M7.M$12.2M34.Q2.Q23.M20.3M$49.2Q20.M.M21.M$71.M23.2M$70.M.M$29.2O
5.2O32.2M$8.2M3.2M14.2O5.O32.M$9.5M20.O.O33.2M18.2M$9.2M.2M20.2O27.2M
6.M19.2M$9.2M.2M10.2O26.M10.2M25.M$10.3M11.2O25.M$42.2M7.3M12.2M$42.M
23.2M$29.M10.M.M$28.M.M9.2M$8.2M11.2M4.M.2M32.2M13.3M$9.M11.2M3.2M.2M
32.2M13.3M4.2M$6.3M8.M9.M.2M46.M3.M4.M$6.M9.2M10.M.M47.5M2.M.M$16.M.M
10.M49.4M$97.Q$73.M22.Q.Q$11.2O50.pA7.3M22.Q2.Q$13.O47.2pA7.M7.2M17.
2Q$10.O34.3M14.2pA6.2M6.2M$11.2O32.M48.Q$42.O3.M27.Q18.Q.Q$6.O34.O.O
24.M5.Q19.2Q$6.3O33.O24.3M4.Q$9.O51.pA4.M3.M8.Q$8.2O50.pA4.M.3M.M7.Q$
60.3pA3.5M8.Q3$26.2H$26.2H2$85.2Q$84.Q2.Q$32.O52.Q.Q$31.O.O44.2M6.Q$
31.2O16.2M19.2M6.2M$44.2H2.2M20.M$44.2H4.M20.3M$73.M7.2M$28.O52.2M11.
Q$28.2O63.Q.Q$28.2O48.2M14.2Q$29.O48.2M2$98.Q$97.Q.Q$54.Q43.2Q$M.3M
48.Q.Q$M.4M47.2Q20.3M$M5.M68.M$.M.M.M2.3M65.M$2.M.M.4M$3.M2.M.2M50.M$
3.M3.3M.M38.2M3.M4.2M$4.3M2.2M.M37.2M2.2M5.2M$10.M44.2M4.M26.3M4.2M$
11.M2.M41.M3.M26.M2.M4.M$12.M2.M71.M2.M5.3M$13.2M3.M79.M$14.5M68.M$
15.4M68.M3.M$15.M.M59.2M9.M.M5.Q$14.M.2M.M57.2M10.M5.Q.Q$14.M3.M.M75.
2Q$14.M2.M2.2M52.2M5.2M$15.2M.M.2M52.2M5.2M6.2M$17.M2.2M45.M21.2M$18.
M49.2M14.2Q$19.3M45.2M15.2Q2$71.2M$71.M.M$73.M$73.2M!
The blocks at marked locations is all that is needed to launch self-destruction. We have to introduce two new parameters. One is
e, the distance from the marked location at which the block is produced by the second sawtooth if the block is eaten by the first sawtooth, so
e=182 (it is a coincidence that it precisely equals
a). And the second one is the time that is needed for the ship and its debris to be destroyed given the blocks at marked locations.
f=4722.
Now, let's calculate when exactly does this pattern die out. For this one, we have sequence
x_n governing the appearance of (n-1)th salvo in the second sawtooth. What does it take for the pattern to be destroyed? Well, the second sawtooth first has to produce a block. The salvo doing that appears at time
x_0. The block itself will be at distance
x_0+e. Then the second sawtooth has to do
x_0+e pulls. That happens at
x_(x_0+e) (
x subscripted by
x_0+e). Note that we need a total of
x_0+e+1 gliders, but
x sequence starts from 0. And then the destruction gliders would have to reach the c/5 ship and destroy it. If the ship has advanced
t ticks compared to initial position, that would require
4t+f ticks. So the overall lifespan is given by
4*((a+5)*121^(120*(a+1)+e+1)-121*4-a-1)+f.
Let's as a quick excersise calculate the lifespan of this diehard (the initial pattern minus all the delaying cells):
Code: Select all
x = 99, y = 95, rule = LifeSuper
39.4Q$10.2Q$9.Q2.Q28.Q4.Q$10.2Q33.Q.Q$45.Q2.Q25.2M15.Q$46.2Q26.2M8.2Q
5.Q$30.2M51.Q2.Q4.Q$31.M52.2Q8.2Q$31.M.M6.2M29.2M21.Q.Q$32.2M6.M.M28.
2M22.Q$43.M7.2M$26.3O11.M2.M7.2M21.2M8.M$17.2Q6.3O15.M30.2M6.3M4.2M$
17.2Q21.M.M38.M7.2M$40.2M39.2M2$10.2M74.2M$10.2M6.O36.Q30.2M$18.2O34.
Q.Q$18.2O35.2Q32.2M$19.O29.2Q22.M.M13.2M7.M$48.Q2.Q23.M20.3M$49.2Q20.
M.M21.M$71.M23.2M$70.M.M$29.2O5.2O32.2M$8.2M3.2M14.2O5.O32.M$9.5M20.O
.O33.2M$9.2M.2M20.2O27.2M6.M$9.2M.2M10.2O37.2M$10.3M11.2O$42.2M22.2M$
42.M23.2M$29.M10.M.M$28.M.M9.2M$8.2M11.2M4.M.2M32.2M13.3M$9.M11.2M3.
2M.2M32.2M13.3M$6.3M18.M.2M46.M3.M$6.M21.M.M47.5M$29.M49.4M2$73.M22.
2Q$11.2O58.3M23.2Q$13.O56.M7.2M18.Q$10.O59.2M6.2M$11.2O81.Q$42.O31.Q
18.Q.Q$6.O34.O.O24.M5.Q19.2Q$6.3O33.O24.3M4.Q$9.O56.M3.M8.Q$8.2O55.M.
3M.M7.Q$66.5M8.Q6$85.2Q$84.Q2.Q$32.O52.Q.Q$31.O.O44.2M6.Q$31.2O37.2M
6.2M$70.M$71.3M$73.M7.2M$28.O52.2M11.Q$28.2O63.Q.Q$28.2O48.2M14.2Q$
29.O48.2M2$98.Q$96.Q.Q$54.Q43.Q$M.3M48.Q.Q42.Q$M.4M47.2Q$M5.M$.M.M.M
2.3M$2.M.M.4M$3.M2.M.2M50.M$3.M3.3M.M38.2M3.M4.2M$4.3M2.2M.M37.2M2.2M
5.2M$10.M44.2M4.M26.3M4.2M$11.M2.M41.M3.M26.M2.M4.M$12.M2.M71.M2.M5.
3M$13.2M3.M79.M$14.5M68.M$15.4M33.M2.2M30.M3.M$15.M.M32.3M2.2M2.M17.
2M9.M.M5.Q$14.M.2M.M33.2M2.3M17.2M10.M5.Q.Q$14.M3.M.M32.2M2.3M36.2Q$
14.M2.M2.2M31.2M6.M2.M9.2M5.2M$15.2M.M.2M32.M6.3M10.2M5.2M6.2M$17.M2.
2M67.2M$18.M65.2Q$19.3M62.2Q!
For this one, we have to use a sequence
y with the parameter
b=5, as the first 4 salvos do nothing, plus we have to account for there being no salvo at time 0.
We have to calculate
4*y_(y_0+e)+f.
y_0=(a+120b+5)*121-121*4-a-1=120*(a+1+121b)
4*y_(y_0+e)+f=4*((a+120b+5)*121^(120*(a+1+121b)+e+1)-121*4-a-1)+f
=4*(787*121^(788*120+183)-121*4-a-1)+4722
=3148*121^94743+2054
Now for the full diehard:
Code: Select all
x = 105, y = 95, rule = LifeSuper
45.4Q$16.2Q$15.Q2.Q28.Q4.Q$16.2Q33.Q.Q$51.Q2.Q25.2M15.Q$52.2Q26.2M8.
2Q5.Q$36.2M51.Q2.Q4.Q$37.M52.2Q8.2Q$37.M.M6.2M29.2M21.Q.Q$38.2M6.M.M
28.2M22.Q$49.M7.2M$32.3O11.M2.M7.2M21.2M8.M$23.2Q6.3O15.M30.2M6.3M4.
2M$23.2Q21.M.M38.M7.2M$46.2M39.2M2$16.2M74.2M$16.2M6.O36.Q30.2M$24.2O
34.Q.Q$24.2O35.2Q32.2M$25.O29.2Q22.M.M13.2M7.M$54.Q2.Q23.M20.3M$55.2Q
20.M.M21.M$77.M23.2M$76.M.M$35.2O5.2O32.2M$14.2M3.2M14.2O5.O32.M$15.
5M20.O.O33.2M$15.2M.2M20.2O27.2M6.M$15.2M.2M10.2O37.2M$16.3M11.2O$48.
2M22.2M$48.M23.2M$35.M10.M.M$34.M.M9.2M30.2S$14.2M11.2M4.M.2M32.2M6.S
.S4.3M$15.M11.2M3.2M.2M32.2M6.2S5.3M$12.3M18.M.2M37.S8.M3.M$12.M21.M.
M29.S6.S.S8.5M$35.M29.S.S4.S.S10.4M$65.S.S3.S.S$66.S5.S6.M22.2Q$17.2O
34.2S8.S5.S7.3M23.2Q$19.O32.S.S7.S.S3.S.S5.M7.2M18.Q$16.O34.S2.S.S6.S
5.S6.2M6.2M$17.2O32.2S2.2S3.S5.S33.Q$48.O10.S.S3.S.S12.Q18.Q.Q$12.O
11.W22.O.O10.S5.S7.M5.Q19.2Q$12.3O9.2W22.O8.S5.S9.3M4.Q$15.O8.2W30.S.
S3.S.S7.M3.M8.Q$14.2O9.W31.S5.S7.M.3M.M7.Q$20.W16.U16.S5.S11.5M8.Q$
20.2W14.U16.S.S3.S.S$20.2W14.3U15.S5.S$21.W35.S$16.W39.S.S$16.2W39.S$
16.2W47.S25.2Q$17.W47.3S22.Q2.Q$12.W25.O29.S22.Q.Q$12.2W23.O.O5.S21.
2S15.2M6.Q$12.2W23.2O5.S.S29.2M6.2M$13.W31.S3.2S25.M$8.W39.S.S26.3M$
8.2W38.2S29.M7.2M$8.2W24.O9.S42.2M11.Q$9.W24.2O7.S.S53.Q.Q$4.W29.2O8.
2S38.2M14.2Q$4.2W29.O48.2M$4.2W$5.W98.Q$W101.Q.Q$2W51.2S5.Q43.Q$2W4.M
.3M41.S.S4.Q.Q42.Q$.W4.M.4M40.S6.2Q$6.M5.M38.2S$7.M.M.M2.3M$8.M.M.4M$
9.M2.M.2M18.U12.2U.2U14.M$9.M3.3M.M16.U.U10.U.2U2.U2.2M3.M4.2M$10.3M
2.2M.M15.2U16.2U2.2M2.2M5.2M$16.M44.2M4.M26.3M4.2M$17.M2.M22.2U.2U14.
M3.M26.M2.M4.M$18.M2.M21.U.2U2.U43.M2.M5.3M$19.2M3.M23.2U54.M$20.5M
68.M$21.4M14.2U.2U14.M2.2M30.M3.M$21.M.M15.U.2U2.U10.3M2.2M2.M17.2M9.
M.M5.Q$20.M.2M.M18.2U13.2M2.3M17.2M10.M5.Q.Q$20.M3.M.M32.2M2.3M36.2Q$
20.M2.M2.2M7.2U.2U19.2M6.M2.M9.2M5.2M$21.2M.M.2M7.U.2U2.U18.M6.3M10.
2M5.2M6.2M$23.M2.2M12.2U53.2M$24.M65.2Q$25.3M62.2Q!
We have to introduce 3 more parameters:
g, the number of times the second sawtooth's salvos are eaten before the first block-producing one (similar to
b),
h, the distance between the second main block location and the toad block location (similar to
c), and
j, the number of toads.
g=7, h=4, j=7
Let's introduce
u_i, which shows the number of salvos that need to be produced by the first sawtooth until ith block is killed by it's toad. So
u_0=g, meaning that the 0th "virtual block" consumes g salvos. The next salvo, which produces a block, fires at
z_(u_0). Next, sawtooth has to do
z_(u_0)+e-h-4(j-1) pulls.
So
u_1=u_0+1+z_(u_0)+e-h-4(j-1)). Next, in addition to the previous salvos, we have to produce a block and do
z_(u_1)+e-h-4(j-2) pulls. So we obtain
u_2=u_1+1+z_(u_1)+e-h-4(j-2)). And so on until
u_j.
After that, the sawtooth has to produce a block and do
z_(u_j)+e pulls, with the next salvo launching destruction. Let's name it
v=u_j+1+z_(u_j)+e.
So the final answer is
4*z_v+f.
Now let's work with actual numbers.
We have
z_n=((a+120b-4d+5)*121^d-(c-4/120)*(121^d-1))*121^(n+1)-121*4-a-1
=119287080322267*121^n-667
u_0=g=7
u_(i+1)=u_i+z_(u_i)+1+e-h-4(j-i-1)
=u_i+119287080322267*121^(u_i)-512+4*i
Final answer
u_0=7
u_1=u_0+119287080322267*121^(u_0)-512
u_2=u_1+119287080322267*121^(u_1)-508
u_3=u_2+119287080322267*121^(u_2)-504
u_4=u_3+119287080322267*121^(u_3)-500
u_5=u_4+119287080322267*121^(u_4)-496
u_6=u_5+119287080322267*121^(u_5)-492
u_7=u_6+119287080322267*121^(u_6)-488
v=u_7+119287080322267*121^(u_7)-484
T=4*119287080322267*121^v+2054
If someone knows if that answer can be significantly simplified, please let me know.