← Projects

Natural Selection Simulator

Built an interactive simulation to model natural selection and observe how agent populations evolve over multiple generations. Each agent was assigned traits that influenced survival and reproduction, and their behavior was controlled by a neural network that adapted across generations.

Key Skills Demonstrated

  • Designed a trait-based agent system including Size, Speed, Vision, and Strength, directly impacting survival and competitive behavior.
  • Implemented agent actions such as wandering, fleeing, reproducing, and consuming food, driven by neural network decision making.
  • Built a configurable simulation environment with adjustable parameters for population size, food availability, adversary count, and environment size.
  • Used TensorFlow and Keras to train neural networks that learned agent behaviors based on environmental inputs and survival outcomes.
  • Handled backend simulation processing to manage multiple generations of agents, evolving populations based on fitness and trait inheritance.
  • Built a Tkinter-based visualization layer to observe agent behavior in real time and track evolutionary changes across generations.

Project Insights & Learnings

This project gave me hands-on experience building a full reinforcement-based evolutionary system. Balancing neural network training with real-time simulation required careful tuning to avoid instability or premature convergence. I also gained experience in how small changes to the environment can dramatically shift evolutionary outcomes.

Visualizing agent behavior in real time was especially helpful for debugging model behavior and understanding the complex relationship between agent traits and survival strategies.

Project Slideshow