Mutation in genetic programming

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Mutation in genetic programming

Bruno Fernández Gonzalez
Hello, I've have some questions about this topic. I'm using jgap for a project and I¡m having some problems that maybe I could solve mutating.

I've been reading the source code of gp and, during the evolution, I only could find the chance of mutate while doing the crossover and only if it's a terminal. I'm not talking about mutation creating population, as I made my own population.

Am i right? Only terminals can mutate during evolution? I'm interested in every node having the chance of mutate while doing crossover or reproduction.

Another question is: I'm thinking in doing "full branch" mutation. This is chose a random node, discard node and the full branch that starts in it, and build a new random branch instead. Does the method applyMutation support it or should I made my own?

Thanks for the help.
Reply | Threaded
Open this post in threaded view
|

Re: Mutation in genetic programming

Klaus Meffert-5
Bruno,

the mutation only happens for terminals that support mutation, that's right.

The mutation of a node is supported indirectly by crossing over two branches
of different programs. Is this enough for your needs?

Maybe we could add a mutation additionally, that seems to be an appropriate
demand. If you want support in doing this, you are very welcome.

Best

Klaus
www.klaus-meffert.com

 

> -----Original Message-----
> From: Bruno Fernández Gonzalez [mailto:[hidden email]]
> Sent: Wednesday, December 30, 2009 12:37 PM
> To: [hidden email]
> Subject: [jgap-users] Mutation in genetic programming
>
>
> Hello, I've have some questions about this topic. I'm using
> jgap for a project and I¡m having some problems that maybe I
> could solve mutating.
>
> I've been reading the source code of gp and, during the
> evolution, I only could find the chance of mutate while doing
> the crossover and only if it's a terminal. I'm not talking
> about mutation creating population, as I made my own population.
>
> Am i right? Only terminals can mutate during evolution? I'm
> interested in every node having the chance of mutate while
> doing crossover or reproduction.
>
> Another question is: I'm thinking in doing "full branch"
> mutation. This is chose a random node, discard node and the
> full branch that starts in it, and build a new random branch
> instead. Does the method applyMutation support it or should I
> made my own?
>
> Thanks for the help.
> --
> View this message in context:
> http://old.nabble.com/Mutation-in-genetic-programming-tp269659
42p26965942.html

> Sent from the jgap-users mailing list archive at Nabble.com.
>
>
> --------------------------------------------------------------
> ----------------
> 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
> http://p.sf.net/sfu/verizon-dev2dev 
> _______________________________________________
> jgap-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/jgap-users
>


------------------------------------------------------------------------------
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
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
jgap-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jgap-users
Reply | Threaded
Open this post in threaded view
|

Re: Mutation in genetic programming

Bruno Fernández Gonzalez
In my case, there is a type that appears only in one branch of the tree. It's something like the root of the tree is always the same, and one of it's inputs has the type T. This type only appears in this branch, so the only chance of crossover is between branches of the same type. The main problem is that this branch is very relevant in the fitness function, so in ten generations all the programs in the population have no variability in this part of the tree because the power of those programs. So, in this case, the crossover is useless.

I use no new programs during the evolution, but I think they could disappear very soon. I'm not sure if the kind of mutation I'm talking about could work, but I think It's my only bullet now to provide variability.

I think the "full branch" mutation is often used in genetic programming, so it could be a good improve to JGAP. But I can't wait for a new version of it to solve my problem because I have no time. The deadline is very soon, so I'll try to solve my problem. I don't know if by doing something like this or something different. If I found something that could be useful I'll let you know.

Thanks for the answer.

Klaus Meffert-5 wrote
Bruno,

the mutation only happens for terminals that support mutation, that's right.

The mutation of a node is supported indirectly by crossing over two branches
of different programs. Is this enough for your needs?

Maybe we could add a mutation additionally, that seems to be an appropriate
demand. If you want support in doing this, you are very welcome.

Best

Klaus
www.klaus-meffert.com

 

> -----Original Message-----
> From: Bruno Fernández Gonzalez [mailto:bfg84@yahoo.es]
> Sent: Wednesday, December 30, 2009 12:37 PM
> To: jgap-users@lists.sourceforge.net
> Subject: [jgap-users] Mutation in genetic programming
>
>
> Hello, I've have some questions about this topic. I'm using
> jgap for a project and I¡m having some problems that maybe I
> could solve mutating.
>
> I've been reading the source code of gp and, during the
> evolution, I only could find the chance of mutate while doing
> the crossover and only if it's a terminal. I'm not talking
> about mutation creating population, as I made my own population.
>
> Am i right? Only terminals can mutate during evolution? I'm
> interested in every node having the chance of mutate while
> doing crossover or reproduction.
>
> Another question is: I'm thinking in doing "full branch"
> mutation. This is chose a random node, discard node and the
> full branch that starts in it, and build a new random branch
> instead. Does the method applyMutation support it or should I
> made my own?
>
> Thanks for the help.
> --
> View this message in context:
> http://old.nabble.com/Mutation-in-genetic-programming-tp269659
42p26965942.html
> Sent from the jgap-users mailing list archive at Nabble.com.
>
>
> --------------------------------------------------------------
> ----------------
> 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
> http://p.sf.net/sfu/verizon-dev2dev 
> _______________________________________________
> jgap-users mailing list
> jgap-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jgap-users
>


------------------------------------------------------------------------------
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
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
jgap-users mailing list
jgap-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jgap-users