I've been trying to describe Genetic Algorithms in terms of these spaces, so that a GA is a collection of movements in them. Since it is also stochastic, and some movements must be more likely then other in some situations, it seems like movement and sampling from (usually discrete) probability distributions is all there is to a GA. If we can describe GAs this way we may get two nice things: a way of describing and unifying our treatment of different variations (although some may be easier to describe this way), and possibly some obvious generalizations that suggest modifications to GA. There may also have properties that aren't obvious otherwise, although I don't know much about the literature on the formal study of GAs except vaguely that Markov Chains have been used to represent them, so I don't really know how to proceed there.
If nothing else, I like the idea of visualizations of GAs, and this suggests some ways to make them approachable by intuitive descriptions. Its common to talk about the solution space as a landscape with mountains and valleys, but this doesn't really give the whole story at all. This is especially true when the solutions and the individuals are not the same, which is actually very common.
This comment has been removed by the author.
ReplyDeleteVery interesting blog! Since I've long been interested in both Forth and genetic algorithms, I'm surprised I didn't find it sooner. I'm building a postfix interpreter in Scala, and I found your blog while Googling "DOCOL." Since performance is a higher criterion for me than canonicity, I think I'm going to build it direct threaded (so to speak). (Sorry, original comment had an egregious typo.)
ReplyDelete