Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Генетический оператор — это оператор, используемый в генетических алгоритмах для направления алгоритма к решению поставленной задачи. Существует три основных типа операторов (мутация, кроссовер и селекция), которые должны работать согласованно для успешной работы алгоритма. Генетические операторы используются для создания и поддержания генетического разнообразия (оператор мутации), объединения существующих решений (также известных как хромосомы) в новые решения (кроссовер) и выбора между решениями (селекция). В своей книге, посвященной использованию генетического программирования для оптимизации сложных задач, ученый-компьютерщик Джон Коза также выделил оператор "инверсии" или "перестановки"; однако эффективность этого оператора никогда не была окончательно доказана, и он редко обсуждается. Операторы мутации (или подобные мутации) называются унарными, поскольку они оперируют только с одной хромосомой за раз. В отличие от них, операторы кроссовера называются бинарными, поскольку они оперируют с двумя хромосомами одновременно, объединяя две существующие хромосомы в одну новую хромосому.
A genetic operator is an operator used in genetic algorithms to guide the algorithm towards a solution to a given problem. There are three main types of operators (mutation, crossover and selection), which must work in conjunction with one another in order for the algorithm to be successful. Genetic operators are used to create and maintain genetic diversity (mutation operator), combine existing solutions (also known as chromosomes) into new solutions (crossover) and select between solutions (selection). In his book discussing the use of genetic programming for the optimization of complex problems, computer scientist John Koza has also identified an 'inversion' or 'permutation' operator; however, the effectiveness of this operator has never been conclusively demonstrated and this operator is rarely discussed. Mutation (or mutation like) operators are said to be unary operators, as they only operate on one chromosome at a time. In contrast, crossover operators are said to be binary operators, as they operate on two chromosomes at a time, combining two existing chromosomes into one new chromosome.
Операторы
Генетическая вариация необходима для процесса эволюции. Генетические операторы, используемые в генетических алгоритмах, аналогичны тем, что существуют в естественной среде: выживание наиболее приспособленных, или отбор; размножение (кроссовер, также называемое рекомбинацией); и мутация.
Genetic variation is a necessity for the process of evolution. Genetic operators used in genetic algorithms are analogous to those in the natural world: survival of the fittest, or selection; reproduction (crossover, also called recombination); and mutation.
Выбор
Операторы селекции отдают предпочтение лучшим решениям (хромосомам), позволяя им передавать свои "гены" следующему поколению алгоритма. Лучшие решения определяются с использованием некоторой формы целевой функции (также известной как "функция пригодности" в генетических алгоритмах), прежде чем они будут переданы оператору кроссовера. Существуют различные методы выбора лучших решений, например, пропорциональный отбор и турнирный отбор; разные методы могут выбирать разные решения, считая их "лучшими". Оператор селекции также может просто передать лучшие решения из текущего поколения непосредственно в следующее поколение без мутации; это известно как элитаризм или элитарный отбор.
Selection operators give preference to better solutions (chromosomes), allowing them to pass on their 'genes' to the next generation of the algorithm. The best solutions are determined using some form of objective function (also known as a 'fitness function' in genetic algorithms), before being passed to the crossover operator. Different methods for choosing the best solutions exist, for example, fitness proportionate selection and tournament selection; different methods may choose different solutions as being 'best'. The selection operator may also simply pass the best solutions from the current generation directly to the next generation without being mutated; this is known as elitism or elitist selection.
Кросс-овер
Кроссовер – это процесс объединения генетического материала нескольких родительских решений (хромосом) для создания нового решения-потомка. Комбинируя фрагменты удачных решений, генетический алгоритм повышает вероятность получения более оптимального результата.
Crossover is the process of taking more than one parent solutions (chromosomes) and producing a child solution from them. By recombining portions of good solutions, the genetic algorithm is more likely to create a better solution.
Мутация
Оператор мутации способствует генетическому разнообразию среди решений и пытается предотвратить схождение генетического алгоритма к локальному минимуму, не допуская чрезмерного сближения решений. При мутации текущего набора решений, отдельное решение может полностью отличаться от предыдущего. Мутируя решения, генетический алгоритм способен достичь улучшенного решения исключительно за счет оператора мутации. При этом могут использоваться различные методы мутации: от простой мутации битов (изменения случайных битов в двоичной строке хромосомы с некоторой низкой вероятностью) до более сложных методов, которые могут заменять гены в решении случайными значениями, выбранными из равномерного или нормального (гауссовского) распределения. Как и в случае с оператором кроссовера, метод мутации обычно выбирается в соответствии с представлением решения в хромосоме.
The mutation operator encourages genetic diversity amongst solutions and attempts to prevent the genetic algorithm converging to a local minimum by stopping the solutions becoming too close to one another. In mutating the current pool of solutions, a given solution may change entirely from the previous solution. By mutating the solutions, a genetic algorithm can reach an improved solution solely through the mutation operator. Again, different methods of mutation may be used; these range from a simple bit mutation (flipping random bits in a binary string chromosome with some low probability) to more complex mutation methods, which may replace genes in the solution with random values chosen from the uniform distribution or the Gaussian distribution. As with the crossover operator, the mutation method is usually chosen to match the representation of the solution within the chromosome.
Объединение операторов
Хотя каждый оператор по отдельности стремится улучшить решения, генерируемые генетическим алгоритмом, для успешного поиска хорошего решения операторы должны работать согласованно. Использование только оператора отбора приведет к заполнению популяции решений копиями наилучшего решения из популяции. Если операторы отбора и кроссовера используются без оператора мутации, алгоритм будет склонен сходиться к локальному минимуму, то есть к хорошему, но не оптимальному решению задачи. Использование только оператора мутации приводит к случайному блужданию по пространству поиска. Только совместное использование всех трех операторов позволяет генетическому алгоритму стать устойчивым к шуму алгоритмом восхождения на холм, обеспечивающим хорошие решения задачи.
While each operator acts to improve the solutions produced by the genetic algorithm working individually, the operators must work in conjunction with each other for the algorithm to be successful in finding a good solution. Using the selection operator on its own will tend to fill the solution population with copies of the best solution from the population. If the selection and crossover operators are used without the mutation operator, the algorithm will tend to converge to a local minimum, that is, a good but sub optimal solution to the problem. Using the mutation operator on its own leads to a random walk through the search space. Only by using all three operators together can the genetic algorithm become a noise tolerant hill climbing algorithm, yielding good solutions to the problem.