-
Notifications
You must be signed in to change notification settings - Fork 0
ConfigValues
JD edited this page Jul 2, 2023
·
8 revisions
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
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
- Description: Defines the number of rounds which will be played
- Type: int
- Limits: > 0
- Related Class: World
- Further Information: -
- 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: -
- 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
- 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
- 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
- Description: Defines the cost for cooperators
- Type: int
- Limits: > 0
- Related Class: PayoffCalculator
- Further Information: -
- Description: Defines the synergyfactor (r)
- Type: int
- Limits: > 0
- Related Class: PayoffCalculator
- Further Information: -
- Description: Defines the punishment costs
- Type: int
- Limits: > 0
- Related Class: PayoffCalculator
- Further Information: -
- Description: Defines the punishment fine
- Type: int
- Limits: > 0
- Related Class: PayoffCalculator
- Further Information: -
- Description: Defines the selector class
- Type: int
- Limits: 0 <= SelectorType <= 1
- Related Class: Selector
- Further Information: 0 = EliteSelector, 1 = RandomSelector(recommended)
- Description: Defines the repopulator class
- Type: int
- Limits: 0 <= repopulatorType <= 2
- Related Class: Repopulator
- Further Information: 0 = RandomRepopulator, 1 = ProportionateRepopulator(recommended), 2 = SpatialRepopulator
- Description: Defines the grid class
- Type: int
- Limits: 0 <= gridType <= 1
- Related Class: Grid
- Further Information: 0 = DefaultGrid, 1 = SpatialGrid
- Description: Defines the payoff class
- Type: int
- Limits: 0 <= payoffType <= 1
- Related Class: PayoffCalculator
- Further Information: 0 = DefaultPayoffCalculator, 1 = GroupLevelPayoffCalculator,
- Description: Defines the payoff individualism
- Type: float
- Limits: 0 <= payoffIndividualism <= 1
- Related Class: GroupLevelPayoffCalculator
- Further Information: -
- Description: Defines the mutator class
- Type: int
- Limits: 0 <= mutatorType <= 1
- Related Class: Mutator
- Further Information: 0 = RandomMutator/ 1 = ThresholdMutator (recommended)
- 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
- Description: Name of the experiment
- Type: string
- Limits: not empty
- Related Class: Archiver
- Further Information: APGG will save all data into this folder
- Description: Appends a suffix to every experiment csv
- Type: string
- Limits: -
- Related Class: Archiver
- Further Information: -
- 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
- Description: Appends a timestamp to every experiment folder
- Type: string
- Limits: -
- Related Class: Archiver
- Further Information: -
- Getting Started
- How to run APGG
- Build from Scratch
- Config Values
- Configuring and Running APGG
- Plotting Data
- Class Structure
- Proof of Concept Replication
- FAQ
Class Structure & C++ Code
- Classes
-
Archivers
-
Grids
-
Mutators
-
PayoffCalculators
-
Repopulators
-
Selectors
-
World
-
