My course is actually purely an A.I. course (Evolutionary and Adaptive Systems) so i’m not using any scripting. I could describe my project as “Evolving an path-finding agent in a dynamic 2d environment”.
I finally got feedback on my project proposal and my lecturer gave it the thumbs up so i presume that’s a sign that it’s doable.
Basically, the program will work by generating a population of 50 – 100 agents with randomly weighted feed-forward neural networks. The inputs to their networks will be the contents of the 4 squares surrounding them and the output will be the next direction to move in.
Given a period of time X – deciding on that will require a bit of experimentation to find a suitable trial period – the agents will be allowed to travel around in the 2d environment (basically a grid world). And fitness will based on the one who gets closest to the target (the Exit) in the least amount of moves.
The weights of the networks will be controlled using a genetic algorithm that will breed the weights of the fitter agents.
The obstacles to avoid will be added / removed during a simulation run, at this point i can’t say at what frequency as i haven’t worked out how long a simulation will need to run.
I know there are some potential bugs in my idea but the advantage of doing a “sciencey” research paper is that i trick around to get something that works and then say that was what my original intention was to achieve
The hardest part of coming up with a proposal was cutting back on being too ambitious, so we were required to come up with a basic first step to achieve (if all else failed) and mine is to evolve an agent that will find the target (exit) in a 2nd static world.
I’m slowly (hard to find time on a Masters for anything but work) working my way through Mat Buckland’s “Programming Game AI by Example” book – haven’t gotten as far as the Lua scripting section though, still trying to get familiar with the soccer game in Chapter 4.
If this project works out well, i hope to do something more advanced for my dissertation in the summer, most likely in 3D and in a physics simulator like ODE (which we use for robotics simulations here, most for passive walking dynamics).