Один способ вычисления времени смешивания для генетических операторов скрещивания

Изучение особенностей вычисления времени смешивания для операторов кроссовера, работающих с бинарными строками. Моделирование эволюции популяции, изменяющейся под действием только оператора кроссовера. Оценка времени смешивания для точечного оператора.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 17.01.2018
Размер файла 76,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

УДК 681.513.6; 519.711.3

ОДИН СПОСОБ ВЫЧИСЛЕНИЯ ВРЕМЕНИ СМЕШИВАНИЯ ДЛЯ ГЕНЕТИЧЕСКИХ ОПЕРАТОРОВ СКРЕЩИВАНИЯ

Ю.Р. Цой

Аннотация

В работе предлагается способ вычисления времени смешивания для 1-, 2- и n-точечного операторов кроссовера, работающих с бинарными строками. Полученные оценки времени смешивания для 1- и 2-точечного точечного кроссовера совпадают с оценками из более ранних работ Рабани с сотрудниками и Пругеля-Беннета и для бинарных хромосом длины L имеют порядок .

Введение

Генетические алгоритмы (ГА) [Емельянов и др., 2003, Holland, 1975] используют принципы естественной эволюции и часто применяются для решения задач моделирования и оптимизации. Решение оптимизационных задач с использованием ГА возможно благодаря представлению (кодированию) вероятного решения задачи в виде строки (хромосомы), которая изменяется с течением времени в результате преобразований с использованием генетических операторов. Целесообразность преобразований определяется с помощью функции приспособленности, которая зависит от поставленной задачи и соответствующей целевой функции и определяет приспособленность каждой хромосомы в зависимости от качества соответствующего ей декодированного решения. Отличительной особенностью большинства ЭА является использование одновременно множества решений, популяции, что делает возможным параллельный поиск и часто позволяет компенсировать шум при вычислении приспособленностей [Arnold et al., 2000], а также «починить» (repair) ненужные изменения хромосом [Beyer, 1995].

Оператор скрещивания - кроссовер, является одним из основных операторов в ГА и используется для получения хромосом потомков путем рекомбинации родительских хромосом (рис. 1). Вместе с оператором мутации, который вносит произвольные изменения в хромосомы популяции, оператор кроссовера (ОК) определяет положение популяции потомков в пространстве поиска. Поскольку часто в генотипе кодируются параметры решаемой задачи, то можно сказать, что генетические операторы играют одну из определяющих ролей в перемещении популяции в фазовом пространстве задачи.

Размещено на http://www.allbest.ru/

Рис. 1. 1-точечный (а) и 2-точечный (б) операторы скрещивания для бинарных хромосом. Пунктирные стрелки указывают на одну и ту же точку разрыва 2-точечного ОК, которая «склеивает» начало и конец хромосомы (в соответствии с общепринятой условностью, впервые введенной в [De Jong, 1975])

Одним из основных свойств операторов скрещивания является способность к смешиванию, которая характеризует способности ОК к созданию пар хромосом потомков, отличных от хромосом родителей. К примеру, для двух бинарных родительских хромосом длины L, различающихся в k разрядах (расстояние по Хеммингу между хромосомами равно k) и если , то одноточечный ОК позволяет создать (k + 1) различную пару хромосом потомков, двухточечный ОК: , а однородный ОК: пар различных хромосом, где . Соответственно считается, что 1-точечный ОК имеет наименьшие способности к смешиванию, а однородный ОК Сисверды [Syswerda, 1989] является оператором с максимальной смешивающей способностью [De Jong et al., 1992].

Еще одной характеристикой, которая отражает способности ОК к смешиванию, является время смешивания (mixing time), за которое оператор скрещивания, работающий без селекции и мутации, преобразует популяцию максимально различных строк в популяцию одинаковых по составу строк [Rabani et al., 1998] (рис. 2) (порядок следования символов в строках не учитывается). Достаточно очевидно, что ОК с большими способностями к смешиванию быстрее перемешивают популяцию.

Размещено на http://www.allbest.ru/

Рис. 2. Пример несмешанной и смешанной популяции для случая 5-символьного алфавита

