Game of Life: Tribes

#Epidemic Analysis

#Preset Dynamics

The SIRSD Epidemic preset has 44 cell states: Dead, Susceptible, Infectious, and Recovered. Its ordered rules are:

Current state and condition Next state Rule probability
Susceptible with at least 11 Infectious neighbor Infectious 50%50\%
Infectious Recovered 5%5\%
Infectious, if the recovery roll did not apply Dead 0.1%0.1\%
Recovered Susceptible 1%1\%

Epidemic state transitions

Infection probability saturates at 11 Infectious neighbor: having 22 through 88 Infectious neighbors does not increase the 50%50\% roll. Because rules are evaluated in order, the death roll is attempted only after the recovery roll fails. Given that rolls are independent, that makes the unconditional 11-generation death probability approximately 0.950.1%=0.095%0.95\cdot0.1\%=0.095\% for an Infectious cell.

Recovered cells can become Susceptible again, so reinfection and multiple waves are possible. Dead cells remain Dead. There are no births, movement, or incubation state.

#Derived Metrics

Initial population, written as N0N_0, is the first recorded Susceptible + Infectious + Recovered count. Empty grid cells are not included.

  • Prevalence: current Infectious cells divided by fixed N0N_0.
  • Peak prevalence: maximum unsmoothed prevalence during the run.
  • Mortality fraction: deaths occurring during the run divided by N0N_0.
  • Final healthy grid density: final Susceptible+Recovered5122\frac{\texttt{Susceptible}+\texttt{Recovered}}{512^2}. This uses the whole grid as its denominator.
  • Infectious duration: final Infectious generation minus first recorded generation.
  • Time to peak: peak-Infectious generation minus first recorded generation.

Using fixed N0N_0 for prevalence prevents deaths from shrinking the denominator and artificially inflating late prevalence.

#Infection Episodes

An infection episode is 11 reconstructed Susceptible → Infectious transition. The initial 1212 seeded Infectious cells are not counted.
With the preset's only 44 possible transitions, the population deltas and changed_cells identify the aggregate flows exactly for consecutive generations.

If CC is changed_cells, the reconstruction is:

RS=C+ΔSΔRΔD3R\rightarrow S = \frac{C + \Delta S - \Delta R - \Delta D}{3} SI=RSΔSS\rightarrow I = R\rightarrow S - \Delta S IR=ΔR+RSI\rightarrow R = \Delta R + R\rightarrow S ID=ΔDI\rightarrow D = \Delta D

Episodes per initial population are cumulative SIN0\frac{S\rightarrow I}{N_0}. Values can exceed 11 because the same population can pass through RSIR \rightarrow S \rightarrow I repeatedly. This is an event rate over the initial population, not the fraction of unique people ever infected and not a distribution of infections per individual.

#Density Outcomes

Density Median peak prevalence Median episodesN0\frac{\textbf{Median episodes}}{N_0} Median mortality Median final healthy grid density Median duration
30%30\% 0.0312%0.0312\% 0.00060.0006 0.0013%0.0013\% 29.9818%29.9818\% 119119
35%35\% 0.0537%0.0537\% 0.00160.0016 0.0022%0.0022\% 35.0130%35.0130\% 210210
40%40\% 0.3033%0.3033\% 0.03090.0309 0.0542%0.0542\% 39.9681%39.9681\% 571.5571.5
41%41\% 0.4034%0.4034\% 0.07170.0717 0.1351%0.1351\% 40.8440%40.8440\% 10921\,092
42%42\% 3.2105%3.2105\% 1.88761.8876 3.5189%3.5189\% 40.5214%40.5214\% 3189.53\,189.5
43%43\% 5.5147%5.5147\% 2.96052.9605 5.4961%5.4961\% 40.6702%40.6702\% 36213\,621
44%44\% 7.3577%7.3577\% 3.96853.9685 7.3550%7.3550\% 40.8045%40.8045\% 37803\,780
45%45\% 8.4398%8.4398\% 4.91944.9194 9.1502%9.1502\% 40.9008%40.9008\% 4021.54\,021.5
50%50\% 11.6206%11.6206\% 9.38469.3846 17.4787%17.4787\% 41.2521%41.2521\% 53055\,305
55%55\% 13.8507%13.8507\% 13.258113.2581 24.6743%24.6743\% 41.3935%41.3935\% 6072.56\,072.5
60%60\% 15.3177%15.3177\% 16.507716.5077 30.7825%30.7825\% 41.4928%41.4928\% 6877.56\,877.5

The clearest observed change is between 41%41\% and 42%42\%: median episodes per initial population increase from 0.07170.0717 to 1.88761.8876, peak prevalence from 0.403%0.403\% to 3.211%3.211\%, mortality from 0.135%0.135\% to 3.519%3.519\%, and duration from 10921\,092 to 3189.53\,189.5 generations.

Run-to-run variation in infectious duration is greatest at 41%41\%: its IQR is 1566.251\,566.25 generations, compared with 669.25669.25 at 40%40\% and 914.5914.5 at 42%42\%.

Infectious-duration IQR by density

Epidemic outcomes by density

Resurgence count is explained below.

#Mortality And Surviving Population

Above the transition, increased initial density supports many cycles of infection and substantially higher mortality. Median mortality reaches 30.783%30.783\% of the initial population at 60%60\% density.

