Skip to content

ConfigValues

JD edited this page Jul 2, 2023 · 8 revisions

Config Values

Each column in the csv file represents a single config vavlue, they can be in any order. If a needed config value is not represented in the file, the class should contain a default value it will use. Each world/experiment recieves it´s own Config class object to request configuration values from, these will be set and saved for every class that needs them during the initalisation of a World object

Categories

The config can be split in 3 big chunks:

  • General Public Goods Game Setup
  • ClassTypes (Classes define which: Mutator, Selector, Grid, Repopulator, Payoff are to be used)
  • Output

Values

General Public Goods Game Setup

numGenerations

  • Description: Defines the number of rounds which will be played
  • Type: int
  • Limits: > 0
  • Related Class: World
  • Further Information: -

eliminationCount

  • Description: Defines the number organisms which will be picked for repopulation every round
  • Type: int
  • Limits: > 0, <= number of organisms
  • Related Class: Selector
  • Further Information: -

groupSize

  • Description: Defines the size of a standard group for a public goods game
  • Type: int
  • Limits: > 0, <= number of organisms, numberOfOrganisms % groupSize = 0
  • Related Class: Grid
  • Further Information: Atm. the groupSize must be aliquot

width

  • Description: Defines the width of the grid
  • Type: int
  • Limits: > 0
  • Related Class: Grid
  • Further Information: if you don't use spatial, please assume size = width*height

height

  • Description: Defines the height of the grid
  • Type: int
  • Limits: > 0
  • Related Class: Grid
  • Further Information: if you don't use spatial, please assume size = width*height

cooperateCost

  • Description: Defines the cost for cooperators
  • Type: int
  • Limits: > 0
  • Related Class: PayoffCalculator
  • Further Information: -

synergyFactor

  • Description: Defines the synergyfactor (r)
  • Type: int
  • Limits: > 0
  • Related Class: PayoffCalculator
  • Further Information: -

punishmentCost

  • Description: Defines the punishment costs
  • Type: int
  • Limits: > 0
  • Related Class: PayoffCalculator
  • Further Information: -

punishmentFine

  • Description: Defines the punishment fine
  • Type: int
  • Limits: > 0
  • Related Class: PayoffCalculator
  • Further Information: -

ClassTypes

selectorType

  • Description: Defines the selector class
  • Type: int
  • Limits: 0 <= SelectorType <= 1
  • Related Class: Selector
  • Further Information: 0 = EliteSelector, 1 = RandomSelector(recommended)

repopulatorType


gridType

  • Description: Defines the grid class
  • Type: int
  • Limits: 0 <= gridType <= 1
  • Related Class: Grid
  • Further Information: 0 = DefaultGrid, 1 = SpatialGrid

payoffType


payoffIndividualism

  • Description: Defines the payoff individualism
  • Type: float
  • Limits: 0 <= payoffIndividualism <= 1
  • Related Class: GroupLevelPayoffCalculator
  • Further Information: -

mutatorType


mutationRate

  • Description: Defines the mutation rate
  • Type: int
  • Limits: 0 <= mutationRate <= 100
  • Related Class: Mutator
  • Further Information: 0 means no mutation at all, 100 means every organism will mutate every round

Output

folderName

  • Description: Name of the experiment
  • Type: string
  • Limits: not empty
  • Related Class: Archiver
  • Further Information: APGG will save all data into this folder

logSuffix

  • Description: Appends a suffix to every experiment csv
  • Type: string
  • Limits: -
  • Related Class: Archiver
  • Further Information: -

timeToFile

  • Description: Appends a timestamp to every experiment csv
  • Type: string
  • Limits: -
  • Related Class: Archiver
  • Further Information: Makes it easier to find a file after many runs

timeToFolder

  • Description: Appends a timestamp to every experiment folder
  • Type: string
  • Limits: -
  • Related Class: Archiver
  • Further Information: -

Clone this wiki locally