Class IBSMCPopulation
- Direct Known Subclasses:
IBSCPopulation
IBSCPopulation
.- Author:
- Christoph Hauert
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected IBS.HasIBS.MCGroups
For group interaction modulesmodule==groupmodule
holds andnull
otherwise.protected IBSC.Init
Type of initial configuration.private double[]
The array for calculating and storing the mean traits and their standard deviation.protected Continuous
The continuous module associated with this model.protected Mutation.Continuous
The mutation parameters.protected double[]
Temporary storage for the traits of the focal individual.protected double[]
Temporary storage for the scores of each participant prior to group interactions.protected double[]
Temporary storage for the traits of the focal individual before the update.(package private) IBSMCPopulation
The interaction partner/opponent of this populationopponent.getModule()==getModule().getOpponent()
.protected IBS.HasIBS.MCPairs
For pairwise interaction modulesmodule==pairmodule
holds andnull
otherwise.protected double[]
Temporary storage for traits of individuals in small sub-group interactions.protected double[]
Temporary storage for traits of individuals in group interactions.protected double[]
The array with the maximal values for each trait.protected double[]
The array with the minimal values for each trait.double[]
The array of individual traits.protected double[]
The array for temporarily storing traits during updates.Fields inherited from class IBSPopulation
adjustScores, competition, compGroup, consistencyCheckRequested, debugFocal, debugModel, debugModels, debugNModels, debugSame, distrMigrants, engine, fitness, groupScores, hasLookupTable, interaction, interactions, interGroup, isConsistent, isMultispecies, isNeutral, logger, map2fit, maxEffScoreIdx, maxFitness, maxScore, migrationType, minFitness, minScore, nMixedInter, nPopulation, nTraits, pAddwire, playerScoreAveraged, playerScoring, playerUpdate, pMigration, populationUpdate, pRewire, rng, scores, smallScores, staticmodule, sumFitness, syncFraction, tags, typeFitness, typeScores, VACANT
-
Constructor Summary
ConstructorsConstructorDescriptionIBSMCPopulation
(EvoLudo engine, Continuous module) Creates a population of individuals with multiple continuous traits for IBS simulations. -
Method Summary
Modifier and TypeMethodDescriptionvoid
adjustPairGameScoresAt
(int me) Adjusts scores of focal individual with indexme
and its neighbors afterme
changed trait.void
adjustScoreAt
(int index, double adjust) Adjust score of individual with indexindex
byadjust
and update all applicable helper variables, e.g.void
adjustScoreAt
(int index, double before, double after) Adjust score of individual with indexindex
frombefore
toafter
and update all applicable helper variables, e.g.boolean
check()
Check all model parameters for consistency and adjust if necessary (and feasible).boolean
Check if population has converged.void
commitTraitAt
(int me) The change of a trait of the player atindex
is stored in a temporary variable and must be committed before proceeding.void
After a synchronous update step the new state must be copied back to become the current state.private double
deltaTraits
(int a, int b) Measure the (Cartesian) distance between traits ata
andb
protected boolean
Check if scores can be adjusted rather than recalculated after an individual changed its trait.void
encodeTraits
(StringBuilder plist) Encode the traits of all individuals in the IBS model in aplist
inspiredXML
string.private void
gatherPlayers
(IBSGroup group) Gather the traits of all individuals in the interaction groupgroup
.void
get2DTraitHistogramData
(double[] bins, int trait1, int trait2) Creates 2D histogram for traitstrait1
andtrait2
.getInit()
Gets the type of the initial configuration and its arguments.void
getMeanFitness
(double[] mean) Returns the mean fitness of this population in the arraymean
.void
getMeanTraits
(double[] mean) Returns the mean trait(s) of this population in the arraymean
.Gets the status of the as a formatted string.<T> void
getTraitData
(T[] colors, ColorMap<T> colorMap) Returns the traits of all individuals in this population coded as colors in the arraycolors
using the mapcolorMap
.void
getTraitHistogramData
(double[][] bins) Creates a histogram for each trait separately (if there are multiple) and returns the result in the arraybins
where the first index denotes the trait and the second refers to the bin.void
getTraitHistogramData
(double[] bins, int trait) Creates a histogram for the trait with indextrait
and returns the result in the arraybins
.double[]
Get the maxima for all traits.double[]
Get the minima for all traits.getTraitNameAt
(int index) Gets the formatted name of the trait of the individual at siteindex
.getTraits
(int digits) Gets all traits of all individuals.boolean
haveSameTrait
(int a, int b) Check if individuals with indexa
and indexb
have the same traits.void
init()
Initialize the model.boolean
isSameTrait
(int a) Check if individual with indexa
has switched traits.protected boolean
maybeMutateAt
(int focal, boolean switched) Consider mutating the trait of the focal individual with indexfocal
.protected void
maybeMutateMoran
(int source, int dest) Consider mutating the trait of the parent individual with indexsource
.boolean
mouseHitNode
(int hit, boolean alt) Called from GUI if node/individual with indexidx
received a mouse click or tap and indicates whether thealt
-key had been pressed.int
mutateAt
(int focal) Mutate the trait of the focal individual with indexfocal
.private boolean
mutateAt
(int focal, boolean switched) Mutate all traits of the focal individual with indexfocal
ifmutate == true
.void
playGroupGameAt
(IBSGroup group) Play a group interaction with the individuals ingroup
.void
playPairGameAt
(IBSGroup group) Play a pairwise interaction with the individuals ingroup
.boolean
preferredPlayerBest
(int me, int best, int sample) For deterministic updating with multiple traits (more than two), it must be specified which trait is the preferred one.void
Prior to a synchronous update step the current state must be duplicated in preparation for processing the next step.void
reset()
Reset the model.boolean
restoreTraits
(Plist plist) Restore the traits of all individuals encoded in theplist
inspiredmap
ofkey, value
-pairs.void
Sets the type of the initial configuration and any accompanying arguments.void
setOpponentPop
(IBSPopulation opponent) Set the interaction partner/opponent of this population.void
swapTraits
(int a, int b) Swap traits of individuals with indexa
and indexb
.void
updateFromModelAt
(int index, int modelPlayer) Update individual with indexme
and adopt the trait of individual with indexyou
.void
yalpGroupGameAt
(IBSGroup group) Counterpart ofIBSPopulation.playGroupGameAt(IBSGroup)
,IBSPopulation.playGameAt(int)
and/orIBSPopulation.playGameSyncAt(int)
.Methods inherited from class IBSPopulation
adjustGameScoresAt, becomesVacantAt, checkGeometry, createCompetitionGeometry, createInteractionGeometry, debugMarkChange, debugScores, debugUpdatePopulationAt, doBirthDeathMigration, doDeathBirthMigration, doDiffusionMigration, doMigration, doSyncMigration, encodeFitness, encodeGeometry, encodeInteractions, generateGeometry, getCompetitionGeometry, getCompGroup, getFitness, getFitnessAt, getFitnessData, getFitnessHistogramData, getFitnessNameAt, getFitnessNameAt, getInteractionGeometry, getInteractionsAt, getInterGroup, getMaxScore, getMigrationProb, getMigrationType, getMinScore, getModule, getNMean, getPlayerScoreAveraged, getPlayerScoring, getPopulationSize, getPopulationUpdate, getScoreAt, getScoreNameAt, getScores, getSpeciesUpdateRate, getSyncFraction, getTagAt, getTagData, getTagNameAt, getTags, getTotalFitness, isConsistent, isMonomorphic, isVacantAt, migrateMoran, mouseHitNode, mutate, nextBinomial, parseGeometry, pickFitFocalIndividual, pickFitFocalIndividual, pickFitNeighborAt, pickFitNeighborAt, pickFocalIndividual, pickFocalIndividual, pickFocalSite, pickFocalSite, pickNeighborSiteAt, playGameAt, playGameSyncAt, processScore, random01, random01d, random0n, random0N, randomGaussian, removeScoreAt, removeScoreAt, resetScoreAt, resetScores, resetTraits, restoreFitness, restoreGeometry, restoreInteractions, setAddwire, setConsistencyCheck, setMaxEffScoreIdx, setMigrationProb, setMigrationType, setPlayerScoreAveraged, setPlayerScoring, setPopulationUpdate, setRewire, setScoreAt, setSyncFraction, setTagAt, srandom, step, swapScoresAt, updateEffScoreRange, updateFitnessAt, updateMinMaxScores, updatePlayerAsync, updatePlayerAsyncAt, updatePlayerAt, updatePlayerAt, updatePlayerBest, updatePlayerBestHalf, updatePlayerBestResponse, updatePlayerEcology, updatePlayerEcologyAt, updatePlayerMoranBirthDeath, updatePlayerMoranBirthDeathAt, updatePlayerMoranDeathBirth, updatePlayerMoranDeathBirthAt, updatePlayerMoranImitate, updatePlayerMoranImitateAt, updatePlayerSwap, updateProportionalAbs, updateReplicatorHalf, updateReplicatorPlus, updateScoreAt, updateScoreAt, updateScoreAt, updateScores, updateThermal
-
Field Details
-
module
The continuous module associated with this model.Note: This deliberately hides
IBSPopulation.module
. The two variables point to the same object but this setup avoids unnecessary casts because onlyContinuous
modules generateIBSCPopulation
(s). -
pairmodule
For pairwise interaction modulesmodule==pairmodule
holds andnull
otherwise. Convenience field to reduce the number of (unnecessary) casts.- See Also:
-
groupmodule
For group interaction modulesmodule==groupmodule
holds andnull
otherwise. Convenience field to reduce the number of (unnecessary) casts.- See Also:
-
opponent
IBSMCPopulation opponentThe interaction partner/opponent of this populationopponent.getModule()==getModule().getOpponent()
. In intra-species interactionsopponent==this
. Convenience field.Note: This deliberately hides
IBSPopulation.opponent
. The two variables point to the same object but this setup avoids unnecessary casts because onlyDiscrete
modules generateIBSDPopulation
(s). -
mutation
The mutation parameters. -
traitMin
protected double[] traitMinThe array with the minimal values for each trait. Convenience variable to reduce calls to module.Note: Internally traits are always scaled to
[0, 1]
.- See Also:
-
traitMax
protected double[] traitMaxThe array with the maximal values for each trait. Convenience variable to reduce calls to module.Note: Internally traits are always scaled to
[0, 1]
.- See Also:
-
traits
public double[] traitsThe array of individual traits. The traits of individuali
are stored attraits[i * nTraits]
throughtraits[(i + 1) * nTraits - 1]
-
traitsNext
protected double[] traitsNextThe array for temporarily storing traits during updates. -
tmpGroup
protected double[] tmpGroupTemporary storage for traits of individuals in group interactions. -
smallTrait
protected double[] smallTraitTemporary storage for traits of individuals in small sub-group interactions. -
myTrait
protected double[] myTraitTemporary storage for the traits of the focal individual. -
oldTrait
protected double[] oldTraitTemporary storage for the traits of the focal individual before the update. Used for adjusting scores. -
oldScores
protected double[] oldScoresTemporary storage for the scores of each participant prior to group interactions. -
meantrait
private double[] meantraitThe array for calculating and storing the mean traits and their standard deviation. Must be of length> 2 * nTraits
. -
init
Type of initial configuration.- See Also:
-
-
Constructor Details
-
IBSMCPopulation
Creates a population of individuals with multiple continuous traits for IBS simulations.- Parameters:
engine
- the pacemaker for running the modelmodule
- the module that defines the game
-
-
Method Details
-
setOpponentPop
Description copied from class:IBSPopulation
Set the interaction partner/opponent of this population.- Overrides:
setOpponentPop
in classIBSPopulation
- Parameters:
opponent
- the interaction partner/opponent
-
checkConvergence
public boolean checkConvergence()Description copied from class:IBSPopulation
Check if population has converged. By defaulttrue
if population is monomorphic and no (zero) mutations. However, different implementations may have different criteria for convergence.Note: This tends to be less restrictive than reaching an absorbing state. Typically convergence is used as a criterion to abort simulations.
- Specified by:
checkConvergence
in classIBSPopulation
- Returns:
true
if converged.
-
getTraitMin
public double[] getTraitMin()Get the minima for all traits.- Returns:
- the array with the trait minima
-
getTraitMax
public double[] getTraitMax()Get the maxima for all traits.- Returns:
- the array with the trait maxima
-
updateFromModelAt
public void updateFromModelAt(int index, int modelPlayer) Description copied from class:IBSPopulation
Update individual with indexme
and adopt the trait of individual with indexyou
.Note: method must be subclassed to deal with different data types of traits but should also include a call to super.
- Overrides:
updateFromModelAt
in classIBSPopulation
- Parameters:
index
- the index of the focal individualmodelPlayer
- the index of the model individual to adopt trait from- See Also:
-
haveSameTrait
public boolean haveSameTrait(int a, int b) Description copied from class:IBSPopulation
Check if individuals with indexa
and indexb
have the same traits.- Specified by:
haveSameTrait
in classIBSPopulation
- Parameters:
a
- the index of first individualb
- the index of second individual- Returns:
true
if the two individuals have the same traits
-
isSameTrait
public boolean isSameTrait(int a) Description copied from class:IBSPopulation
Check if individual with indexa
has switched traits.Note: this test is only meaningful before trait are committed.
- Specified by:
isSameTrait
in classIBSPopulation
- Parameters:
a
- index of individual- Returns:
true
if trait remained unchanged- See Also:
-
swapTraits
public void swapTraits(int a, int b) Description copied from class:IBSPopulation
Swap traits of individuals with indexa
and indexb
.Note: the traits still need to be committed.
- Specified by:
swapTraits
in classIBSPopulation
- Parameters:
a
- the index of first individualb
- the index of second individual- See Also:
-
mutateAt
public int mutateAt(int focal) Description copied from class:IBSPopulation
Mutate the trait of the focal individual with indexfocal
. The mutated trait is committed and the scores updated.- Specified by:
mutateAt
in classIBSPopulation
- Parameters:
focal
- the index of the focal individual- Returns:
- the number of elapsed realtime units
-
maybeMutateAt
protected boolean maybeMutateAt(int focal, boolean switched) Description copied from class:IBSPopulation
Consider mutating the trait of the focal individual with indexfocal
. The trait of the focal individual is stored in the arraytraits
unless the focal individual switched trait. In that case the current trait is stored in the arraytraitsNext
.Important: The trait is not committed regardless of whether a mutation occurred.
- Specified by:
maybeMutateAt
in classIBSPopulation
- Parameters:
focal
- the index of the focal individualswitched
-true
if the focal individual switched trait- Returns:
true
if the trait of the focal individual changed
-
maybeMutateMoran
protected void maybeMutateMoran(int source, int dest) Description copied from class:IBSPopulation
Consider mutating the trait of the parent individual with indexsource
. The mutated trait is committed and the scores updated.- Specified by:
maybeMutateMoran
in classIBSPopulation
- Parameters:
source
- the index of the parent individualdest
- the index of the location for the offspring placement
-
mutateAt
private boolean mutateAt(int focal, boolean switched) Mutate all traits of the focal individual with indexfocal
ifmutate == true
. In all cases commit traits and update scores.- Parameters:
focal
- the index of the focal individual that gets updatedswitched
-true
if focal already switched trait- Returns:
true
if the trait has changed
-
preferredPlayerBest
public boolean preferredPlayerBest(int me, int best, int sample) For deterministic updating with multiple traits (more than two), it must be specified which trait is the preferred one.Summary: does 'me' prefer 'sample' over 'best'?
Here we introduce the convention the trait closer to
me
is preferred.- Specified by:
preferredPlayerBest
in classIBSPopulation
- Parameters:
me
- the index of the focal individualbest
- the index of the best performing individualsample
- the index of the sample type- Returns:
true
ifsample
is preferred overbest
-
deltaTraits
private double deltaTraits(int a, int b) Measure the (Cartesian) distance between traits ata
andb
- Parameters:
a
- the index where the traits of the first individual startb
- the index where the traits of the second individual start- Returns:
- the distance between
a
andb
-
gatherPlayers
Gather the traits of all individuals in the interaction groupgroup
.- Parameters:
group
- the interaction group
-
doAdjustScores
protected boolean doAdjustScores()Description copied from class:IBSPopulation
Check if scores can be adjusted rather than recalculated after an individual changed its trait. This requires that individuals interact with all their neighbours and that the structure of the population is not well-mixed. Some implementations may be able to extend adjustments to other structures. For example, adjusting scores is feasible in well-mixed populations for discrete traits.Requirements:
- Group.SAMPLING_ALL
- individuals need to be interacting with all their neighbours (not just a randomly selected subset).
- Geometry.MEANFIELD
- interactions with everyone are not feasible (impossible to model
efficiently), in general, for unstructured populations (subclasses can do
better, e.g. for discrete trait it is possible, see
IBSDPopulation.doAdjustScores()
). - playerScoreReset
- if scores are reset whenever an individual adopts the trait of another (regardless of whether an actual trait change occurred) then the expected number of interactions of each individual remains constant over time (even though the interaction count may differ for individuals on heterogeneous structures).
- Specified by:
doAdjustScores
in classIBSPopulation
- Returns:
true
if adjusting scores is feasible- See Also:
-
adjustScoreAt
public void adjustScoreAt(int index, double before, double after) Description copied from class:IBSPopulation
Adjust score of individual with indexindex
frombefore
toafter
and update all applicable helper variables, e.g.sumFitness
.Important: Use only to adjust scores of individuals that did not change trait.
- Specified by:
adjustScoreAt
in classIBSPopulation
- Parameters:
index
- the index of the individualbefore
- the score before adjustmentsafter
- the score after adjustments
-
adjustScoreAt
public void adjustScoreAt(int index, double adjust) Description copied from class:IBSPopulation
Adjust score of individual with indexindex
byadjust
and update all applicable helper variables, e.g.sumFitness
.- Specified by:
adjustScoreAt
in classIBSPopulation
- Parameters:
index
- the index of the individualadjust
- the score adjustment
-
playPairGameAt
Description copied from class:IBSPopulation
Play a pairwise interaction with the individuals ingroup
.- Specified by:
playPairGameAt
in classIBSPopulation
- Parameters:
group
- the group of individuals interacting in pairs
-
adjustPairGameScoresAt
public void adjustPairGameScoresAt(int me) Description copied from class:IBSPopulation
Adjusts scores of focal individual with indexme
and its neighbors afterme
changed trait. Only works ifadjustScores==true
.Important: new trait must not yet have been committed.
- Specified by:
adjustPairGameScoresAt
in classIBSPopulation
- Parameters:
me
- the index of the focal individual
-
playGroupGameAt
Description copied from class:IBSPopulation
Play a group interaction with the individuals ingroup
.- Specified by:
playGroupGameAt
in classIBSPopulation
- Parameters:
group
- the group of interacting individuals
-
yalpGroupGameAt
Description copied from class:IBSPopulation
Counterpart ofIBSPopulation.playGroupGameAt(IBSGroup)
,IBSPopulation.playGameAt(int)
and/orIBSPopulation.playGameSyncAt(int)
. Removes the payoffs of group interactions.- Specified by:
yalpGroupGameAt
in classIBSPopulation
- Parameters:
group
- the interaction group
-
prepareTraits
public void prepareTraits()Description copied from class:IBSPopulation
Prior to a synchronous update step the current state must be duplicated in preparation for processing the next step.- Specified by:
prepareTraits
in classIBSPopulation
- See Also:
-
commitTraits
public void commitTraits()Description copied from class:IBSPopulation
After a synchronous update step the new state must be copied back to become the current state.- Specified by:
commitTraits
in classIBSPopulation
- See Also:
-
commitTraitAt
public void commitTraitAt(int me) Description copied from class:IBSPopulation
The change of a trait of the player atindex
is stored in a temporary variable and must be committed before proceeding.- Specified by:
commitTraitAt
in classIBSPopulation
- Parameters:
me
- the index of the player that needs to have its new trait committed
-
getTraitData
Description copied from class:IBSPopulation
Returns the traits of all individuals in this population coded as colors in the arraycolors
using the mapcolorMap
. Used by GUI to visualize the current state of this IBS model. Colors are coded in different data types<T>
depending on the runtime environment (GWT or JRE) as well as the graph (e.g.PopGraph2D
orPopGraph3D
).- Specified by:
getTraitData
in classIBSPopulation
- Type Parameters:
T
- the type of color data (String
orMeshLambertMaterial
for GWT andColor
for JRE).- Parameters:
colors
- the array where the colors of all nodes are storedcolorMap
- the map that converts traits into colors
-
getTraitHistogramData
public void getTraitHistogramData(double[][] bins) Creates a histogram for each trait separately (if there are multiple) and returns the result in the arraybins
where the first index denotes the trait and the second refers to the bin.- Parameters:
bins
- the array to store the histogram(s)
-
getTraitHistogramData
public void getTraitHistogramData(double[] bins, int trait) Creates a histogram for the trait with indextrait
and returns the result in the arraybins
.- Parameters:
bins
- the array to store the histogram(s)trait
- the index of the trait
-
get2DTraitHistogramData
public void get2DTraitHistogramData(double[] bins, int trait1, int trait2) Creates 2D histogram for traitstrait1
andtrait2
. The result is returned in the linear arraybins
and arranged in a way that is compatible with square lattice geometries for visualization byDistribution
andPopGraph2D
(GWT only).- Parameters:
bins
- the linear array to store the 2D histogramtrait1
- the index of the first traittrait2
- the index of the second trait- See Also:
-
getTraits
Gets all traits of all individuals. The traits are returned as a formatted string with an accuracy ofdigits
decimals. With multiple traits they are listed sequentially for each individual.- Parameters:
digits
- the number of decimals of the formatted string- Returns:
- the formatted traits
-
getTraitNameAt
Description copied from class:IBSPopulation
Gets the formatted name of the trait of the individual at siteindex
.- Specified by:
getTraitNameAt
in classIBSPopulation
- Parameters:
index
- the index of the- Returns:
- the string describing the trait
-
getMeanTraits
public void getMeanTraits(double[] mean) Returns the mean trait(s) of this population in the arraymean
. Used by GUI to visualize the current state of this IBS model.For continuous traits the first
nTraits
entries represent the mean of each trait and the secondnTraits
entries denote the standard deviation.- Specified by:
getMeanTraits
in classIBSPopulation
- Parameters:
mean
- the array for returning the trait values- See Also:
-
getMeanFitness
public void getMeanFitness(double[] mean) Returns the mean fitness of this population in the arraymean
. Used by GUI to visualize the current state of this IBS model. Returnstrue
if data point belongs to the same time series andfalse
if a new series was started throughIBSPopulation.init()
orIBSPopulation.reset()
.For continuous traits the first
nTraits
entries represent the mean fitness of each trait and the secondnTraits
entries denote their standard deviation.- Specified by:
getMeanFitness
in classIBSPopulation
- Parameters:
mean
- the array for storing the mean fitness values- See Also:
-
getStatus
Description copied from class:IBSPopulation
Gets the status of the as a formatted string. This is typically used in the GUI to summarize the progress of the model.- Specified by:
getStatus
in classIBSPopulation
- Returns:
- the status of the population
-
check
public boolean check()Description copied from class:IBSPopulation
Check all model parameters for consistency and adjust if necessary (and feasible). Returnstrue
if adjustments require a reset. Free memory if possible and request a reset if new memory needs to be allocated.- Overrides:
check
in classIBSPopulation
- Returns:
true
if reset is required- See Also:
-
setInit
Sets the type of the initial configuration and any accompanying arguments. If eithertype
orargs
arenull
the respective current setting is preserved.- Parameters:
init
- the type and arguments of the initial configuration
-
getInit
Gets the type of the initial configuration and its arguments.- Returns:
- the type and arguments of the initial configuration
-
init
public void init()Description copied from class:IBSPopulation
Initialize the model. All parameters must be consistent. Subclasses must override this method to generate the initial trait configuration and call super.Note: Initialization leaves the interaction and competition structures untouched
- Overrides:
init
in classIBSPopulation
- See Also:
-
reset
public void reset()Description copied from class:IBSPopulation
Reset the model. All parameters must be consistent at this point. Allocate memory and initialize the interaction and competition structures. If structures include random elements, e.g. random regular graphs, a new structure is generated. Generate initial configuration. Subclasses must override this method to allocate memory for the trait and call super.- Overrides:
reset
in classIBSPopulation
- See Also:
-
mouseHitNode
public boolean mouseHitNode(int hit, boolean alt) Description copied from class:IBSPopulation
Called from GUI if node/individual with indexidx
received a mouse click or tap and indicates whether thealt
-key had been pressed.- Overrides:
mouseHitNode
in classIBSPopulation
- Parameters:
hit
- the index of the nodealt
-true
if thealt
-key was pressed- Returns:
false
if no actions taken
-
encodeTraits
Description copied from class:IBSPopulation
Encode the traits of all individuals in the IBS model in aplist
inspiredXML
string.- Specified by:
encodeTraits
in classIBSPopulation
- Parameters:
plist
- theStringBuilder
to write the encoded state to- See Also:
-
restoreTraits
Description copied from class:IBSPopulation
Restore the traits of all individuals encoded in theplist
inspiredmap
ofkey, value
-pairs.- Specified by:
restoreTraits
in classIBSPopulation
- Parameters:
plist
- the map ofkey, value
-pairs- Returns:
true
if successful- See Also:
-