Quote:
Original post by RPGeezus
But only early on.... We agree? :)
Agree on what? That crossover and mutation are the same? No, they're not. They are both search operators but they achieve different results in terms of the exploration of not only the state space but also of the objective function. Mutation guarantees that the solution generated by applying that operator to a current operator has a 'fitness' within bounds defined by the local gradient of the objective function and the mutation rate. For this reason, mutation can only ever perform gradient ascent/descent using a random walk. Crossover makes no such promises and is therefore not constrained to producing only hill climbing search of the objective space.
Quote:
Adding too many copies of the same chromosome in an animal can be fatal.
As with most search algorithms, premature convergence is a problem. The assumption that a single run of a search algorithm will give you a globally optimal solution for an objective function with unknown topology is naive. The point of GAs is that one can 'balance' the application of the canonical operators to minimise the likelihood of premature convergence, so that when the population becomes flooded with (near-) identical solutions, they are all within tight bounds of the optimal solution.
Quote:
Biology aside, I don't see how randomly insterting duplicate copies of existing 'code' (code can mean anything) is somehow inclined to be a good thing. I understand that the 'code' segment itself maybe proven to work, but what evidence is there to suggest that it will work in a different context (i.e. different location in the 'code').
No one is suggesting structural crossover. Think of crossover from its genetic counterpoint. If I take two humans and from them produce an offspring, the usual genetic processes will select
for each gene, two of the 4 allele values (because we have haploid coding), one from the male parent and one from the female. Putting mutation aside, this is crossover performed at every site between genes. GAs simply limit this to one crossover site on the chromosome, to ensure that the search is not purely random. The affect of this is to preserve significant subsets of
schema represented by the parents. The best way to understand GA operators is by their affect on the schema that a population instantiate. If you haven't read Holland's original work, I highly recommend it.
Quote:
If so, how does it know it's not just around a local maximum?
No search algorithm (other than brute force) can unequivocally know this, unless you know the objective function topology... and in which case, why did you need to search in the first place?
Quote:
So pulling _identical_ pieces during cross-over is not crossover.
I ask because this is exactly the case in a mature population. Members will be 99.9999% identical. I hate to use biology as an example, but, look at people.
This is the
cloning that I was talking about. Crossover produces clones in nearly-converged populations. Unfortunately, it also produces clones in initial populations. Clones do not harm the population, only the convergence speed of the algorithm. They are a wasted opportunity.
Cheers,
Timkin