Yes, Neural Chase has finally come to an end of its development cycle. Chase between cats and mouses has been checked and extensive testing of application behavior has been concluded. My master thesis is finally developed and within a few days I will get my master degree.
This version has lots of changes and has included lots of configurations to test cats and mouse behavior, so feel free to test this application any time!
After month of pause, I made few adjustments to new version. This one has newer Selection methods which can be chosen from Configurator. New Selection operators include Stochastic-Universal Sampling and Ranking Selection and with old Roulette Wheel Selection make 3 selection choices.
New release of Neural Chase includes the most usable additions. There were major fixes in genetic algorithm, and massive optimizations and restructures to make this project very attractive. Newer version is worked to work good with mouses. There are still glitches with cats, but they will be resolved in future versions.
Check this version, bronto!
Newest release now include configuration maker, so you can easily create your own set of parameters for the application. This configuration system needs to be tested a bit more.
Next thing to do is to improve algorithms since they might have flaw which need to be fixed.
I forgot to uncomment the line to display items in listview so I had to quick fix that xD.
Check 0.4b version
This release now posses lots of interface improvements on main application window. Much better statistics is presented. New TimeSeriesPloter component graphically displays fitness and generation data. Specific mouse and cat can now be selected and focused on application ground. Main menu is added but it has limited functionality.
Configuration maker is next to code, and it will allow end user to experiment with project parameters in run-time without needed to recompile it every time.
Lots of stuff where changed. Most of the glitches fixed and I decided to put cats as optionally in project. Now it is more concerned on mouses chasing cheese.
Future versions will surely have user interface to tune ANN and GA at your disposal.
Also future versions will be having more statistical and graphical improvements.
Phew... Simple logical bugs made me a lot of work, but I managed to pull this off.
Lot of "uneasy" bugs were taken care off. First I made a mistake about what sensory data should mouses take. They never knew their position on playground, so it was impossible for them to find any cheese. Next I was fixing fitness function to give advantage lot more advantage to mouses with most eaten cheese.
One of the greatest problems were in selection operator for GA. Chromo Roulette technique seemed to statistically somehow support chromosomes with less fitness. That problem was very hard to locate because it required constant observation of mouse progresses over generations. Resolution was to simple make chromosomes sorted in ascending order. Descending order was logically the same as ascending, but statistically ascending order are better.
Last problem was in with normalisation of Neural Network inputs, and tweaking neuron functions with better parameters. Now mouses finally steer correctly and inteligentlly, but more data tweaking is required.
I will upload soon newest version to SVN as it has a lot of reprogramming.
These days, I implemented finally a lot of really working stuff in the project. I managed to develop sensors for objects on ground and their normalization to be compatible with Neural Networks. Later ANN were finally putted into action, alongside with genetic algorithms. They fitted well together, but...
Unfortunatelly, cats and mouses didn't get smarter. I rechecked and tested ANN and they seem to work fine. GA were tested and they also seem to work fine. Problem were at the sensors which cats and mouses gets from the outside world. I putted myself into their position and found that with those sensors I wouldn't be able to survive also.
Now I assumed easier task: to see will mouses be smarter in catching cheeses alone, without distraction of cats. Cats are disabled for time being, and as soon as I make mouses work together, cats should be few minutes job only.
Latest debug version can be again found on SourceForge SVN.
Before I can start implementing ANN and GA frameworks, some sort of sensory data must be added. Those data will provide "natural senses" for cats and mouses. I added data placeholders for sensory data and their normalization to vector for input in ANN. Next is actually getting information about cats and mouse senses.
Of course my current progress is available on SVN repository.
Most of the stuff are redisgned. Rewritten system for drawing and synchronization is much better
Needles to say: I have just finished writing Genetic Algorithms for Neural Chase. Tested it and so far so good. Next thing to do is adding all these written concepts to work as brains of cats and mouses.
Again I can't release source as direct download since main Neural chase program wasn't affected. As soon as I implement make neural networks and GA to work with main program there will be binary and source release.
As always: current GA and ANN frameworks are available through SVN.
I spent some time implementing neural networks framework. Had then tested and they work fine, for now. Framework can create almost any kind of feed-forward network and neurons can choose 4 activation functions. Next step are Genetic Algorithms.
Neural networks have not been yet included into Neural Chase project, and demo project is available through SVN.
As you can see this project is advancing very fast. Most of the framework has been coded and you can see sample application out of it. It is really fun to watch mouses and cats running aimlessly. Next step: Neural Networks!!
Neural chase is getting its graphical look. Mouses and Cats now runs around the playground, but still without their roles and most importantly: without brain. Few more updates are required for framework and the off to the brains!!
Neural Chase project is my master thesis and it tries to explore functionality of Neural Networks combined with Genetic Algorithms on Cat and mouse example.
For now framework sample is released. Goal for now is to make usable framework to define rules for cats and mouses. Later I will move to AI functions.