Skip to content

juliangarcia/agentbased

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 

Repository files navigation

#agentbased#

##Basics##

This package provides a framework for agent-based evolutionary dynamics with Java. It provides a set of interfaces and a few implementations. So far the only process implemented is Wright-Fisher with assortment (as laid out in this paper), but the framework is extensible (pull requests welcome), and you could as well implement any other process you need.

Agent-based essentially means that fitness is a random variable, and that your individuals can be complex objects, with a state and methods of their own. In a typicall application you have to provide the following implementations.

  • Agent.

  • AgentBasedPayoffCalculator.

  • AgentBasedPopulationFactory

  • AgentMutator

Implementing the interfaces above should be enough to have a working simulation.

Then, a process and a simulation should be built, typically as follows:

this.process = new AgentBasedWrightFisherProcessWithAssortment(population, payoffCalculator, 
mapping, intensityOfSelection,mutator, r);
simulation = new AgentBasedSimulation(this.process);

Simulation the provides methods to estimate fixation probabilities, stationary distribution, and average population payoffs throughout a run. Please check the Javadocs for specifics.

##Building##

You can use maven with the provided pom.xml.

##Extending it##

Extend to other processes by implementing:

AgentBasedEvolutionaryProcess

About

Agent Based Evolutionary Dynamics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages