6
$\begingroup$

I have heard of genetic algorithms, but I have never seen practical examples and I've never got a systematic introduction to them.

I am now looking for a textbook which introduces genetic algorithms in detail and gives practical examples how they are used, what their strengths are compared to other solution methods and what their weaknesses are.

Is there any standard textbook for this?

$\endgroup$
8
$\begingroup$

Most of the "standard textbooks" (e.g., Goldberg, Mitchell, etc.) are pretty dated now. If you just want to have some confidence that you understand how the basic algorithms work, they're fine, but they tend to emphasize material that's doesn't necessarily match the more modern way of understanding and talking about things like theoretical issues.

I've used the Eiben and Smith (https://www.amazon.com/Introduction-Evolutionary-Computing-Natural/dp/3642072852) book to teach evolutionary algorithms to my students over the past few years. It's a bit more concise than some of the others, but if you're OK with that, I think it does a better job of covering the stuff that's relevant about evolutionary computation today.

$\endgroup$
2
$\begingroup$

I can recommend Genetic Algorithms in Search, Optimization, and Machine Learning by Goldberg. In particular, chapter 1 gives a great "introduction to genetic algorithms with examples." The code examples are unfortunately in Pascal but readable even if not familiar with the language. The book by Thomas Back is a little more advanced but also more complete (more "evolutionary programming").

Also, Genetic Programming by Koza is a good choice with many examples but less tutorial.

$\endgroup$
2
$\begingroup$

I recommend these books:

  • The nature of code: This book is a good introduction to GAs in general, and he has his own youtube channel with explanations and examples. A good starting point.
  • Genetic Algorithms in Java Basics: More in depth but very well explained and easy to understand, focused on java programming.

You can also see my answer here to have an initial and very brief general introduction of what Genetic Algorithms are.

Hope it helps!

$\endgroup$
1
$\begingroup$

I studied in in class and never really understood. I found teh best way : implement your own. At the end this is a very "pragmatic" algorithm and it is more an execution routine than a full totalitarian method.

As for examples, you can see it in action on the classical (and very visual!) travelling salesman problem like here

http://www.theprojectspot.com/tutorial-post/applying-a-genetic-algorithm-to-the-travelling-salesman-problem/5

I think you do not need much than understanding the components for starters : chromosomes (= solutions), mutation function (altering one solution), crossover (mixing two solutions, meaning selecting parents and actually mixing them), fintess function (quality of the solution), and generation function (candidate solutions generation) and (optionally) elitism policy (how much we protect best solutions from disappearance).

After having understood it, you will see the modular aspect of GA and you will be able to dig in more advanced content (evolutionnary strategy, coding, etc.) if needed.

Thing is that in GA you almost define everything, they are only classical execution routines. This is why I do not think books will add a lot to your understanding in this case.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.