Answers.Body: <p>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.</p>
  <p>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?</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-12T08:54:56.667Z
Answers.Text: 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.
Answers.UserDisplayName: causative
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-12T14:09:55.713Z
Answers.Text: It's not a genetic algorithm where the population is the mutations, because we do not evolve or mutate the "population" of mutations.
Answers.UserDisplayName: causative
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-12T15:55:29.920Z
Answers.Text: @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.
Answers.UserDisplayName: Oliver Mason
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-12T17:14:52.503Z
Answers.Text: 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.
Answers.UserDisplayName: causative
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-12T17:22:23.927Z
Answers.Text: 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.
Answers.UserDisplayName: causative
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-12T08:40:11.707Z
Answers.LastActivityDate: 2021-05-12T08:40:11.707Z
Answers.UserDisplayName: Oliver Mason
Body: <p>I am considering an approach to evolutionary algorithms, in which instead of maintaining a population of individuals, we maintain a pool of <span class="math-container">$N$</span> 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.</p>
  <p>Is this known under some name?  Is it a good idea?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-05-12T08:53:38.823Z
Comments.Text: 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?
Comments.UserDisplayName: nbro
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-05-12T08:58:14.857Z
Comments.Text: @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.
Comments.UserDisplayName: causative
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-05-12T09:01:38.307Z
Comments.Text: 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?
Comments.UserDisplayName: nbro
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-05-12T14:16:59.897Z
Comments.Text: @nbro that is one way to put it.
Comments.UserDisplayName: causative
Tags: <terminology><evolutionary-algorithms>
Title: Is there a name for this approach to evolutionary algorithms?
UserDisplayName: causative
ThreadText: # Is there a name for this approach to evolutionary algorithms?
  
  (Asked by: username_0 on 2021-05-12)
  
  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?
  
  **Tags:** terminology, evolutionary-algorithms
  
  > **Comments:**
  > **username_1**: 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?  
  > **username_0**: @username_1 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.  
  > **username_1**: 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?  
  > **username_0**: @username_1 that is one way to put it.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2021-05-12. Score: 2
  
  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?
  
  > **Comments:**
  > **username_0**: 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.  
  > **username_0**: It's not a genetic algorithm where the population is the mutations, because we do not evolve or mutate the "population" of mutations.  
  > **username_2**: @username_0 But you discard bad mutations and replace them with new ones. So the population of mutations changes, and presumably converges towards improvement over time.  
  > **username_0**: 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.  
  > **username_0**: 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.  
  
  ---
  
  