Re: evolution statistical data

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Re: evolution statistical data

Jakub Siberski

---------- Forwarded message ----------
From: Jakub Siberski <[hidden email]>
Date: Wed, Jan 6, 2010 at 7:12 PM
Subject: Re: [jgap-users] evolution statistical data
To: Klaus Meffert <[hidden email]>

Probably depends on your goals.

If you use GA/GP just to solve some problem, probably you don't need any of this. Just code your solution, your fitness function, set parameters and fire algorithm. Hour or week later you have some solution and your fine.

But if you want to do some analysis of algorithm itself, Genes monitoring can be useful. for example:
1) You want to teach someone about GA using JGAP. Than monitoring Genes lets you visualize and describe what is actually happening with individuals during evolution. Seeing cross over or mutation is easier to understand, especially when you are using some more advanced operators like uniform crossover, or something.
2) You are in academia and you want to confront building block hypothesis, or you just do some other research on GA. Than you want track detailed information about Genes.
3) You have really complicated case, with custom genetic operators, or genes are custom made to represent complex conjugate numbers or other weird stuff that only you need. This way or another, you need to track detailed information to make really informed decisions about your algorithm. Suppose it is giving expected results. Is it Mutation or CrossOver?
4) You have read about some intresting genetic operator that is not in JGAP. You want to add it, so you make convert it from description or pseudocode into JGAP implementation. How do you check how it works? UnitTests will tell if it breaks Individual, but running algorithm and monitoring Genes, will tell how it actually works. Is it changing individual the way it supposed to?

I would say that if you if GA is a black box for you and it just works (or not) you don't need to monitor Genes. If you treat algorithm as whitebox, if you care about what is going on inside, if you are focused on GA not a problem it solves, than monitoring Genes is useful.

My purpose for this is something like in 1) - show what genetic operator does. Not only showing what was the effect, but also to show how it was achieved.

Below is link to example implementation that uses monitoring Genes feature

This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers 
jgap-users mailing list
[hidden email]