Authors

  • Rameen Popal
  • Anindit Dewan

Inspiration

As the use of artificial intelligence is set to increase over the next 10 years. We wondered, how could we use artificial intelligence to build an application of our own. What better way to do this than create an educational tool to simulate evolution through the use of predators and prey? This deep learning can be used to teach about the fundamental chapter of biology, and having an interactive and configurable model allows for the best understanding of the subject.

What it does

Predator vs Casualty is an evolution simulator wherein there are two primary entities: prey and predators. Prey must stay away from predators in order to reproduce in given time intervals. Predators must eat in order to stay alive and reproduce as well. Through the use of ray tracing (where each entity has a certain amount of rays coming out of it, at a certain distance to detect other entities), each entity can find out where another one is as its input. Then using the hidden layers in neural networks it can optimize its outputs, angular velocity and speed. Each generation will inherit the neural network of its parent along with a random mutation.

How we built it

  • For the sprites of entities, the background, buttons, etc. we used LibGDX (a game development application) in Java.
  • For the neural network we used a custom implementation of RT-NEAT or Real-Time Neuroevolution of augmenting topologies, a genetic algorithm used for evolving neural networks.

Challenges we ran into

  • Collaborating together using Github.
  • Optimisation of neural network's constants.

Accomplishments that we're proud of

  • The fact we were able to construct a fully functional application that simulates the principle of evolution.

What we learned

  • How to build, tweak, and use neural network with augmenting topologies.
  • How to create ray tracing using LibGDX.
  • How to implement a physics engine using verlet integration.

What's next for Predators vs Casualty

  • Add more biological configurations. What if an invasive species is introduced? How can we simulate symbiosis and parasitism?

Impact

What impact does this project have on society? This is a great tool to teach the intersection of biology and computer science, particularly AI to high schoolers. In order for predator or prey to survive they must achieve certain outcomes (i.e. they must run away or forward in the right direction to catch that prey or to go away from the predator), this is the output of the neural network. This is based on the environment (i.e. if they can see and detect the other entity properly), otherwise the input. Finally, each of them must learn and whoever can learn the best (has the best weight modifications in the hidden layer of the neural network) can survive, survival of the fittest based on natural selection.

Built With

Share this project:

Updates