В работах Рабани с сотрудниками [Rabani et al., 1998] и Пругеля-Беннета [Prugel-Bennett, 2001] показано, что время смешивания для 1- и 2-точечного ОК имеет порядок , а для однородного кроссовера - . Однако использованный в работах [Rabani et al., 1998, Prugel-Bennett, 2001] математический аппарат довольно сложен. В частности, в [Rabani et al., 1998] оператор кроссовера был промоделирован как динамическая система второго порядка (quadratic dynamical systems) и получены достаточно точные верхняя и нижняя границы времени смешивания. В [Prugel-Bennett, 2001] оценка времени смешивания кроссовера производится в результате анализа предложенного Пругелем-Беннетом параметра порядка - меры смешанности строк в популяции. Рассматриваемые операторы кроссовера единообразно формализуются, однако, специфика работы различных операторов (в частности, различная позиционная неопределенность (positional bias)) стала причиной использования разной методологии вычисления времени смешивания для разных операторов. Также отметим, что анализ в [Rabani et al., 1998, Prugel-Bennett, 2001] осложняется рассмотрением популяции строк, т.к. в этом случае приходится моделировать изменение распределения строк по их составу в пространстве параметров в ходе эволюции.

В данной статье будет показано, что можно получить оценки, аналогичные оценкам из более ранних исследований, используя намного более простой и универсальный подход. Необходимо отметить, что в работе [Rabani et al., 1998] одной из основных целей являлось моделирование эволюции популяции, изменяющейся под действием только оператора кроссовера, поэтому полученные в работе Рабани с сотрудниками результаты более детальны, а, следовательно, и более значимы.

1. Описание способа вычисления времени смешивания

Будем анализировать время , которое потребуется, чтобы распределить символы некоторой строки длины L по всей популяции так, чтобы все разряды попали в различные строки. Для вычисления времени смешивания для ОК считаем, что время необходимое для распределения разрядов из по популяции, совпадает по порядку со временем, необходимым для распределения по популяции символов всех других строк, и, следовательно, совпадает по порядку со временем смешивания для рассматриваемого ОК.

Рассмотрим нижнюю границу этого времени для ОК, порождающего двух особей-потомков. В самом «благоприятном» варианте в момент времени t = 0 исходная строка делится на две равные части (по числу хромосом потомков). Затем эти части также делятся пополам, причем полученные половины переходят к разным хромосомам-потомкам, т.е. для разряды из исходной строки будут присутствовать в 4-х строках популяции. Рассуждая подобным образом, видно, что для полного распределения разрядов строки по всей популяции необходимо минимум

(1.1)

шагов, что соответствует минимально возможному времени смешивания ОК для случая генерации двух особей-потомков. Поскольку однородный кроссовер обладает максимально возможными смешивающими способностями [De Jong et al., 1992], то можно предположить, что время смешивания для однородного кроссовера имеет порядок , что согласуется с результатами [Rabani et al., 1998, Prugel-Bennett, 2001], где порядок составляет . Далее, для других ОК будем считать, что при скрещивании двух особей одна и только одна родительская хромосома содержит разряды из . Т.е. предполагаем, что длина L строки мала по сравнению с размером популяции n, т.е. . В этом случае вероятность перемешать в результате скрещивания разряды из , которые могли бы присутствовать в каждой из родительских хромосом, невелика и ею можно пренебречь.

Для вычисления времени смешивания для 1-точечного ОК нам, таким образом, достаточно посчитать время, которое необходимо, чтобы точки кроссовера попали на каждую позицию из (L - 1) возможной «внутри» . Т.е. будем вычислять время, за которое исходная строка будет разделена на отдельные разряды, которые, согласно сформулированному условию, будут распределены по различным хромосомам.

Также полагаем, что использованная единожды точка разрыва в дальнейшем не учитывается. Другими словами, считаем, что как только точка разрыва ОК попадает после i-го разряда , то повторное попадание точки разрыва в эту же позицию не приводит к дальнейшему разбиению на подстроки и, следовательно, не влияет на оценку времени смешивания.

Для 1-точечного ОК время смешивания будем вычислять как:

(1.2)

