Class CSD
- All Implemented Interfaces:
Runnable,IBS.HasIBS,IBS.HasIBS.CPairs,MilestoneListener,Features,Features.Pairs,Features.Payoffs,HasDistribution,HasDistribution.Strategy,HasHistogram,HasHistogram.Degree,HasHistogram.Fitness,HasHistogram.Strategy,HasMean,HasMean.Fitness,HasMean.Traits,HasPop2D,HasPop2D.Fitness,HasPop2D.Traits,HasPop3D,HasPop3D.Fitness,HasPop3D.Traits,CLOProvider
- Direct Known Subclasses:
scanCSD
In the continuous prisoner's dilemma the payoff to an \(x\)-strategist facing an individual with strategy \(y\) is thus given by \[P(x,y)=B(y)-C(x),\] which means the benefits only depend on the opponents trait while the costs only depend on the player's own trait. Clearly the only way for the \(x\) strategist to increase its payoff is to lower the investment level. The same applies to the \(y\) strategist and hence without any further mechanisms the investment levels will invariably decrease and cooperation vanish, just as in the traditional discrete prisoner's dilemma with the two fixed traits of cooperation and defection.
In contrast, in the continuous snowdrift game the payoff to an
\(x\)-strategist facing an individual with strategy \(y\) is thus given by
\[Q(x,y)=B(x+y)-C(x),\]
which means that the benefit that the \(x\)-strategist obtains is based on
the total cooperative investment made by both agents, while the costs depend
only on its own trait, just as before. Because of \(B(x)>C(x)\) this
implies that it is always advantageous for an individual to make a (small)
cooperative investment if its partner is not doing so. As a consequence we
might expect that cooperative investment levels evolve towards some non-zero
level. As it turns out, the evolutionary dynamics is much richer and is
analytically tractable using the framework of adaptive dynamics. In
particular, it is possible that a population spontaneously split through
evolutionary branching into two stably co-existing phenotypes of high and low
investors. This dynamic provides an intriguing evolutionary pathway for the
origin and emergence discrete traits as assumed in classical
2×2 interactions.
- Author:
- Christoph Hauert
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class Continuous
Continuous.Benefits, Continuous.Costs, Continuous.Traits2PayoffNested classes/interfaces inherited from interface Features
Features.Groups, Features.Multispecies, Features.Pairs, Features.Payoffs, Features.StaticNested classes/interfaces inherited from interface HasDistribution
HasDistribution.StrategyNested classes/interfaces inherited from interface HasHistogram
HasHistogram.Degree, HasHistogram.Fitness, HasHistogram.StatisticsProbability, HasHistogram.StatisticsStationary, HasHistogram.StatisticsTime, HasHistogram.StrategyNested classes/interfaces inherited from interface HasMean
HasMean.Fitness, HasMean.TraitsNested classes/interfaces inherited from interface HasPop2D
HasPop2D.Fitness, HasPop2D.TraitsNested classes/interfaces inherited from interface HasPop3D
HasPop3D.Fitness, HasPop3D.TraitsNested classes/interfaces inherited from interface IBS.HasIBS
IBS.HasIBS.CGroups, IBS.HasIBS.CPairs, IBS.HasIBS.DGroups, IBS.HasIBS.DPairs, IBS.HasIBS.MCGroups, IBS.HasIBS.MCPairs -
Field Summary
Fields inherited from class Continuous
cloBenefits, cloCosts, cloTraitRange, cxMaxMonoScore, cxMaxScore, cxMinMonoScore, cxMinScore, extremalScoresSet, MINMAX_ITER, MINMAX_STEPS, mutation, population, species, traitMax, traitMin, traits2payoffFields inherited from class Module
active, cloDeathRate, cloGeometry, cloNGroup, cloNPopulation, cloPhase2DAxes, cloTraitColors, cloTraitDisable, cloTraitNames, competition, deathRate, defaultColor, engine, ibs, ID, interaction, logger, map2fitness, markers, model, nActive, name, nGroup, nPopulation, nTraits, opponent, playerUpdate, structure, traitColor, traitName, trajectoryColor, VACANT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns a string with information about the authors of the module.getKey()Returns identifier of the active module.getTitle()Returns title of active module, e.g.voidload()Load new module and perform basic initializations.doublepairScores(double me, double[] groupTraits, int len, double[] groupPayoffs) Calculate the payoff/score for modules with interactions in pairs and a single continuous trait.Methods inherited from class Continuous
add, check, collectCLO, getMaxMonoPayoff, getMaxPayoff, getMinMonoPayoff, getMinPayoff, getMutation, getTraitMax, getTraitMin, setExtremalScores, setTraitRange, unloadMethods inherited from class Module
createGeometry, createIBSPop, createModel, getActiveTraits, getCompetitionGeometry, getDeathRate, getGeometry, getIBSPopulation, getID, getInteractionGeometry, getMap2Fitness, getMarkers, getMeanColors, getModelTypes, getNActive, getName, getNGroup, getNPopulation, getNRoles, getNSpecies, getNTraits, getOpponent, getPlayerUpdate, getSpecies, getSpecies, getTraitColor, getTraitColors, getTraitName, getTraitNames, getTrajectoryColor, getVacant, init, processColorMap, reset, run, setActiveTraits, setDeathRate, setGeometries, setIBSPopulation, setModel, setName, setNGroup, setNPopulation, setNTraits, setOpponent, setTraitColors, setTraitNames, setTrajectoryColorMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CLOProvider
adjustCLOMethods inherited from interface Features
isMultispecies, isStaticMethods inherited from interface Features.Pairs
isPairwiseMethods inherited from interface Features.Payoffs
getMap2Fitness, getMaxMonoPayoff, getMaxPayoff, getMinMonoPayoff, getMinPayoff, isNeutralMethods inherited from interface HasDistribution
getNTraits, getTraitNameMethods inherited from interface HasHistogram
getCustomLevels, getNTraits, getTraitColorsMethods inherited from interface IBS.HasIBS
createIBSMethods inherited from interface MilestoneListener
modelDidInit, modelDidReset, modelLoaded, modelRelaxed, modelRunning, modelSettings, modelStopped, modelUnloaded, moduleLoaded, moduleRestored, moduleUnloaded
-
Constructor Details
-
CSD
Create a new instance of the module for continuous games.- Parameters:
engine- the manager of modules and pacemaker for running the model
-
-
Method Details
-
load
public void load()Description copied from class:ModuleLoad new module and perform basic initializations.- Overrides:
loadin classContinuous- See Also:
-
getKey
Description copied from class:ModuleReturns identifier of the active module. For example, 2x2 games inTBTreturn "2x2". This corresponds to the argument for the--moduleoption to load a particular module. The default is to use the class name. -
getAuthors
Description copied from class:ModuleReturns a string with information about the authors of the module.- Overrides:
getAuthorsin classModule- Returns:
- the names of the authors
-
getTitle
Description copied from interface:FeaturesReturns title of active module, e.g. 2x2 games inTBTreturns "2x2 Games". -
pairScores
public double pairScores(double me, double[] groupTraits, int len, double[] groupPayoffs) Description copied from interface:IBS.HasIBS.CPairsCalculate the payoff/score for modules with interactions in pairs and a single continuous trait. The focal individual has traitmeand the traits of itsleninteraction partners are given ingroup. The payoffs/scores for each of thelenopponent traits must be stored and returned in the arraypayoffs.Note:
Only the firstlenentries ingroupare guaranteed to exist and have meaningful values. The population structure may restrict the size of the interaction group.len≤nGroupalways holds.Important:
must be overridden and implemented in subclasses that define game interactions between pairs of individuals (nGroup=2,pairwise=true), otherwise seeIBS.HasIBS.CGroups.groupScores(double, double[], int, double[]).- Specified by:
pairScoresin interfaceIBS.HasIBS.CPairs- Parameters:
me- the trait of the focal individualgroupTraits- the traits of the group memberslen- the number of memebrs in the groupgroupPayoffs- the array for returning the payoffs/scores for each group member- Returns:
- the total (accumulated) payoff/score for the focal individual
-