Wednesday, February 23, 2011

Awesome Images

Robust Gene Expression Programming is an evolutionary algorithm using bit vectors to encode expression trees. I was playing around with the idea of a linear population where individuals can only cross with those next to them, which has been done in Genetic Algorithms with interesting results, when I realized something really neat- a bit vector population in a linear order viewed as a picture would be a box of black and white pixels where useful schemata would float around the population from where they originated, and it might be possible to view this if the population where made into a picture.

Since I don't really want to look into variations of RGEP at the moment, I just recorded the normal unordered population every 50 generations and made a picture out of it. Here is a population at generation 500 trying to learn f(x) = 3*(x+1)^3 + 2*(x+1)^2 + x + 1:

I reversed the image so the front is the part of the individual that is interesting, since we are technically using postfix notation and the back is what is most likely to effect the fitness. I was concerned about the lack of convergence here- I expected much more uniformity. To see what the effect of Tournament Selection was against Roulette Wheel, I did a run using Roulette Wheel, and after only 50 generation we have:

So the population converged almost immediately. This is really interesting- the selection mechanisms have a much bigger effect on the diversity than I realized. I really like Tournament Selection and it performs very nicely, but it really seems like they take different strategies, exploration vs exploitation. Strange how the front part converged and the rest didn't though.

Hurray for data visualization! Now to figure out what it means for RGEP.

No comments:

Post a Comment