где - время необходимое для попадания точки разрыва 1-точечного ОК в k-ю по счету возможную точку разрыва. Будем вычислять время как величину, обратную частоте, , где - вероятность попадания в k-ю позицию разрыва для 1-точечного ОК. Тогда имеем:

(1.3)

Подставляя (1.3) в (1.2), получим:

,(1.4)

Известно, что сумма ряда расходится, при этом справедливо неравенство [Выгодский, 2001]:

.(1.5)

Подставляя данное неравенство в (1.4), получим:

, (1.6)

что совпадает по порядку со временем смешивания для 1-точечного кроссовера , вычисленного в работах [Rabani et al., 1998, Prugel-Bennett, 2001].

Рассуждая аналогичным образом, вычислим нижнюю границу времени смешивания для 2-точечного ОК. Согласно известному соглашению, сформулированному в [De Jong, 1975], для 2-точечного ОК существует L возможных точек разрыва, причем L-1 точка разрыва совпадает с таковыми для 1-точечного кроссовера и еще одна «склеивает» начало и конец хромосомы. Будем рассматривать время , где - вероятность «выбывания» из рассмотрения k-й и (k +1)-й возможных точек разрыва. Здесь, для более точной оценки , рассматривается только случай, когда обе точки 2-точечного ОК попадают на еще «не использованные» точки разрыва в , поскольку во всех других случаях, в предлагаемом способе анализа будет рассматривается случайная комбинация 1-точечного и 2-точечного ОК, что, безусловно, повлияет на результат вычисления . Полагая для простоты, что L - четно, по аналогии с выражением (1.4) имеем:

.

Подставив (1.5), получим:

(1.7)

Данная оценка времени смешивания для 2-точечного ОК совпадает по порядку с величиной , полученной в [Rabani et al., 1998, Prugel-Bennett, 2001]. Заметим, что согласно (1.6) и (1.7): что совпадает с результатом из [Prugel-Bennett, 2001].

Для случая n-точечного ОК легко показать, что

(1.8)

что приводит к оценке:

.(1.9)

Заметим, что с ростом n и L ошибка оценки (1.9) увеличивается, в силу преобразования (1.8), а также ввиду рассматриваемого случая . Для предельного случая n = L , соответствующего однородному ОК, получаем очевидное неравенство: .

Это показывает, что полученные оценки - консервативны и задают нижнюю границу времени смешивания для рассмотренных 1-, 2- и n-точечного ОК.

смешивание время оператор кроссовер

Заключение

В работе представлен простой способ вычисления оценки времени смешивания для ОК для бинарных хромосом, основанный на вычислении количества поколений, необходимых для попадания точек разрыва во все возможные позиции внутри хромосомы. Получены оценки времени смешивания для 1-, 2- и n-точечного операторов кроссовера, совпадающие по порядку с оценками из работ [Rabani et al., 1998, Prugel-Bennett, 2001]. Также показано, что 2-точечный ОК примерно в два раза быстрее смешивает популяцию, чем 1-точечный ОК, что повторяет результат из [Prugel-Bennett, 2001]. В дальнейшем планируется проверить полученные оценки с помощью компьютерного моделирования.

Автор выражает признательность рецензентам за замечания, способствовавшие улучшению данной статьи.

Список литературы

Выгодский М.Я. Справочник по высшей математике. М: Джангар, 2001.

Емельянов В.В., Курейчик В.М., Курейчик В.В. Теория и практика эволюционного моделирования. - М.: ФИЗМАТЛИТ, 2003.

[Arnold et al., 2000] Arnold D.V., Beyer H.-G. Performance Analysis of Evolution Strategies with Multi-Recombination in High-Dimensional RN-Search Spaces Disturbed by Noise. Reihe CI 94/00, SFB 531, University of Dortmund, 2000. See also: http://sfbci.cs.uni-dortmund.de

[Beyer, 1995] Beyer H.-G. Toward a theory of evolution strategies: On the benefit of sex - the ()-theory // Evolutionary Computation. 1995. № 3(1). P. 81-111.

[De Jong, 1975] De Jong K. An analysis of the behavior of a class of genetic adaptive systems. Unpublished PhD thesis. University of Michigan, Ann Arbor, 1975. (Also University Microfilms No. 76-9381). See also: http://www.cs.gmu.edu/~eclab

