Empirical
Classes | Namespaces
World.h File Reference

Definition of a base class for a World template for use in evolutionary algorithms. More...

#include <functional>
#include <map>
#include <unordered_map>
#include "../base/Ptr.h"
#include "../base/vector.h"
#include "../control/Signal.h"
#include "../control/SignalControl.h"
#include "../data/DataFile.h"
#include "../data/DataManager.h"
#include "../data/Trait.h"
#include "../meta/reflection.h"
#include "../tools/map_utils.h"
#include "../tools/Random.h"
#include "../tools/Range.h"
#include "../tools/random_utils.h"
#include "../tools/string_utils.h"
#include "Systematics.h"
#include "World_iterator.h"
#include "World_reflect.h"
#include "World_select.h"
#include "World_structure.h"

Go to the source code of this file.

Classes

class  emp::World< ORG >
 Setup a World with a population of organisms that can evolve or deal with ecological effects. More...
 

Namespaces

 emp
 If we are in emscripten, make sure to include the header.
 

Detailed Description

Definition of a base class for a World template for use in evolutionary algorithms.

Note
This file is part of Empirical, https://github.com/devosoft/Empirical
Date
2017-2018

A definition of the emp::World template, linking in specialized file handling, iterators, and selection techniques for evolutionary computation applications.

Todo:

Make sure when mutations occure before placement into the population we can control whether or not they also affect injected organisms. (Right now they alwyas do!!)

We should Specialize World so that ANOTHER world can be used as an ORG, with proper delegation to facilitate demes, pools, islands, etc.

We should be able to have any number of systematics managers, based on various type_trait information a that we want to track.

Add a signal for DoBirth() for when a birth fails.

Add a signal for population Reset() (and possibly Clear?)

Add a feature to maintain population sorted by each phenotypic trait. This will allow us to more rapidly find phenotypic neighbors and know the current extremes for each phenotype.