Median final healthy grid density nevertheless stays in a narrow band from 40.521%40.521\% at 42%42\% to 41.493%41.493\% at 60%60\%. This convergence is consistent with the regime transition observed between 41%41\% and 42%42\%: at initial densities of 40%40\% or below, infection usually becomes extinct before spreading through enough of the population to cause substantial mortality, so final healthy density remains close to initial density. Above the transition, infection reaches a much larger part of the population and deaths progressively reduce occupancy. The epidemic therefore appears to prune densely populated grids toward a density at which continued transmission becomes difficult.

Mortality and final healthy density

#Timing And Trajectories

Median duration increases throughout the sustained-epidemic regime, reaching 6877.56\,877.5 generations at 60%60\%. Time to peak behaves differently: it is largest at 42%42\% with a median of 10101\,010 generations, then falls to 733733 at 43%43\%, 535.5535.5 at 45%45\%, 409409 at 50%50\%, and 334334 at 60%60\%. Once dense local connectivity supports sustained spread, higher density produces an earlier, larger peak but a longer period of repeated circulation.

The spaghetti plots show all 3030 prevalence trajectories per density. Color denotes final mortality and the black curve is the per-generation median.

Infectious-prevalence trajectories

#Resurgence Count

Resurgence is a retrospective event definition applied to prevalence, not a native engine metric.

  1. Smooth prevalence with an 1111-generation centered mean. The window suppresses short cell-level fluctuations while keeping 55 generations of context on either side.
  2. Start a candidate wave when smoothed prevalence reaches 0.15%0.15\%.
  3. End it after smoothed prevalence remains at or below 0.05%0.05\% for 2525 consecutive generations.
  4. Treat the first candidate as the initial outbreak.
  5. Count a later candidate as a resurgence only if its smoothed peak is at least 88 times the preceding smoothed trough, it spends at least 1010 generations at or above 0.15%0.15\%, and the trough is above 00.

The event's reported peak prevalence is the unsmoothed maximum inside its interval. Because the smoother is centered, this is an offline detector that uses future and past values; it is not suitable for real-time alerts.

Across all 330330 runs:

  • 300300 runs have no resurgence.
  • 2525 have 11.
  • 44 have 22.
  • 11 has 33.
  • 3030 runs, or 9.09%9.09\%, have at least 11, for 3636 qualifying resurgence events in total.
  • No qualifying resurgence occurs at 30%30\% or 35%35\%.

Counts are sparse and non-monotonic, so they support occasional post-outbreak resurgence but not a density-dependent resurgence law.

Detected resurgence peaks

#Three-Resurgence Example

At 40%40\% density, run 1717 contains 33 qualifying resurgences after its initial outbreak. In the recording, rendered at 30 generations/s30\text{ generations/s}, the first occurs at generation 660660 (00:22\sim00{:}22), the second at generation 17001\,700 (00:57\sim00{:}57), and the third at generation 24002\,400 (01:20\sim01{:}20). They subsequently peak at generations 980980 (00:32\sim00{:}32), 19561\,956 (01:05\sim01{:}05), and 27202\,720 (01:30\sim01{:}30), with unsmoothed peak prevalences of approximately 0.345%0.345\%, 0.567%0.567\%, and 0.776%0.776\%, respectively.
The recording provides a concrete example of the retrospective event definition above.

#Representative Runs

The transition figure uses 41%41\%, where the infection-episode IQR is largest, and selects actual runs nearest the 10th10\text{th}, 50th50\text{th}, and 90th90\text{th} episode percentiles:

Representative role Run EpisodesN0\frac{\textbf{Episodes}}{N_0} Peak prevalence Mortality Duration
Nearest p10\mathrm{p}_{10} 66 0.002980.00298 0.0632%0.0632\% 0.0037%0.0037\% 264264
Nearest p50\mathrm{p}_{50} 44 0.049270.04927 0.2809%0.2809\% 0.0893%0.0893\% 11661\,166
Nearest p90\mathrm{p}_{90} 3030 0.755240.75524 1.5825%1.5825\% 1.3619%1.3619\% 23582\,358

Representative Epidemic transition runs

#Transition Runs In Motion

These recordings use the same 41%41\% initial density and correspond to the low-, median-, and high-outcome representatives above. They expose the run-to-run variation hidden by a density-level median.

Low outcome – Run 6\mathbf{6} Median outcome – Run 4\mathbf{4} High outcome – Run 30\mathbf{30}
0.0632%0.0632\% peak prevalence
264264 generations
0.2809%0.2809\% peak prevalence
11661\,166 generations
1.5825%1.5825\% peak prevalence
23582\,358 generations

#Typical Runs Across Regimes

The following median-like runs contrast rapid extinction at 30%30\% with sustained circulation and extensive mortality at 60%60\%. To keep the long 60%60\% recording practical to view, it is rendered at 120 generations/s120\text{ generations/s}, or 4×4\times the 30 generations/s30\text{ generations/s} used for the other videos. Its accelerated playback is a presentation choice made to reduce size and length and should not be used to compare visual propagation speed directly with other recordings.

Typical 30%\mathbf{30\%} – Run 20\mathbf{20} Typical 60%\mathbf{60\%} – Run 14\mathbf{14}
0.0344%0.0344\% peak prevalence
0.0013%0.0013\% mortality
152152 generations
15.327%15.327\% peak prevalence
30.735%30.735\% mortality
62736\,273 generations
Game of Life: Tribes · Simulation v1.0.0 · Open source