Group Selection
Group selection adds a second level of selection on top of individual competition. Groups whose members cooperate more produce higher average fitness, and periodically the most successful group is copied into the least successful group — selection acts on groups as well as on individuals.
How It Is Implemented Here
Sites are partitioned into a fixed number of groups at initialisation. Within each step, individual Moran replacement proceeds normally based on individual fitness scores. Every group_selection_interval steps a between-group event fires: the group with the highest mean fitness is copied into the group with the lowest mean fitness, replacing all traits and lineage labels in the sink group with randomly sampled copies from the source group.
This implements a two-level selection process:
- Within-group: individual Moran replacement based on individual scores
- Between-group: periodic copying of the best group into the worst group
Key Parameters
| Parameter | Default | Role |
|---|---|---|
group_count | 8 | Number of groups the population is divided into |
group_selection_interval | 25 | Steps between between-group selection events |
group_selection_mode | "copy_best_group_into_worst_group" | Between-group replacement rule |
B_plus_scale | 1.0 | Scales cooperative benefit produced per unit trait |
C_scale | 0.2 | Private cost per unit trait |
Python Module Layout
moran_models/nowak_mechanisms/group_selection/
__init__.py
group_selection_model.py
group_selection_pygame_ui.py
config/
group_selection_config.py
Usage
./.conda/bin/python -m moran_models.nowak_mechanisms.group_selection.group_selection_model
Live viewer:
./.conda/bin/python -m moran_models.nowak_mechanisms.group_selection.group_selection_pygame_ui
See Also
- Spatial Altruism — Mitteldorf & Wilson (2000) explicitly frame their spatial viscosity model as a group-selection argument, not a network-reciprocity one, and one of the two authors, David Sloan Wilson, is among the field's most prominent group-selection theorists. Their harsher, variable-density variants let patches dominated by altruists sustain a higher local population density than patches dominated by non-altruists — the same between-group-productivity logic this page formalizes through its own periodic best-group-into-worst-group event. The mechanism is realized very differently, though: this page partitions sites into a fixed number of discrete groups from the outset, while Mitteldorf & Wilson never define an explicit group boundary at all — patches emerge and dissolve continuously as a byproduct of the same spatial lottery that drives individual-level competition, so "group" membership there is implicit and constantly shifting rather than a fixed partition.
References
- Nowak, M. A., Tarnita, C. E., & Wilson, E. O. (2010). The evolution of eusociality. Nature, 466, 1057–1062. https://doi.org/10.1038/nature09205
- Nowak, M. A. (2006). Five rules for the evolution of cooperation. Science, 314(5805), 1560–1563. https://doi.org/10.1126/science.1133755