# Adaptive Gene Level Mutation
## 3 Locus Adaptive Genetic Algorithm
The function used to calculate the mutation rate can be a linear function which relies on the fact that it is beneficial to have a high mutation rate at the beginning and lower mutation rate during convergence [25], a gaussian function [26] where the mutation rate is going to increase smoothly until reaching an apex then decrease steadily converging to zero, Levy distribution [27] or any arbitrary function. It is not the best approach having the same probability for each chromosome which could be very close to the optimal solution or far away from it. Another approach with the same problem is population adaptive operator [28; 29] as in Equation (4) where each generation has a different mutation operator which is deduced from the generation statistics. In [30], more than one mutation operators are used with an equal initial probability (1/the number of operators), but after each iteration the probabilities will increase/decrease according to the fitness values of each operator designated offspring. In general these approaches can be defined as:  
\[PM(Pop_{tij})=F(Pop_{tik}^{l=1...M,k=1...N}) \tag{4}\]  
\(F\) will determine how the mutation depends on all the fitness values in the current population for every \(i\) and \(j\) (chromosome and gene). Again once the population is determined, the probability of mutation is the same for every chromosome and gene \((PM(Pop_{tij})=PM(Pop_{tik})\forall i,j,k,l)\). To solve this problem an individual adaptive mutation [31; 32] was proposed as in Equation (5) where each chromosome has its own different mutation operator that can be concluded from the statistic about the search space of each chromosome through the populations which is, the statistic, implicitly maintained by the algorithm. Mutation rate can change not only in different iterations, but also at the same generation where better candidates will have lower mutation rate, meanwhile worse candidates will have higher mutation rates. Each chromosome will have a different mutation rate which is proportional with comparison to the other chromosomes in the current population. \[PM(Pop_{iij})=F(Pop_{thl}^{l=1...M,k=1...N},i) \tag{5}\]  
\(F\) is a function depending on the fitness function of the selected chromosome \(i\), and the fitness of all the chromosomes \(k\) in the population. Even though chromosomes which are closer to the optimal solution has a smaller probability for mutation, their mutation most probably is going to diverge them from the optima. Thus, most of the genes are in a good position and any random modification is going to be mostly harmful. Hence uniformly distributed mutation over the genes is not the best option; assume we have an almost perfect solution (nine genes are perfect and one is bad), we have a 9/10 chance with uniform mutation to make this instance worse. To tackle this problem, we have designated a different probability operator for each gene in a chromosome which can only be possible in partially solvable problems. To think about it, the mutation happens in gene level where we choose one or two genes randomly and then we change their values. Thus, a gene which is in a good position should be less prone to mutation. The simplest model for gene level mutation is locus mutation as in Equation (6) where all generations and chromosomes have the same mutation rate but each gene has a different mutation rate which corresponds with the other genes. \[PM(Pop_{iij})=F(Pop_{thl}^{l=1...M},j) \tag{6}\]  
\(F\) is a function depending on the fitness function of the selected gene \(l\). Once the mutation rate is set, the probability of mutation is the same for every chromosome at all time (\(PM(Pop_{thl})=PM(Pop_{thl})\forall t,i,k\)). To grasp the concept before diving into details, we can simply state that measuring the fitness of each gene in a partially solvable problem will deduce a unique customized distribution for each chromosome yielding a gene level mutation. As an advantage of our approach, we can combine locus mutation with any of the other proposed methods.