0
$\begingroup$

I am considering an approach to evolutionary algorithms, in which instead of maintaining a population of individuals, we maintain a pool of $N$ mutations that can be applied to a base genome. For every possible subset (or many possible subsets) of the mutation pool, we apply that subset to the base genome to produce an individual, then test that individual. We discard mutations for which the population with that mutation performs worse than the population without it. We merge the best-performing mutations into the base genome for the next generation. Then we replace the discarded or merged mutations with new ones.

Is this known under some name? Is it a good idea?

$\endgroup$
4
  • $\begingroup$ When you say "a pool of $N$ mutations", do you mean changes that you can apply to the "base genome"? Then you say "We discard mutations for which the population with that mutation performs worse than the population without it", so does it mean that you will evaluate, say, $M$ individuals that are produced by $M$ sets of mutations (on set of mutations produces an individual) and then compute the fitness of the whole population rather than of individuals? $\endgroup$
    – nbro
    May 12 at 8:53
  • $\begingroup$ @nbro fitness of a particular mutation would be measured by the average performance across all individuals with the mutation, minus the average performance across all individuals without the mutation. $\endgroup$
    – causative
    May 12 at 8:58
  • $\begingroup$ But if you have a base genome and apply the same mutation multiple times to that base genome, you will get multiple mutated individuals that are identical. In your case, it seems you maintain only one individual from one generation to the other. However, you apply different subsets of the set of possible mutations to that base individual to produce different intermediate individuals. So, you want to calculate the "fitness of a mutation", i.e. how good it might be if applied? $\endgroup$
    – nbro
    May 12 at 9:01
  • $\begingroup$ @nbro that is one way to put it. $\endgroup$
    – causative
    May 12 at 14:16
2
$\begingroup$

It's just a genetic algorithm, only your population is a set of instructions that generate a subject to be tested. There are minor differences in the way you apply multiple mutations, so you evaluate groups of them instead of each individually, but for the scoring you effectively single out the commonalities among the worse individuals.

Hard to tell whether it's a good idea; discarding poor mutations based on them being part of a sub-optimal individual might not be as straight forward as it sounds. And where do you get new mutations from?

$\endgroup$
5
  • $\begingroup$ One way to form new mutations could be to alter the base genome just enough so that it behaves differently in some particular task, e.g. so it gives the correct output for a particular input. The mutation could then be (altered genome) - (base genome), and we can add different mutations as vectors to combine them. $\endgroup$
    – causative
    May 12 at 8:54
  • $\begingroup$ It's not a genetic algorithm where the population is the mutations, because we do not evolve or mutate the "population" of mutations. $\endgroup$
    – causative
    May 12 at 14:09
  • $\begingroup$ @causative But you discard bad mutations and replace them with new ones. So the population of mutations changes, and presumably converges towards improvement over time. $\endgroup$ May 12 at 15:55
  • $\begingroup$ No, not really, because the new mutations are not generated as a crossover or mutation of old mutations. So their quality does not improve over time. Same as in a regular genetic algorithm. The difference is that here we explicitly manage gene diversity via the pool of mutations, instead of implicitly managing it as in a regular genetic algorithm. $\endgroup$
    – causative
    May 12 at 17:14
  • $\begingroup$ Also the best mutations go away too because they are merged into the base genome. It's expected that the deletion of the worst mutations would keep the pool of mutations above a certain quality, but that this quality would be relatively constant over time. $\endgroup$
    – causative
    May 12 at 17:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.