2.4.9. Разновидности генетических операторов Разновидности генетических операторов и их сочетаний порождают множество генетических методов, описание некоторых из них можно найти, например, в [61; 62]. Варианты кроссовера связаны с числом мест разрыва родительских хромосом. Если место одно, то кроссовер называют одноточечным, иначе имеем многоточечный кроссовер. На рис. 2.14 показан результат двухточечного кроссовера для тех же родителей, что и в примере рис. 2.13, при разрывах после второго и пятого локусов. Если структура хромосомы однородная в том смысле, что все проектные параметры, отображаемые генами, относятся к одной и той же классификационной группе в контексте решаемой задачи, то целесообразен одноточечный кроссовер. Когда гены могут быть сгруппированы по одному признаку (например, по принадлежности к определенным конструктивным блокам) и упорядочены в группах по другому признаку (например, по физическому смыслу), то более эффективным может оказаться многоточечный кроссовер, при котором по одной точке разрыва приходится на каждую группу. Конкретный пример многоточечного кроссовера будет приведен далее при рассмотрении задачи синтеза расписаний для многостадийных процессов. Возможны разные способы выбора объекта мутации. В соответствии с одним из способов обращение к процедуре мутации происходит с некоторой постоянной вероятностью, как в базовом генетическом алгоритме. В соответствии с другим способом ради снижения опасности стагнации вероятность мутации увеличивают, когда две выбранные родительские хромосомы различаются значениями не более чем h генов, обычно h = 0.. .2. Сами мутации различаются числом одновременно мутируемых генов и с этой точки зрения могут быть простыми, макромутациями (многопозиционными) и хромосомными. Во всех случаях мутируемым генам присваиваются случайные значения, выбираемые в области определения генов. а 1 2 b с 3 d 4 e 5 6 f g 7 8 h 9 i j 10 Рис. 2.14. Результат двухточечного кроссовера При простой мутации изменение значения каждого гена происходит с вероятностью Рм ,обычно эта вероятность невелика и ее ставляет сотые-тысячные доли единицы. В другой разновидности простой мутации в хромосоме изменяется значение единственнс го гена, позиция этого гена выбирается с равной вероятностью среди генов хромосомы. При макромутациях число мутируемых генов R, называемое размером макромутации, может быть любым в диапазоне от 1 до п включительно, где п - число генов в хромосоме. Различают случайное распределенное позиционирование мутируемых генов, сосредоточенное регулярное позиционирование и распределенное регулярное позиционирование. Эти виды макромутаций реализуютс локальногенетическими алгоритмами, которые будем обозначать LGA1, LGA2 и LGA3 соответственно. В LGA1 позиции мутируемых генов в хромосоме выбираются случайным образом. В LGA2 мутируемые гены расположены подряд, т.е. они составляют схему с L(Н) =D(Н) + 1. В LGA3 расположение мутируемых гене относительно друг друга задается заранее. Случайной в LGA2 и LGA3 является позиция только первого из мутируемых генов. В хромосомных мутациях R= п, т.е. изменяются значения все генов. С помощью оператора селекции формируется набор хромосом нового поколения. Часто в новое поколение включают лучшего из двух потомков после каждой операции кроссовера, а также хромосомы, получающиеся в результате мутаций. Другой вариант селекции - в новое поколение включаются две лучшие хромосомы, выбираемые среди двух потомков и двух родителей в каждой onерации кроссовера. Третий вариант - новое поколение формируем из тех хромосом, являющихся результатами кроссовера и мутации, целевая функция которых меньше (при минимизации) некоторого порога. Порог может быть равен или среднему значению целевой функции F в текущем поколении, или значению F особи, занимающей определенное порядковое место в некоторой группе хромосом, включающей всех родителей, потомков и мутантов и называемой репродукционной группой. Часто при этом используется схема отбора, в соответствии с которой в новое поколение включаются N лучших представителей репродукционной группы. Размер репродукционной группы в этой схеме обычно равен 2N. В операторах селекции на основе репродукционной группы можно использовать вероятностный отбор экземпляров в соответствии методом отжига. Экземпляр включается в новое поколение, ecли рассчитанная при Е1 < Е2 по формуле (2.1) вероятность Р(Е1, Е2 ) больше порога а, где Е1- значение целевой функции, усредненное по репродукционной группе, Е2 - значение целевой функции для исследуемого экземпляра, а - случайное число, выбираемое в интервале [0, 1]. Если член популяции с минимальным (лучшим) значением целевой функции принудительно включается в новое поколение, то гарантируется непосредственное наследование приобретенных этим членом положительных свойств. Такой подход называют элитизмом. Обычно элитизм способствует более быстрой сходимости к локальному экстремуму, однако в многоэкстремальной ситуации ограничивает возможности попадания в окрестности других локальных экстремумов. Во многих приложениях между генами существуют зависимости, приводящие к некорректности некоторых экземпляров хромосом, генерируемых случайным образом. Некорректность, в частности, выражается в том, что для некорректных хромосом не удается правильно определить значение целевой функции. Другими словами, в процессе генетического поиска нельзя допустить, чтобы в популяции появлялись некорректные хромосомы. Поскольку и кроссовер, и мутации могут приводить к формированию недопустимых потомков, приходится вводить в генетический алгоритм дополнительные операторы корректировки хромосом. Это обстоятельство усложняет алгоритм. Обычно возможность появления недопустимых хромосом связана с наличием зависимостей между генами. Тогда независимый случайный выбор значений генов, как это происходит при кроссовере и мутациях в базовом генетическом алгоритме, становится некорректным. Рассмотрим примеры приложений, в которых существуют межгенные зависимости, приводящие к таким некорректностям. П р и м е р 6. Пусть в задаче о назначениях требуется распределить п работ между п исполнителями так, чтобы каждый исполнитель выполнял одну работу и общая стоимость выполнения работ была минимальной. Можно сформировать хромосому из п генов так, чтобы гены соответствовали исполнителям, а их значениями были номера работ. На рис. 2.15 показаны возможные пары хромосом родителей и потомков для случая п = 10. Видно, что хромосомы потомков некорректны, так как в первой из них работы 7 и 9 назначены двум исполнителям каждая, а работы 1 и 2 вообще не назначены. Во второй хромосоме противоположная ситуация - работы 1 и 2 назначены дважды, работы 7 и 9 не задействованы. Отметим, что мощность множества всех возможных хромосом с учетом любых макромутаций в рассматриваемом случае равна 1010, а мощность подмножества корректных хромосом 10! Следовательно, вероятность получения корректных потомков крайне мала. 7 3 9 5 10 1 2 8 6 4 1 1 3 4 5 6 7 8 9 10 7 3 9 4 5 6 7 8 9 10 1 2 3 5 10 1 2 8 6 4 7 3 9 4 5 б 2 8 1 10 1 2 3 5 10 6 7 8 9 4 Родители Потомки (до корректировки) Потомки (после корректировки) Рис. 2.15. Получение некорректных хромосом потомков и их корректировка Пример7. Рассмотрим задачу разбиения графа на два подграфа так, чтобы число вершин в подграфах А1 и А2 было равно заданным значениям N1 и N2 и при этом целевая функция имела экстремальное значение. Будем считать, что если аллель k-го гена равен 1, то вершина k находится в А1, если же аллель k-го гена равен 0, то - в А.г Очевидно, что число единиц в хромосоме должно равняться N1, число нулей – N2 . Однако это условие для хромосом потомков, получающихся в результате кроссовера или мутаций, в общем случае не соблюдается, причем попрежнему вероятность получения корректного потомка крайне мала. Корректировка хромосомы заключается в принудительном изменении значений некоторых генов в хромосоме потомка. Например, в задаче разбиения графа (см. пример 7) левый участок хромосомы, который взят от одного из родителей, можно оставить без изменений, а в правом участке, взятом от другого родителя, нужно согласовать число единиц с требуемым N1, тем или иным способом. Один из таких способов - метод частичного парного кроссовера РМХ (Partially Matched Crossover). Для иллюстрации РМХ рассмотрим корректировку хромосом потомков (см. рис 2.15). В методе РМХ выделяются сопряженные пары аллелей в одноименных локусах хромосом родителей. Поскольку корректировка будет в отрезках хромосом, следующих за линией кроссовера, то на рис. 2.15 это пары (5 и 4), (10 и 5), (1 и 6) и т.д. При корректировке хромосома потомка просматривается слева направо, и, если повторно встречается некоторое значение, оно заменяется на сопряженное значение. Так, в примере для первого потомка повторно встречающееся значение 7 в седьмом локусе будет заменено на 2, значение 9 в девятом локусе на значение 6, но поскольку значение 6 также появляется повторно, оно будет заменено на сопряженное значение 1. Для второго потомка значение 1 в шестом локусе заменяется на 6, значение 2 в седьмом локусе - на 7, значение 6 в девятом локусе - на 9. Находят применение и некоторые дополнительные операторы. К их числу относится оператор переупорядочения генов - изменения их распределения по локусам. Переупорядочение связано со свойством, носящим название эпистасис. Эпистасис имеет место, если характер влияния на функцию полезности некоторого параметра оказывается различным при разных значениях некоторых других генов (аллелей). Простейший пример эпистасиса - влияние булевых аргументов А и В на функцию F(A, Б) «отрицание равнозначности». Если целью является получение истинного значения функции F(A, В), то при А = true аргумент В должен принимать значение false, если же А = false, то В, наоборот, должно иметь значение true. Наличие эпистасиса говорит о нелинейности целевой функции и существенно усложняет решение задач. Действительно, если некоторые аллели двух генов оказывают определенное положительное влияние на целевую функцию, образуя некоторую связку (шаблон), но в результате эпистасиса эти гены по отдельности оказывают противоположное влияние на функцию полезности, то разрывать такие шаблоны не следует. А это означает, что связанные эпистасисом гены желательно располагать близко друг к другу, т.е. при небольших длинах шаблонов, чтобы вероятность разрыва этих шаблонов была бы меньше. Оператор переупорядочения предназначен для перестановки связанных эпистасисом генов в близкорасположенные позиции, если тем или иным способом удается «нащупать» такие взаимосвязанные совокупности (их называют строительными блоками - building blocks)