Fitness-Orientated Mutation Operators in Genetic Algorithms
Hoijin Yoon, Department of Computer Engineering, Hyupsung University, Hwaseungsi, South Korea.
Manuscript received on January 22, 2020. | Revised Manuscript received on January 30, 2020. | Manuscript published on February 10, 2020. | PP: 1769-1772 | Volume-9 Issue-4, February 2020. | Retrieval Number: D1692029420/2020©BEIESP | DOI: 10.35940/ijitee.D1692.029420
Open Access | Ethics and Policies | Cite | Mendeley
© The Authors. Blue Eyes Intelligence Engineering and Sciences Publication (BEIESP). This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/)
Abstract: Genetic Algorithms are the most popular metaheuristics used in search-based program solving. They search for a solution by repeating the following operators: selection, crossover, and mutation. By going through several generations of these operators, a solution is reached. The total number of generations depends on the reproduction of offspring. Of the reproduction operators, the mutation operator tends to be chosen with a random approach because the concept of mutation is from the natural evolution cycle. But the effectiveness of genetic algorithms should be monitored, especially in software testing. The effectiveness is represented by the total number of generations, which corresponds to the speed of solution acquisition. This work focuses on mutation as a factor in reducing the total number of generations and devises two contrasting ways to define mutation operators. One is fitness-positive, and the other is fitness-negative. The fitness-negative definition thus appears to fit more aptly. This work determines which of these two methods of mutation achieves the higher effectiveness through conducting a controlled experiment. The result shows that the fitness-positive method takes a smaller number of generations than the fitness-negative method.
Keywords: Mutation, Genetic Algorithms, Metaheuristic, Software Testing.
Scope of the Article: Systems and Software Engineering