Mortality
In RISKANT, three mortality types are implemented (they are configurable via the parameter set):
- Longevity mortality (based on median longevities of castes)
- Starvation mortality (without food, an ant can survive a given number of days on average)
- Forager mortality (foragers are subject to additional risks, because they leave the nests)
Implementation Details
RISKANT.Core.mortality! — Method
mortality!(colony::Colony, params::Parameters)Computes the mortality of ants based on three mortality mechanisms: longevity, starvation, and foraging. The function iterates through all ants in the colony and applies the mortality mechanisms to determine if they die. It also removes dead ants from the colony and returns the list of dead ants and larvae.
The forager and longevity mortalities are based on Weibull probability functions:
RISKANT.Core._weibull_mortality — Method
Mortality probabilities are computed based on a Weibull distribution, which is commonly used in survival analysis to model time-to-event data. The shape parameter k controls the failure rate: if k > 1, the failure rate increases with age, which is appropriate for modeling longevity-based mortality. The scale parameter λ is derived from the parameter median age, ensuring that the median survival time matches the specified value.
We compute the conditional probability: P(death at age age | survival until age-1)
More information on this approach can be found here: https://web.stanford.edu/~lutian/coursepdf/unit1.pdf
Starvation Mortality
Starvation mortality adds an additional layer of mortality probability:
RISKANT.Core._starvation_mortality — Method
If an ant has no more energy, it dies with a probability of 1/antstarvationlimit per day. This means that on average, an ant can survive for 'antstarvationlimit' days without food before it dies of starvation.