Category Archives: GPdotNET
Last few months I was playing with Artificial Neural Network (ANN) and how to implement it in to the GPdotNET. ANN is one of the most popular methods in Machine Learning, specially Back Propagation algorithm. First of all, the Artificial Neural Network is more complex than Genetic Algorithm, and you need to dive deeper in to math and other related fields in order to understand some of the core concept of the ANN. But likely there are tons of fantastic learning sources about ANN. Here is my recommendation of ANN learning sources:
First of all there are several MSDN Magazine articles about ANN and how to implement it in C#.
If you want to know what’s behind the scene of ANN, read this fantastic online book with great animations of how neuron and neural networks work.
1. Neural Networks and Deep Learning, by Michael Nielsen.
There is a series you tube video about ANN.
Open source libraries about ANN in C#:
1. AForge.NET. – Computer Vision, Artificial Intelligence, Robotics.
The first GPdotNET v4.0 beta will be out very soon.
As currently implemented GPdotNET has classic crossover implementation without any intelligent way to exchange genetic materials. In most time classic crossover operation is destructive operation wasting lot of good genetic materials. By including brood recombination crossover can be slightly improved.
Brood recombination simple repeats crossover operation several time on the same parents, with different crossover points. After fitness evaluation of offspring, the best two child are kept and others are discarded. On that way there is a better chance to get better child than with classic crossover. The picture below graphically describes brood recombination.
Brood Size – new GPdotNET parameter
The first feature which will be implemented is manually setting the Brood Size of crossover. By adding Brood Recombination, we will increase possibility that two chromosomes will exchange the best genetic material they have.
The next feature will be brood size which will be generating dynamically and will be dependent of the generation number.
Everybody is free to use GPdotNET with correct citation given as follows:
Example of GPdotNET citation (English):
B. I. Hrnjica, GPdotNET V3.0- artifical intelligence tool [Computer program], http://gpdotnet.codeplex.com, accessed 19. June 2014.
Bahrudin I. Hrnjica, GPdotNET V3.0 – artifical intelligence tool [Computer program], http://gpdotnet.codeplex.com, accessed 19. June 2014.
Primjer citata za GPdotNET (Bosanski):
B. I. Hrnjica, GPdotNET V3.0- artifical intelligence tool [kompjuterski program], http://gpdotnet.codeplex.com, zadnja posjeta 19/06/ 2014.
Bahrudin I. Hrnjica, GPdotNET V3.0 – artifical intelligence tool [kompjuterski program], http://gpdotnet.codeplex.com, zadnja posjeta 19/06/ 2014.
I am proud to announce after almost full year of working on GPdotNET v3 is finally released today. The first post about GPdotNET v3 was on February this year when the TSP problem announced. The next direction was solving assignment problem because is similar to TSP. At the finally stage of developing solver for version 3 was transportation problem which represent the most complex implementation in GPdotNET regarding representation of chromosome.
Beside introduction to the new solvers GPdotNET v3 contains new exported format which is implemented when I was working my PhD thesis.
GPdotNET User manual is also completed with all new functionalities introduced in version 3.
GPdotNET v3 is published with ClickOnce deployment, and can be downloaded at http://gpdotnet.codeplex.com.