/root/src/IATools.sln on windows will open a solution.
One of the projects' solution is called Samples.
/root/samples/
-Samples : project folder ( with some specialization code and examples )
-doc : some documentation about themes and algorithm present in the Samples folder
We strongly suggest that you go look into this folder when first using openAIL.
Among those samples we have : ( more to come ... )
We provide a really simple example of Genetic Algorithm with the well known case of the salesman traveler .
Two files are important here SampleGeneticAlgo.h and SampleGeneticAlgo.cpp.
In those two files you will have some comments on how to use the genetic algorithm for this case and it should help you to implement it for your case.
FPTrees are a tool to be used when one need to do some data mining.
This algorithm is from [ref here] paper.
One example to use this was when used for a supermarket company.
They wanted to see which items were bought together more often.
So they run this algorithm on all the ticket from all the customer.
The algorithm has given several sets of items bought together really often that wasn't really obvious :
beer and diapers on Saturdays.
After a bit of investigation they found out that new fathers were sent to buy some diapers supply for their little ones, but, while they were at the supermarket, they also bought some beer ( as it is Saturday and all, you know).
So the supermarket just put together those two items on Saturdays and sold a lot of diapers and beer.
That's for the story.
The use of this algorithm is really cool because it will provide you a tree of items order by their frequency. For sets that are not to big, it allows you to have it in RAM and keep growing it without re - reading the entire base each time you want to add a new items set.
See the sample here : /root/sample/Samples/FPTreeSample.h !
I also used this as inspiration for my NextMoveGuess Algorithm for video games.
I used to work in the video game industry.
One of my project was to provide a challenging AI for a fighting video game.
How can we do that ?
One of the good answer is to make the system learn the moves of the player, so it will be able to counter his combos.
So I just got inspired by a datamining technic which are the FPTrees, and I created the FreqSeqTrees ( for Frequent Sequence Trees).
The idea is to get all the players sequences ( from a save file by example ) and to create from it a tree
where each moves is a node with an occurrence number.
Once we have that tree, it is really easy to get a probability of the next move given any sequence of moves based
on the player habits.
All that is within the sample folder, look for : NextMoveSample.h !