Eco-Simulator
Developer(s) | Brett Layman |
---|---|
Initial release | 2019 |
Engine | |
Platform | Windows, Linux |
Type | Artificial life simulator |
Website | Github Repository |
Search Eco-Simulator on Amazon.
Eco-Simulator is an ecologically-inspired system for training neural network based agents. It falls within the field of Artificial Life and is considered a type of genetic algorithm with an endogenous fitness function. It is a Multi-agent system where each agent is guided by a collection of neural networks. One of the main design goals of Eco-Simulator is to create a highly customizable system for research purposes.[1]
Agents move through a two dimensional space where they can detect and consume resources in order to survive. Populations of agents evolve via reproduction and natural selection, where the weights from their neural networks serve as their genetic material. An agent’s behavior is guided by their neural networks. The networks take inputs from the environment, other agents, and the agent’s internal state, to produce outputs corresponding to actions such as: movement, reproduction, and consumption. A primary goal of the system is to observe improvements in agent behavior as their networks evolve. [2]
Details[edit]
Simulation Steps[edit]
During each step of the simulation, every creature is given the opportunity to process inputs and carry out actions. This happens in a turn-based fashion.
Neural Networks[edit]
Each agent has a set of neural networks to determine what actions they will take, or attempt to take. The neural networks can receive a variety of inputs including: internal resource levels, external resource levels, and phenotypes of neighboring agents. The inputs are passed through a recommendation network, which then passes its output to a final decision network. The decision network typically receives recommendations from several recommendation networks, and combines those inputs to decide whether or not to take an action.
Resources[edit]
This system supports multiple customized resources. Resources can be distributed in different patterns across the two dimensional grid of land squares. Agents can be given the capacity to store resources, and benefit from an excess of a resource and/or be punished for lacking it. Actions have a resource cost, and resources can effect a creature’s health. Agents can be given the ability to consume and deposit resources, or convert one set of resources to another.
Genetic Variability[edit]
The weights of an agent’s neural network serve as the agent’s genetic material. There are two sources of variability for these genes: the initial variability in the population, and variability resulting from mutation (which occurs during reproduction). These parameters can be set so that different populations have different mutation rates and initial levels of variability. It’s easy to observe levels of variability for each weight, and for the population as a whole through the user interface.
Development[edit]
Eco-Simulator is being developed in the Unity (game engine). An alpha version of the application has been released, which allows users to select between three different demo scenarios [3]. The software uses a point and click user interface, which allows the user to change the speed of the simulation and to view information about individual creatures. The project is Open-source software with the option to select the GNU General Public License. Development of new features is ongoing.
Applications[edit]
Eco-Simulator was designed to explore questions in the field of artificial life. It has been used to explore ideas about population stability, genetic variability, mutation, evolution and cooperation[2]
External links[edit]
This article "Eco-Simulator" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Eco-Simulator. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.