Circuit Evolution Simulator
A basic model of how genetic circuits can evolve
The circuit evolution simulator below is a useful tool for understanding how genetic circuits can evolve to solve problems and visualizing how those solutions come to be. A genetic circuit is a network of genes and genetic components that perform specific functions within a cell, similar to how electronic circuits perform functions in computers. Here, we have a circuit made up of NAND gates with a given logic goal. Mutations make changes to the circuit structure, changing the output. How close the circuit gets to the goal is measured by a fitness score.
Feel free to play around with the simulator and see how it works. You can move the nodes in the circuit around. In generation mode, you can change the number of variants to simulate in the Settings menu. There's more information about the simulator below.
Inputs | X | Y | Y | Z | Z | W | 5 | 6 | 6 | 7 | 5 | 8 | 8 | 9 | 7 | 9 | 10 | 11 | 11 | 12 | 13 | 14 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Gate | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
X | Y | Z | W | Circuit | Goal |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 | 1 | 0 |
0 | 0 | 1 | 0 | 1 | 0 |
0 | 0 | 1 | 1 | 1 | 0 |
0 | 1 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 1 | 1 |
1 | 0 | 1 | 0 | 1 | 1 |
1 | 0 | 1 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 0 | 0 |
Accuracy: | 37.5% |
The simulator has two types:
- Mutation: A mutation is a random change to the circuit. Simulating through this shows how random changes affect the circuit and the fitness score step-by-step.
- Generation: In this mode, we simulate variants of the circuit, each with a single mutation. From these, the highest scoring variant is chosen. This models the process of natural selection, and shows how the circuit reaches closer to the goal over time (and other interesting phenomena, like logarithmic slowdown).
This simulator will be part of the Systems Biology series, where a more thorough walkthrough will be provided. A future version will also include a more complex model showing how evolution can lead to modularity of circuits when the goals are changed.
If you liked this and would like to hear when new content is published, please subscribe below.
If you have any feedback, found bugs, or just want to reach out, feel free to DM me on Twitter or send me an email.
Subscribe to Newt Interactive
You'll only get emails when I publish new content. No spam, unsubscribe any time.