[De Jong et al., 1992] De Jong K.A., Spears W.M. A formal analysis of the role of multi-point crossover in genetic algorithms // Annals of Mathematics and Artificial Intelligence. 1992. № 5(1). P. 1-26. See also: http://www.cs.gmu.edu/~eclab

[Holland, 1975] Holland J.H. Adaptation in Natural and Arti?cial Systems. - The University of Michigan Press, 1975.

[Prugel-Bennett, 2001] Prugel-Bennett A. The mixing rate of different crossover operators // Foundations of Genetic Algorithms 6. 2001. P. 261-274. See also: http://citeseer.ist.psu.edu/

Rabani Y., Rabinovich Y., Sinclair A. A computational view of population genetics // Random Structures & Algorithms. 1998. № 12(4). P. 313-334.

[Syswerda, 1989] Syswerda G. Uniform crossover in genetic algorithms // Proceedings of Third International Conference on Genetic Algorithms. - San Mateo, CA: Morgan Kaufmann. 1989. P. 2-9.

Размещено на Allbest.ru


Подобные документы

  • Изучение циклических операторов: оператора цикла, управляемого счетчиком, оператора цикла с предусловием и постусловием. Минимизированные функции, текст программы. Алгоритм работы приложения по нахождению функции с помощью операторов break и continue.

    лабораторная работа [474,2 K], добавлен 23.11.2014

  • Рассмотрение законов смешивания основных цветов. Волновые свойства света. Понятие тона, яркости и насыщенности. Характеристика сущности аддитивных и субтрактивных моделей синтеза цвета. Ознакомление с форматами хранения растровых изображений в BMP-файлах.

    презентация [237,8 K], добавлен 26.07.2013

  • Анализ методов и средств профессионального обучения операторов перегрузочных машин, автоматизация процесса. Построение функциональной модели компьютерного тренажера оператора портального крана. Разработка программного и информационного обеспечения.

    дипломная работа [3,7 M], добавлен 12.05.2018

  • Разработка математической модели заданной системы, ее внутреннее содержание и взаимосвязь отдельных компонентов. Формирование алгоритма решения задачи. Проектирование программы и ее листинг, порядок и основные этапы проведения необходимых расчетов.

    контрольная работа [656,9 K], добавлен 02.02.2015

  • Моделирование системы массового обслуживания на примере производства мороженного: описание процесса смешивания ингредиентов, замораживания смеси, разделения на порции, раскладки по стаканчикам и упаковки мороженого. Улучшение производительности модели.

    курсовая работа [3,3 M], добавлен 28.03.2019

  • Ознакомление с формой записи и работой операторов условного if (если) и безусловного а goto (идти к) переходов как способами организации ветвления в программе. Изучение оператора выбора альтернативы - switch (переключатель). Использование функции default.

    лабораторная работа [72,0 K], добавлен 15.07.2010

  • Генетическое программирование и алгоритм. Метод сетевого оператора. Матрица, вариации и вектор сетевого оператора. Метод интеллектуальной эволюции. Сетевой оператор базового решения. Движение робота в плоскости X,Y, симуляция с начальными условиями.

    дипломная работа [2,6 M], добавлен 23.09.2013

  • Описание особенностей программирования циклических алгоритмов на С/С++. Использование операторов цикла для организации повтора в программе определенных действий. Создание и реализация программы приближенного вычисления интеграла методом трапеций.

    лабораторная работа [86,3 K], добавлен 25.03.2019

  • Исследование основных операторов языка SQL. Изучение отличий операций произведения и соединения отношения. Выбор из базы данных запрошенной информацию и передача ее пользователю для работы. Список выборки оператора Select. Логическое выражение в опции.

    презентация [48,2 K], добавлен 07.12.2013

  • Разработка различных программ для вычисления X и Y по формуле, для вычисления интеграла, для вычисления таблицы значений функции и для вычисления элементов вектора. Составление блок-схемы программы. Ввод значений, описание переменных и условия расчета.

    контрольная работа [148,1 K], добавлен 08.11.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.