Glossary
UNDER CONSTRUCTION
THE BIG PICTURE (population is to player as graph is to vertex)
A player is an individual member of the population being modeled. If the population is structured, that is, modeled with one or more graphs, each player occupies a vertex (a position, a node) in each graph, and each vertex is occupied by a player. This being so, we sometimes say "player" to refer to their "vertex" and vice versa.
Player
A player's traits include their inherent fitness. If they reproduce, their offspring inherits a copy of their traits. If they imitate another player, they adopt the other player's traits. If mutation happens, their traits may be modified. If as usual an interaction game is being played, their traits determine their strategy which will impact their behavior, which will impact how much the game pays off for them, which will increase their fitness.
Sometimes when the situation is simplified, like traits == strategy == behavior (for instance every players is either a Defector or a Cooperator and that's their sole trait and their strategy and their behavior) then the word "strategy" is often used for trait or behavior too.
Graphs
A graph models a relation between players. It is a list, for each player p, of the players that p considers to be its neighbors in the relation modeled by the graph. Often the graph is undirected (bidirected), i.e. whenever p is among v's neighbors, v is among p's neighbors. If the graph contains even one exception to that rule, it is called a directed graph. Unrequited neighborliness. There are two logically distinct relations that are represented by graphs in Evoludo (though often they are identical, which simplifies things for all concerned), called interaction and replacement.
Replacement
In the replacement relation your neighbors are the players who might die to be replaced by your offspring, or who might imitate you. If the replacement graph is undirected, one could think of the graph vertices as territories in a territorial species. The replacement graph would then model which territories adjoin, under the assumption that territories are static and deaths are replaced by births from adjacent territories, to keep all territories occupied by exactly one player.
Interaction
In the interaction relation your neighbors are the players with whom you could choose to play a game. The interaction graph is usually undirected, and is often equal to the replacement graph.
Time
Infinite Populations
For infinite populations time is deterministically modeled. When using numerical integration of ordinary differential equations (ODE), the time increment is automatically chosen by the integrator (Fifth-order Runge-Kutta method with adaptive step size). When using numerical integration of partial differential equations (PDE), the time increment is an adjustable parameter.
Finite Populations
For finite populations time is simulated in units of Monte-Carlo steps (MC steps). If the population size is , then a single MC step consists of individual player actions.
A player who acts may imitate a neighbor, they may reproduce (prompting a neighbor to die to make room for the offspring), they may die (prompting a neighboring player to reproduce to replace them), all of which may change someone's game strategy and payoffs. Which of these actions occur, and in what order, is governed primarily by the population update settings.
synchronous time
All players act simultaneously, in parallel, each time step. This models situations where external influences such as diurnal rhythms or seasonal changes lead to a synchronization of the breeding season or where competitive interactions are synchronized under harsh environmental conditions such as occur in the arctic or in a desert.
asynchronous time
Under favorable climatic conditions animals may breed and reproduce throughout the year. To model this, during each time step a sequence of players are chosen at random (with replacement) to act in turn. In a given time step, some players may not be chosen to act at all, and others may be chosen multiple times.
If a player is changed, that player's game payoffs are calculated by playing a round of games with their interaction neighbors.
lingering asynchronous time
The payoffs of the neighbors who play with the changed player are averaged in with their past interactions. The change builds on whatever fitness they had, modeling biology where the effects of all past interactions impact fitness.
memoryless asynchronous time
The payoffs of the players who play with the changed player are recalculated from scratch, modeling biology where earlier interactions have no residual effect on fitness.
Reproduction and Imitation
Draw vs Selection for Fitness
In this documentation we attach special meaning to the terms draw and select. To draw a player is to chose a player at random with no regard for fitness. Whereas to select a player is to chose a player weighted by their fitness, i.e. fitter players have a greater chance of being chosen. Players are always selected to reproduce, and drawn to die.
birth and death
To give birth is to be selected to reproduce. Your offspring replaces someone in your replacement group. To die is to be drawn to be replaced by some neighbor's offspring, a neighbor that has you in their replacement group. Which happens first is important, see birth-death and death-birth.
imitation
construction notes: uses interaction.out exclusively, never touches replacement (reproduction.out). Everybody evaluates change of strategy first (includes possibility of mutation), so one action can cause multiple strategy updates. memoryless. Assume pairwise: Since it resets(zeros) all scores in group, and recalcs scores solely based on games with me, it seems that the scores of the group reflect only on their games with me, not with other neighbors of theirs...