Glossary: Difference between revisions

From EvoLudo
(Glossary of terms)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
UNDER CONSTRUCTION
UNDER CONSTRUCTION


;THE BIG PICTURE (population, player, graph, vertex): A player is an individual member of the population being modeled.  A player has one or more [[#Traits|traits]].  If finite, the size of the population is <math>N</math>.  If the population is structured, that is, modeled with one or more [[#Graphs|graphs]], each player occupies a vertex (a position, a node) in each [[#Graphs|graph]], and each vertex is occupied by a player.  This being so, we sometimes say "player" to refer to their "vertex" and vice versa.
==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 a [[#Graph|graph]], each player occupies a vertex (a position, a node) in the [[#Graph|graph]], and each vertex is occupied by a player.  This being so, we sometimes say "player" to refer to their "vertex" and vice versa.


;Traits: A player's traits determine their inherent [[#Fitness|fitness]].  If they [[#Reproduction|reproduce]], their offspring gets a (perhaps [[#Mutation|mutated]]) copy of their traits.  If an interaction [[#Game|game]] is being played, their traits also determine their [[#Strategy|strategy]] which will impact their [[#Behavior|behavior]] which will impact how much the game [[#Payoff|pays off]] for them, which then also impacts their [[#Fitness|fitness]].
===Player===
A player's traits include their inherent [[#Draw vs Selection for Fitness|fitness]].  If they [[#Reproduction|reproduce]], their offspring inherits a copy of their traits.  If they imitate another player, they adopt the other player's traits. If [[#Mutation|mutation]] happens, their traits may be modified. If as usual an interaction [[#Game|game]] is being played, their traits determine their [[#Game|strategy]] which will impact their behavior, which will impact how much the game [[#Payoff|pays off]] for them, which will increase their [[#Draw vs Selection for Fitness|fitness]].


;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 three logically distinct relations that are represented by graphs in Evoludo (though often they are identical, which simplifies things for all concerned), called replacement, interaction and reference:
Sometimes when the situation is simple, like traits = [[#Game|strategy]] = behavior (for instance every players is either a Defector or a Cooperator and that's their sole trait and their [[#Game|strategy]] and their behavior) then the word "strategy" is often used for trait or behavior too.


:;Replacement: In the replacement graph your neighbors are the vertices where your [[#Reproduction|offspring]] could be put, or containing players that might [[#Imitation|imitate]] you. If the graph is undirected, one could think of the graph vertices as territories in a territorial speciesThe 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. Your replacement ''group'' is your replacement neighbors randomly subselected or augmented, see [[#Random Neighbors|random neighbors]].
==Graph==
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. Usually the graph is ''undirected'' (bidirected), i.e. whenever p is among v's neighbors, v is among p's neighborsIf the graph contains even one exception to that rule, it is called a ''directed'' graph.  Unrequited neighborliness.  


:;Interaction: In the interaction graph your neighbors are the players with whom you could play a game. The interaction graph is usually undirected, and is often equal to the replacement graph.  Your interaction ''group'' is your interaction neighbors randomly subselected or augmented, see [[#Random Neighbors|random neighbors]].
There are two logically distinct relations that are represented by a graph in ''Evoludo'', called [[#Interaction|interaction]] and [[#Replacement|replacement]].  For the moment both concepts have the same graph, so that for every player, its interaction neighbors and its replacement neighbors are the same neighbors.


:;Reference: In the reference graph your neighbors are the players whom you look at to calculate whether to change your game strategy. It is usually set equal either to the inverse of the replacement graph (if v is a neighbor of p, then in the inverse graph, p is a neighbor of v, which only makes a difference for directed graphs), or to the interaction graph.
===Interaction===
In the interaction relation your neighbors are the players with whom you could choose to play a [[#Game|game]].  


===Replacement===
In the replacement relation your neighbors are the players who might die to be replaced by your [[#Reproduction|offspring]], or who might [[#Imitation|imitate]] you.  In both cases they take on your [[#Player|traits]].


;Time: '''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 [[Parameters/PDE#Time increment|time increment]] is an adjustable parameter.  
If the replacement graph is undirected, one could think of the graph vertices as territories in a territorial species, under the assumption that each territory is occupied by exactly one player.  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.


:'''For finite populations''' time is simulated in units of Monte-Carlo steps (MC steps). If the population size is <math>N</math>, then a single MC step consists of <math>N</math> individual [[#Action|actions]].
==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 [[Parameters/PDE#Time increment|time increment]] is an adjustable parameter.  


:;synchronous time: All <math>N</math> players [[#Action|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.
===Finite Populations===
For finite populations time is simulated in units of Monte-Carlo steps (MC steps). If the population size is <math>N</math>, then a single MC step consists of <math>N</math> individual player actions. A player action is a potential transfer of traits, via reproduction or imitation of some neighbor.


:;asynchronous time: Under favorable climatic conditions animals may breed and reproduce throughout the year. To model this, during each time step a sequence of <math>N</math> players are chosen at random (with replacement) to [[#action|act]] in turn. In a given time step, some players may not be chosen at all, and others may be chosen multiple times.
An player action may cause a player to [[#Interaction|interact]] (play games) with some of its neighbors, or to[[#Imitation|imitate]] a neighbor, or to [[#Reproduction|reproduce]] (prompting a neighbor to die to make room for the offspring), or to [[Parameters/Population#Moran process (death-birth)|die]] (prompting a neighboring player to reproduce to replace them), all of which may change their (or a neighbor's) traits, i.e. game [[#Game|strategy]] and [[#Game|payoffs]]. Which of these actions occur, and in what order, is governed primarily by the [[Parameters/Population#Population update|population update settings]].


::An [[#Action|action]] may change the [[#traits|traits]] of some vertex's playerWhen a player at a vertex has changed, that player's game [[#payoff|payoffs]] are calculated by playing a [[#round|round]] of games with their [[#Interaction|interaction group]].
If you wish to model that [[#Interaction|interactions]] occur only a few times per action, then use parameter nInteractions to indicate the number of interactions per actionFor instance, if each player has four interaction neighbors, and nInteractions was 3 (or 7), then an action would play games with a randomly chosen 3 (or 7) of the four neighbors, with replacement, and the scores accumulated or averaged.  Note that the chosen neighbors' scores will change too, since their scores reflect the additional games played.


::'''lingering''' asynchronous time: The payoffs of the neighbors who play with the changed player are averaged in with their past interactionsThe change builds on whatever fitness they had, modeling biology where the effects of all past interactions impact fitness.
If you wish to model interactions as much more frequent than actions, you can set the parameters so that whenever a vertex's traits change (via mutation, imitation, or death and replacement by someone else's offspring), the new player plays games with all their neighbors to arrive at the limiting case, as if nInteractions was infinite with averaged scoresNeighbors scores are also adjusted to reflect their score accounting for the change in their neighborhood.


::'''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|fitness]].
====synchronous time====
All <math>N</math> players act simultaneously, in parallel, each MC 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.


:;Action: A player that is chosen to act may [[#imitate|imitate]] a player in their [[#reproduction|reproduction neighborhood]], they may [[#Reproduction|reproduce]] (prompting a neighboring player to die to make room for the offspring), they may [[Parameters/Population#Moran process (death-birth)|die]] (prompting a neighboring player to reproduce to replace them), all of which may change someone's [[#Traits|traits]] and thence [[#game|game]] [[#Strategy|strategy]].  Which of these actions occur, and in what order, is governed primarily by the [[Parameters/Population#Population update|population update settings]].
====asynchronous time====
Under favorable climatic conditions animals may breed and reproduce throughout the year. To model this, during each MC step a sequence of <math>N</math> players are chosen at random (with replacement) to act in turn. This implies that in a given time step, some players may not be chosen to act at all, and others may be chosen multiple times.


==Reproduction and Imitation==


....Similarly, the time between subsequent reports of the state of the population can be customized....
===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 [[#Reproduction|reproduce]], and drawn to die; selected to be [[#Imitation:imitated]], drawn to imitate; in other words selected to be the source of [[#Player||traits]], and drawn to take on those traits.


--[[User:Fairfield|Fairfield]] 22:05, 13 March 2010 (UTC)
===birth and death===
To give birth is to be selected to reproduce.  Your offspring replaces one of your [[#Replacement|replacement]] neighbors. To die is to be drawn to be replaced by some neighbor's offspring, a neighbor that has you in their [[#Replacement|replacement]] neighborhood.  Which happens first is important, see [[Parameters/Population#Population update|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...
 
===mutation===
 
==Game==
===Strategy===

Latest revision as of 18:49, 19 April 2010

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 a graph, each player occupies a vertex (a position, a node) in the 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 simple, 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.

Graph

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. Usually 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 a graph in Evoludo, called interaction and replacement. For the moment both concepts have the same graph, so that for every player, its interaction neighbors and its replacement neighbors are the same neighbors.

Interaction

In the interaction relation your neighbors are the players with whom you could choose to play a game.

Replacement

In the replacement relation your neighbors are the players who might die to be replaced by your offspring, or who might imitate you. In both cases they take on your traits.

If the replacement graph is undirected, one could think of the graph vertices as territories in a territorial species, under the assumption that each territory is occupied by exactly one player.  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.

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 [math]\displaystyle{ N }[/math], then a single MC step consists of [math]\displaystyle{ N }[/math] individual player actions. A player action is a potential transfer of traits, via reproduction or imitation of some neighbor.

An player action may cause a player to interact (play games) with some of its neighbors, or toimitate a neighbor, or to reproduce (prompting a neighbor to die to make room for the offspring), or to die (prompting a neighboring player to reproduce to replace them), all of which may change their (or a neighbor's) traits, i.e. game strategy and payoffs. Which of these actions occur, and in what order, is governed primarily by the population update settings.

If you wish to model that interactions occur only a few times per action, then use parameter nInteractions to indicate the number of interactions per action. For instance, if each player has four interaction neighbors, and nInteractions was 3 (or 7), then an action would play games with a randomly chosen 3 (or 7) of the four neighbors, with replacement, and the scores accumulated or averaged. Note that the chosen neighbors' scores will change too, since their scores reflect the additional games played.

If you wish to model interactions as much more frequent than actions, you can set the parameters so that whenever a vertex's traits change (via mutation, imitation, or death and replacement by someone else's offspring), the new player plays games with all their neighbors to arrive at the limiting case, as if nInteractions was infinite with averaged scores. Neighbors scores are also adjusted to reflect their score accounting for the change in their neighborhood.

synchronous time

All [math]\displaystyle{ N }[/math] players act simultaneously, in parallel, each MC 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 MC step a sequence of [math]\displaystyle{ N }[/math] players are chosen at random (with replacement) to act in turn. This implies that in a given time step, some players may not be chosen to act at all, and others may be chosen multiple times.

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; selected to be #Imitation:imitated, drawn to imitate; in other words selected to be the source of |traits, and drawn to take on those traits.

birth and death

To give birth is to be selected to reproduce.  Your offspring replaces one of your replacement neighbors. To die is to be drawn to be replaced by some neighbor's offspring, a neighbor that has you in their replacement neighborhood.  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...

mutation

Game

Strategy