For my dissertation in my final year of University, I am creating a wrapper for Finite State Machines which will train them to use their states effectively, thus creating complex behaviour.
There are a lot of buzz words with this project but I assure you that what i'm trying to do is not all in all too complicated, it just needs the right approach.
The Project and Artificial Intelligence
The project is being done in a game environment where War Tanks are fighting each other in a simulation and learning how to use their state machines effectively to win. This will be done by using both Genetic Algorithms and Neural Networks to evolve a Tank's decision making over many battles.
What's Different to other Neuroevloution research and predictions?
Rather than the genetic neural networks feeding which action for the tanks to do, they will feed a value which can be mapped to a state in the FSM of the tank. I'm predicting that doing this will provide complex and challenging AI behaviour whilst still being constrained to state actions - meaning that the tank's can still be beatable by players. I am also predicting that the evolved neural-driven Finite State Machine will perform better than a predetermined Finite State Machine.
I will be working closely on the project for the next few months and will update this page as soon as I can with the progress being made. Submission for this project is May 4th 2018.
After having submitted my paper, I subsequently won the Deans Award for one of two best computer science dissertations in my year. My results were amazing and I have made a link to my paper on my home page. The work I accomplished opened up discussion to the world of AI and Games and I am thrilled to have contributed my findings. The evolved state machines were incredible! I was able to experiment with heightening the evolution as much as I could before the finite state machines lost track of their initial goals. In the end, my research provided evidence to both of my hypothesise made for firing an evolved neural network on a frequent delay for a finite state machine.
Perhaps some time in the future I can re-write the code to be not so externally dependant on the environment. In the meantime, I am already working on writing an interface for a neuroevoution controller.
Comments