egttools.numerical.MLSTraulsen¶
- class MLSTraulsen(self: egttools.numerical.numerical_.MLSTraulsen, nb_generations: SupportsInt | SupportsIndex, nb_strategies: SupportsInt | SupportsIndex, group_size: SupportsInt | SupportsIndex, nb_groups: SupportsInt | SupportsIndex, w: SupportsFloat | SupportsIndex, strategies_freq: Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]'], payoff_matrix: Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]', 'flags.c_contiguous'])¶
Bases:
pybind11_objectMulti-level selection following Traulsen & Nowak (2006).
A population of m groups each of maximum size n. In each step an individual is selected proportional to its fitness and reproduces; if the group exceeds n it either splits (probability q) or ejects a random member (probability 1-q). Migration probability lambda moves offspring to a randomly chosen other group.
- Parameters:
nb_generations (int) – Maximum number of Moran steps per run.
nb_strategies (int) – Number of distinct strategies.
group_size (int) – Maximum group capacity n (must be >= 4).
nb_groups (int) – Number of groups m.
w (float) – Intensity of selection.
strategies_freq (np.ndarray) – Initial frequency of each strategy (must sum to 1).
payoff_matrix (np.ndarray) – Square (nb_strategies x nb_strategies) payoff matrix.
Methods
Overloaded function.
Overloaded function.
Estimate gradient of selection (T+ - T-) for each population configuration.
Attributes
- __init__(self: egttools.numerical.numerical_.MLSTraulsen, nb_generations: SupportsInt | SupportsIndex, nb_strategies: SupportsInt | SupportsIndex, group_size: SupportsInt | SupportsIndex, nb_groups: SupportsInt | SupportsIndex, w: SupportsFloat | SupportsIndex, strategies_freq: Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]'], payoff_matrix: Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]', 'flags.c_contiguous']) None¶
- __new__(**kwargs)¶
- __repr__(self: egttools.numerical.numerical_.MLSTraulsen) str¶
- evolve(*args, **kwargs)¶
Overloaded function.
evolve(self: egttools.numerical.numerical_.MLSTraulsen, q: typing.SupportsFloat | typing.SupportsIndex, w: typing.SupportsFloat | typing.SupportsIndex, init_state: typing.Annotated[numpy.typing.NDArray[numpy.uint64], “[m, 1]”]) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, 1]”]
Run one Moran simulation and return the final strategy frequencies.
evolve(self: egttools.numerical.numerical_.MLSTraulsen, q: typing.SupportsFloat | typing.SupportsIndex, w: typing.SupportsFloat | typing.SupportsIndex, lambda: typing.SupportsFloat | typing.SupportsIndex, init_state: typing.Annotated[numpy.typing.NDArray[numpy.uint64], “[m, 1]”]) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, 1]”]
Run one Moran simulation with migration and return the final strategy frequencies.
- fixation_probability(*args, **kwargs)¶
Overloaded function.
fixation_probability(self: egttools.numerical.numerical_.MLSTraulsen, invader: typing.SupportsInt | typing.SupportsIndex, resident: typing.SupportsInt | typing.SupportsIndex, nb_runs: typing.SupportsInt | typing.SupportsIndex, q: typing.SupportsFloat | typing.SupportsIndex, w: typing.SupportsFloat | typing.SupportsIndex) -> float
Estimate fixation probability of invader over resident (no migration).
fixation_probability(self: egttools.numerical.numerical_.MLSTraulsen, invader: typing.SupportsInt | typing.SupportsIndex, resident: typing.SupportsInt | typing.SupportsIndex, nb_runs: typing.SupportsInt | typing.SupportsIndex, q: typing.SupportsFloat | typing.SupportsIndex, lambda: typing.SupportsFloat | typing.SupportsIndex, w: typing.SupportsFloat | typing.SupportsIndex) -> float
Estimate fixation probability of invader over resident (with migration).
- gradient_of_selection(self: egttools.numerical.numerical_.MLSTraulsen, invader: SupportsInt | SupportsIndex, resident: SupportsInt | SupportsIndex, nb_runs: SupportsInt | SupportsIndex, w: SupportsFloat | SupportsIndex, q: SupportsFloat | SupportsIndex = 0.0) Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']¶
Estimate gradient of selection (T+ - T-) for each population configuration.
- __annotations__ = {}¶
- property generations¶
- property group_size¶
- property max_pop_size¶
- property nb_groups¶
- property nb_strategies¶
- property payoff_matrix¶
- property selection_intensity¶