Evolutionary Algorithm
From 2008.igem.org
(→Evolutionary Algorithm) |
(→Evolutionary Algorithm) |
||
(4 intermediate revisions not shown) | |||
Line 8: | Line 8: | ||
!align="center"|[[Team:Calgary_Software/Team|The Team]] | !align="center"|[[Team:Calgary_Software/Team|The Team]] | ||
!align="center"|[[Team:Calgary_Software/Project|The Project]] | !align="center"|[[Team:Calgary_Software/Project|The Project]] | ||
- | |||
!align="center"|[[Team:Calgary_Software/Notebook|Notebook]] | !align="center"|[[Team:Calgary_Software/Notebook|Notebook]] | ||
|} | |} | ||
Line 22: | Line 21: | ||
<div align=justify> | <div align=justify> | ||
- | Agent-based systems and modeling first emerged in the late 1940s. In this type of modeling, independent individuals or agents | + | Agent-based systems and modeling first emerged in the late 1940s. In this type of modeling, independent individuals or agents have a simple 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 phenomenon of the natural world. |
[[Image:Agent based systems.PNG|thumb|left|150px]] 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. | [[Image:Agent based systems.PNG|thumb|left|150px]] 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. | ||
Line 34: | Line 33: | ||
<div align=justify> | <div align=justify> | ||
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. | 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. | ||
- | + | [[Image:EvolutionaryCycle.jpg|thumb|right|250px|Evolutionary Cycle]] | |
- | This is how the algorithm works: | + | This is how the algorithm works: |
- | * | + | * EvOGEM generates circuits randomly based on the inputs of the user |
- | * The circuits | + | * The circuits go through a tournament or fitness test where selection takes place |
* Allocation of fitness is based on: | * Allocation of fitness is based on: | ||
** Production of anything | ** Production of anything | ||
Line 43: | Line 42: | ||
** Termination | ** Termination | ||
** Points deducted for number of BioBricks to increase efficiency | ** 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 == | == Navigation == | ||
Line 58: | Line 61: | ||
!align="center"|[[Team:Calgary_Software/Team|The Team]] | !align="center"|[[Team:Calgary_Software/Team|The Team]] | ||
!align="center"|[[Team:Calgary_Software/Project|The Project]] | !align="center"|[[Team:Calgary_Software/Project|The Project]] | ||
- | |||
!align="center"|[[Team:Calgary_Software/Notebook|Notebook]] | !align="center"|[[Team:Calgary_Software/Notebook|Notebook]] | ||
|} | |} |
Latest revision as of 03:59, 30 October 2008
Home | The Team | The Project | 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 simple 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 phenomenon of the natural world.
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:
- EvOGEM generates circuits randomly based on the inputs of the user
- The circuits go 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
Evolutionary Algorithm | Data Retrieval | Modeling | Graphical User Interface |
---|
Home | The Team | The Project | Notebook |
---|