7

Mutation is usually defined to be a global operator, i.e. iterated mutation is (eventually) capable of reaching every point in the vector space defined by the geneome. In that sense, mutation alone is certainly 'enough'. Regarding the motivation for crossover - from Essentials of Metaheuristics, p42: Crossover was originally based on the premise that ...


6

As @Thomas W said, you can be pretty immaginative when you're developing mutation and crossover methods. Each problem has its own caracteristics and, therefore, requires a different strategy. BUT, from my experience, I'd say that 90% of crossovers and mutation on real numbers genotypes are solved using the BLX-α algorithm. Crossover: This algorithm is ...


5

Crossover allows to combine two parents (vs. mutation, which only uses one parent). In some cases, it is useful (e.g., if you train a FPS bot, if one parent is good at shooting and another parent is good at moving, it makes sense to combine them). In some other cases, it is not.


5

You have a genome with certain genes: genome = { GeneA: value, GeneB: value, GeneC: value } So take for example: genome = { GeneA: 1, GeneB: 2.5, GeneC: 3.4 } A few examples of mutation could be: Switch around two genes: { GeneA: 1, GeneB: 3.4, GeneC: 2.5 } Add/substract a random value from a gene: { GeneA: 0.9, GeneB: 2.5, GeneC: 3.4 } Suppose you ...


5

The mutation is an operation that is applied to a single individual in the population. It can e.g. introduce some noise in the chromosome. For example, if the chromosomes are binary, a mutation may simply be the flip of a bit (or gene). The crossover is an operation which takes as input two individuals (often called the "parents") and somehow ...


4

When thinking about crossover its important to think about the fitness landscape. Consider a hypothetical scenario where we are applying a genetic algorithm to find a solution that performs well at 2 tasks. This could be from Franck's example (moving and shooting) for an AI, or perhaps it could be predicted 2 outputs in a genetic machine learning scenario, ...


4

The mutation operation is (usually) needed to introduce new genes not found in the population. For example, suppose that you have 4 possible genes $A$, $B$, $C$, and $D$, and that your chromosomes have a non-binary encoding. In that case, if no member of your population has the gene $D$, then no amount of crossover operations will result in the introduction ...


3

As @Oliver Mason says, picking the parameters that control the behavior of a GA (which are sometimes called "hyperparameters") is historically more of an art than a science. The evolutionary computation literature has many theories about the merits of high vs. low mutation, and high vs. low crossover. Most practitioners I have worked with use either high ...


3

The crossover rate, $p_c \in [0, 1]$, is a hyper-parameter that controls the rate at which solutions are subjected to crossover. So, the higher $p_c$, the more crossovers you perform, so the more diversity (in terms of solutions/chromosomes) you may introduce in the population. Typical values of $p_c$ are in the range $[0.5, 1.0]$. For example, in this ...


2

In genetic algorithms, mutation without crossover simply means that part of the population is randomly changed. In this case this is applied to 25% of the population. The remaining 75% either remain unchanged (generally the best performing specimen), or will be combined with other specimen (using crossover). It's a bit more complex here, as the genome is ...


1

If X is your 6D vector and m(X) is the mutated version of X, then you can renormalise the mutant back to unity by dividing by the sum of X, i.e. X' = m(X)/sum(X). However, I encourage you figure out how to mutate a vector while keeping the length of the vector at 1. One way to do this would be to randomly rotate your vector in 6D space. The length should ...


1

You have two broad categories of options, prevention and repair. Prevention means defining a crossover and mutation operator that try to be more intelligent about respecting the constraints. Suppose you have an encoding where each individual is a list of integers, and the constraint is that there can't be duplicates. You might define a crossover operator ...


1

Mutation is used to maintain diversity in the solutions. Crossover alone cannot do this.


1

Okay, I'm first going to review how NEAT works. I hope this helps you model NEAT successfully as a whole, not just limited to your question. We use neuro-evolution to create a specific behavior that solves a given task. The behavior can be simple and complex. Now let's focus on behavior... Different neural networks can create the same behavior (A.K.A the ...


1

If I understood correctly, your problem is about finding the optimal way to execute a series of tasks in order to maximize the results, using Genetic Algorithms. In few words, you're trying to solve the salesman problem. If I am correct, you're looking for Crossover and Mutation algorithms that allow you to work with ordered sets of elements. For these ...


1

I like to use the term, "recombination operator" rather than "crossover operator", because the latter term suggests a specific type of operation: constructing an offspring by switching corresponding chromosome segments between two parents. "Recombination" (to me) suggests any operation that forms an offspring from the genetic information of two parents. "...


1

Firstly, before we commence I will recommend that you refer to a similar questions on the network https://stackoverflow.com/questions/828486/neural-net-optimize-w-genetic-algorithm The majority of ML studies focus on gradient algorithms, usually a variation of back-propagation to obtain the weights of the model. However since genetic algorithms are ...


Only top voted, non community-wiki answers of a minimum length are eligible