SimEvo: A Simple Python Library for Simulations of Natural Selection
Yu-Jie, Zheng
1
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
Outline
2
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
The Story
3
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
The Story
4
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
Problem to Solve
5
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
Problem to Solve
6
examples/chasing.py
examples/food_path.py
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
Prospective Users
For teaching and learning evolutionary concepts through interactive simulations.
For conducting experiments on evolutionary strategies and hypotheses.
For exploring the principles of evolution in a virtual environment.
7
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
Algorithm - Quad-Tree
Construction:
Object Insertion:
Collision Detection:
Update and Maintenance:
8
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
System Architecture
9
core logic
algo impl
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
System Architecture
Dependency Graph
10
Environment
EnvironmentObject
Organism
Food
Genes
ISpatialIndex
SpatialObject
DefaultSpatialIndex
OptimizedSpatialIndex
core does not depends on spatial index implementation
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
System Architecture
11
Using callback function to customize lifespanof organism
Using callback function to integrate with matplotlab visualizer
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
Evaluation
12
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
Appendix
Some DevOps stuff I tried:
13
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14
Appendix
Interesting example scripts you can find in examples/ directories
14
2024 Spring NSD - Final Project - SimEvo: A Simple Python Library for Simulations of Natural Selection - Yu-Jie, Zheng
/14