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 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
Simulation Steps
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 manner.
Neural Networks
Each agent has a set of neural networks to determine their actions. The neural networks can receive various inputs, including internal resource levels, external resource levels, and phenotypes of neighboring agents. The inputs are processed by 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 these inputs to decide whether or not to take an action.
Resources
This system supports multiple customizable resources. Resources can be distributed in different patterns across the two-dimensional grid of land squares. Agents can store resources, benefit from an excess, and be penalized for a lack of resources. Actions have a resource cost, and resources can affect a creature's health. Agents can consume, deposit, or convert resources.
Genetic Variability
An agent's neural network weights serve as its genetic material. Variability arises from initial population differences and mutations during reproduction. Parameters allow for different mutation rates and initial variability levels across populations. The user interface easily displays variability levels for each weight and the population as a whole.
Development
Eco-Simulator is being developed in the Unity (game engine). An alpha version of the application has been released, allowing users to choose between three demo scenarios [3]. The software uses a point-and-click user interface to adjust simulation speed and 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
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
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.
