Evolutionary Algorithm

From 2008.igem.org

Revision as of 15:49, 29 October 2008 by Jleung (Talk | contribs)
Calgary banner01.png
Home The Team The Project Modeling Notebook
Evolutionary Algorithm Data Retrieval Modeling Graphical User Interface

Agent Based Systems

Agent-based systems and modeling first emerged in the late 1940s. In this type of modeling, independent individuals or agents have a function. When these are combined into a decentralized system, the observer sees how the system is affected as a whole. Each agent follows simple rules that allow for changing interactions. With the simultaneous operations of each agent, this kind of simulation would, in turn, re-create or predict the actions of a complex phenomena of the natural world.

Agent based systems.PNG
An example of agent-based systems is an ant and its colony. Individually, an ant carries out its own function. However, when an ant is merged into its colony, then it combines to form a more complex system. Each ant still carries out its own function, but when combined together, there is an overlying grand picture that is at work.

In summary, agent-based systems are decentralized systems, where the overall behavior emerges from each agent's individual behaviour. As a result, we can use this type of model to simulate molecules and their interactions since molecular systems are decentralized in principle.


Evolutionary Algorithm

EvoGEM follows an evolutionary approach to iteratively improve a population of circuits through subtle changes to the individuals. EvoGEM makes modifications to individual circuits in order to create an optimal solution. It does this by applying Darwinian selection on the individuals, whereby each individual must meet a fitness criteria to survive to the next generation. If the individual survives, then there are random changes or adaptations made to the circuit, potentially improving the fitness of the circuit. Overall, this kind of approach is based on the two principles of adaptation and selection.

This is how the algorithm works:

  • Circuits are randomly generated by EvoGEM based on the inputs of the user
  • The circuits are put through a tournament or fitness test where selection takes place
  • Allocation of fitness is based on:
    • Production of anything
    • Production of the the desired product
    • Termination
    • Points deducted for number of BioBricks to increase efficiency
  • Based on fitness, circuits are removed if they do not pass
  • The existing circuits go through mutation (adaptation)
  • A generation is passed, random circuits repopulate
  • Cycle restarts

Navigation

Evolutionary Algorithm Data Retrieval Modeling Graphical User Interface
Home The Team The Project Modeling Notebook