Genetic Algorithms: Basic Ideas, Variants and Analysis
R. R. · 2007
IntroductionGenetic algorithms are wide class of global optimization methods.As well as neural networks and simulated annealing, genetic algorithms are an example of successful using of interdisciplinary approach in mathematics and computer science.Genetic algorithm simulates natural selection and evolution process, which are well studied in biology.In most cases, however, genetic algorithms are nothing else than probabilistic methods, which are based on principles of evolution.The idea of genetic algorithm appears first in 1967 in J. D. Bagley's thesis (Bagley, 1967).The theory and applicability was then strongly influenced by J. H. Holland, who can be considered as the pioneer of genetic algorithms (Holland, 1992).Since then, this field has witnessed a tremendous development.There are many applications where genetic algorithms are used.Wide spectrum of problems from various branches of knowledge can be considered as optimization problem.This problem appears in economics and finances, cybernetics and process control, game theory, pattern recognition and image analysis, cluster analysis etc. Also genetic algorithm can be adapted for multicriterion optimization task for Pareto-optimal solutions search.But most popular applications of genetic algorithm are still neural networks learning and fuzzy knowledge base generation.There are three ways in using genetic algorithms with neural networks: 1. Weight learning.Optimal net weights are found with genetic algorithm when conventional methods (e.g.backpropagation) are not applicable.It is suitable when continuous activation function of neuron (such as sigmoid) is used, so error function become multiextremal and conventional method can find only local minimum.2. Architecture optimization.Genetic algorithm is used for finding optimal net architecture from some parameterized class of net architectures.3. Learning procedure optimization.In this expensive but effective method genetic algorithm is used for finding optimization parameters of learning function (weight correction function).Usually this method is used with architecture optimization simultaneously.Genetic fuzzy systems are other popular application of genetic algorithms.Fuzzy system design consists of several subtasks: rule base generation, tuning of membership function and tuning of scaling function.All this tasks can be considered as optimization problem, so genetic algorithm is applicable (Cordon et al., 2004).