Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы теории эволюционных вычислений. Научная монография

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
рассмотреть, можно ли в базовом цикле алгоритма ЭВ провести эффективный поиск решений этим способом или нет. Иными словами, необходимо дать предварительную оценку способу кодирования. Одна из таких оценок известна – легальность кодирования [Курейчик, 2002]. Свойство легальности кодирования означает, что любая перестановка в хромосоме, вследствие применения большинства операторов эволюции, должна соответствовать законному решению. Предлагаемая общая теория ЭВ позволяет построить обобщение свойств кодирования:
• недостаточность;
• полнота;
• причинность.
Свойство недостаточности вытекает из дополнительных правил, представленных выше для проектирования генотипа в эволюционных алгоритмах, и означает, что отображение между кодированием (генотипом) и решением (фенотипом) должно иметь вид 1–k–1. В общем случае такое отображение может относиться к одному из следующих типов:
• 1 – k – 1 («один к одному»);
• n – k – 1 («многие к одному»);
• 1 – k – n («один ко многим»),
представленных на рис. 5.
Самый лучший способ – это отображение «один к одному». Если имеет место отображение «многие к одному», то для ЭА неизбежны дополнительные затраты времени на поиск. Ситуация ещё более ухудшится при отображении «многие к одному», так как необходимы дополнительные процедуры на фенотипическом пространстве для определения единственного из n возможных решений.
Свойство полноты означает, что любое решение имеет соответствующее кодирование и любая точка в пространстве решений доступна для эволюционного поиска.
61
Генотипическое
кодирования
решений
1 – k – n
1 – k – 1
n – k – 1
пространство
Фенотипическое
пространство
Рис. 5. Типы отображений пространств генотип/фенотип
Наконец, свойство причинности связывает малые вариации в хромосомах пространства генотипов, которые появляются вследствие мутации, с малыми вариациями в фенотипическом пространстве. Это свойство было предложено, в первую очередь, для эволюционных стратегий [Rodzin, 2002]. Оно определяет сохранение родственных (соседних) структур. Таким образом, для успешного введения новой информации посредством мутации ее оператор должен сохранять структуру соседства в соответствующем фенотипическом пространстве.
2.6. Когнитивные возможности универсальной
феноменологической модели эволюционных вычислений
В разработанной общей теории эволюционных вычислений важную роль играют когнитивные возможности операторных конструкций алгоритмов ЭВ. Расширение когнитивных возможностей операторов эволюционных алгоритмов является важной стороной теории. Когнитивные возможности эволюционных операторов тесно связаны с такими понятиями, как самоадаптация и самоорганизация эволюционирующих природных систем. Эти понятия определяются через процессы морфогенеза (ненаследственных изменений, вызываемых
62
факторами внешней среды), через формирование ламарковских свойств индивидов, проходящих через фазу обучения или адаптации, через неслучайное видообразование. Интерпретация этих процессов в алгоритмах ЭВ требует разработки механизмов самоадаптации, например для управления параметрами эволюции [Курейчик, 2007 а].
Ниже с позиций общей теории эволюционных вычислений рассматриваются пути и способы расширения когнитивных возможностей операторных конструкций различных алгоритмов ЭВ.
Укажем пути и способы расширения когнитивных возможностей операторных конструкций для разных ранее рассмотренных формализованных моделей ЭВ.
Для класса генетических моделей ЭВ расширение их когнитивных возможностей связано, прежде всего, с представлением пространства поиска решений и целевой функцией, а также с применением разнообразных генетических операторов и механизмов селективного отбора.
Традиционной для ГА формой представления пространства поиска решений является двоичное кодирование с применением кода Грэя. Причина состоит в следующей особенности кода Грэя: расстояние по Хеммингу между соседними целыми числами для кода Грэя всегда равно 1, поэтому инвертирование отдельного бита в стринге не приводит к существенному изменению кодируемого значения переменной, от которой зависит решение. К тому же код Грэя преобразуется в стандартный код, и наоборот [Гладков, 2006; Родзин, 2007 а].
Для некоторых практических приложений успешно применяется проблемно-ориентированное кодирование в форме векторов, матриц или древовидных структур данных. Длина кодируемого стринга при этом не обязательно является постоянной. Это дает некоторые преимущества, например при решении таких задач, как проектирование и оптимизация архитектуры искусственных нейросетей [Рутковская, 2004].
63
Еще одной возможной формой представления решений являются диплоиды, предложенные Голдбергом [Goldberg, 1989] и содержащие два гомологичных набора хромосом. Ответ на вопрос о том, какая аллель будет выбрана при декодировании и оценке решения, зависит от ее доминантности или рецессивности. Такой подход к представлению решений дает определенные преимущества, если целевая функция является не стационарной.
Рассмотрим теперь возможности расширения когнитивных свойств основных операторных конструкций ГА.
Традиционно считалось, что вероятность мутации в ГА невысокая, а сам оператор имеет вспомогательное значение. Однако в [Back, 1996] доказано, что оптимальное значение вероятности мутации зависит от длины стринга L и приближенно равно p
≈1/L. При проблемно-ориентированном кодировании
m
оператор мутации отличается от мутации при двоичном кодировании.
Предлагается альтернативная форма мутации, согласно которой компонента вектора uj после мутации определяется случайным образом по следующей формуле:
uj'=uj + (β1j – 0,5)·2T, если β2j ≤pco.
В противном случае, если β2j >pco, то uj'=uj. Здесь β1j, β2j – независимые величины, случайно распределенные на интервале [0, 1]; T, pco – параметры, устанавливаемые пользователем.
Оператор инверсии был предложен Холландом [Holland, 1975] для изменения последовательности генов, когда в хромосоме между двумя случайно выбранными точками происходит инвертирование аллелей, а значение целевой функции при этом не изменяется. Инверсия приводит к увеличению пространства поиска решений, за счет этого появляется возможность для подбора подходящей позиции и значения гена.
Несмотря на то, что существуют разные мнения относительно того, насколько конструктивным является влияние
64
оператора кроссинговера, особенно вблизи точки оптимума, тем не менее, кроссинговер – это основной оператор репродукции и получения новых решений в ГА. Оператор кроссинговера характеризуется вероятностью его применения p
, а также
k
величинами позиционного и дистрибутивного смещения. Существует множество разновидностей этого оператора: N­точечный, универсальный, смешанный кроссинговер и т.д.
В частности, при выполнении N-точечного кроссинговера происходит обмен родительских стрингов, как это показано в табл. 1 для 4-точечного кроссинговера. Чем больше N, тем меньше позиционное и тем больше дистрибутивное смещение. Число обмениваемых битов с ростом N приближается к биномиальному распределению с математическим ожиданием
L/2.
Таблица 1
4-точечный кроссинговер
№ стринга 1 2 3 4 5 Родитель 1 1 1 1 1 1 1 1 1 1 Родитель 2 0 0 0 0 0 0 0 0 0
Потомок 1 1 1 0 0 0 1 0 0 1
Потомок 2 0 0 1 1 1 0 1 1 0
При этом для каждой позиции бита в стринге c заданной вероятностью 0,5≤ puk ≤ 0,8 происходит обмен родительских генов по следующей схеме. Обозначим через Rz (z = 1, 2,…, L) равномерно распределенную на интервале [0, 1] случайную переменную. Если Rz ≤ puk, то производится обмен родительскими генами в позиции z, иначе обмен не производится. В табл. 2 приводится пример универсального кроссинговера.
Особенностью универсального кроссинговера является отсутствие позиционного смещения. Это означает, что гены родительских стрингов могут обмениваться с одинаковой вероятностью. Дистрибутивное смещение универсального
65
кроссинговера, напротив, является очень высоким, т.е. число обмениваемых битов соответствует биномиальному распределению с математическим ожиданием p
uk
·L.
Таблица 2
Универсальный кроссинговер
Родитель 1 1 1 1 1 1 1 1 1 1 Родитель 2 0 0 0 0 0 0 0 0 0
Обмен? да нет нет да нет да да нет нет Потомок 1 0 1 1 0 1 0 0 1 1 Потомок 2 1 0 0 1 0 1 1 0 0
Другим вариантом оператора, расширяющим его когнитивные возможности, является смешанный кроссинговер, который можно использовать в сочетании с одноточечным или N-точечным кроссинговером. Условием его применения является нумерация генов в стринге, как это показано в табл. 3.
Таблица 3
Смешанный одноточечный кроссинговер
Родитель 1 1 1 1 1 1 1 1 1 0
Номер гена 1 2 3 4 5 6 7 8 9
Родитель 2 0 0 0 0 0 0 0 1 1
Смешивание номеров генов
1 1 1 0 1 1 1 1 1
Номер гена 8 3 1 9 5 7 4 6 2
1 0 0 1 0 0 0 0 0
Одноточечный кроссинговер
1 1 1 1 0 0 0 0 0
Номер гена 8 3 1 9 5 7 4 6 2
1 0 0 0 1 1 1 1 1
Возврат к исходной нумерации генов
Потомок 1 1 0 1 0 0 0 0 1 1
Номер гена 1 2 3 4 5 6 7 8 9
Потомок 2 0 1 0 1 1 1 1 1 0
66
Из табл. 3 видно, что вначале производится случайное смешивание позиций генов, вследствие чего позиционное смещение кроссинговера будет равно нулю. Затем выполняется одноточечный (или N-точечный) кроссинговер, после чего происходит возврат к исходной нумерации генов. Дистрибутивное смещение смешанного кроссинговера соответствует одноточечному (или N-точечному) кроссинговеру.
Существуют и другие варианты кроссинговера, расширяющие когнитивные возможности алгоритма ЭВ [Jong, 1991]. Однако вопрос о том, какой вариант кроссинговера является более предпочтительным, удовлетворительного ответа в настоящее время не имеет. Стандартными считаются N-точечный и универсальный кроссинговеры. В работе [Jong, 1991] показано, что при небольших популяциях (µ <50) предпочтительнее универсальный кроссинговер. В других исследованиях [Родзин, 2007 а] не рекомендуется применять одноточечный кроссинговер, в основном из-за высокого позиционного смещения, а также использовать N как переменную величину.
Отметим также, что рассмотренные варианты, расширяющие когнитивные возможности оператора кроссинговера, применяются для пары родительских хромосом (парная рекомбинация). Однако это не обязательно. Иногда полезно применять диагональный кроссинговер, который является обобщением N-точечного кроссинговера, если число рекомбинируемых родительских хромосом больше двух. В табл. 4 в качестве примера приводится диагональный 2-точечный кроссинговер для трех родительских хромосом.
Как и при стандартном кроссинговере, выбор точек происходит случайно на интервале от [1, L − 1].
Экспериментальные исследования [Родзин, 2007 а; Гладков, 2009] на множестве тестовых функций показали некоторое преимущество мультирекомбинации перед N­точечным и универсальным кроссинговером по скорости и
67
качеству решения оптимизационных задач при числе родителей, выбираемых для рекомбинации от 11 до 15.
Таблица 4
Диагональный 2-точечный кроссинговер
Родитель 1 1 1 1 1 1 1 1 1 1 Родитель 2 1 0 1 0 1 1 0 0 0 Родитель 3 0 0 0 0 0 0 0 0 0
Потомок 1 1 1 1 0 0 0 0 0 0 Потомок 2 1 0 0 0 1 1 1 1 1 Потомок 3 0 0 1 1 1 1 0 0 0
Другим источником для расширения когнитивных возможностей и вариабельности оператора кроссинговера является форма представления хромосом в виде вектора вещественных чисел.
Выше отмечалось, что наряду с двоичным кодированием в алгоритмах ЭВ можно использовать кодирование перестановок, например при решении задачи о коммивояжере, задачи о расписании и т.п. [Гладков, 2009]. Рассмотренные ранее варианты рекомбинации не совсем подходят для представления решений в форме перестановок. Поэтому рекомендуется использовать операторы упорядочения, выбирая для выполнения оператора от одной до M родительских хромосом. Существует несколько разновидностей оператора: универсальный оператор упорядочения, реберная рекомбинация, циклический кроссинговер, частично отображаемый кроссинговер, упорядоченный кроссинговер и др. [Родзин, 2007 а].
В этой связи для расширения когнитивных возможностей алгоритмов ЭВ предлагается использовать универсальный оператор упорядочения в сочетании с реберной рекомбинацией. Эта новая операторная конструкция является обобщением ранее рассмотренного универсального кроссинговера. Здесь вместо использования разрезающих точек случайным образом определяется двоичная маска, длина которой равна длине L
68
хромосомы, которая представляет собой перестановку из целых чисел от 1 до L.
Пусть, например, случайно выбирается пара родительских хромосом, определяется двоичная маска, затем в соответствии с маской формируются два потомка. Первый потомок включает только те элементы первого родителя, которым в маске соответствует значение 1, а второй потомок включает только те элементы второго родителя, которым в маске соответствует значение 0. Оставшиеся незаполненными элементы первого потомка сортируются в соответствии с тем порядком, в котором они стоят во втором потомке, а оставшиеся незаполненными элементы второго потомка сортируются в соответствии с тем порядком, в котором они стоят в первом потомке. В табл. 5 представлен пример универсального оператора упорядочения
(L = 9).
Таблица 5
Универсальный оператор упорядочения
Родитель 1 1 2 3 4 5 6 7 8 9 Родитель 2 4 3 5 2 1 8 7 9 6
Маска 1 0 0 1 0 1 0 0 1
1 - - 4 - 6 - - 9
- 3 5 - 1 - 7 9 -
Потомок 1 1 3 5 4 2 6 8 7 9 Потомок 2 2 3 5 4 1 6 7 9 8
Оператор реберной рекомбинации, в отличие от универсального оператора упорядочения, передает информацию об отношении смежности между элементами перестановки. Если перестановку представить в виде графа, то каждое ребро графа связывает пару смежных вершин. Например, если случайно выбрать пару родительских хромосом, то для каждого целочисленного значения от 1 до L можно построить список смежных вершин, причем общие ребра, встречающиеся у обоих родителей, отмечаются знаком минус.
69
Результатом реберной рекомбинации является один потомок, который образуется по следующей схеме: вначале случайно выбирается любое целое число из пары родительских хромосом и устанавливается на первую позицию потомка. Затем выбранное число удаляется из списка смежных вершин и из списка смежных с уже выбранной вершиной выбирается следующее число, которое устанавливается во вторую позицию и т.д. Приоритетом при выборе очередного числа является знак минус и кратчайшая длина списка смежности (при равенстве приоритетов – произвольный выбор).
В табл. 6 представлен пример реберной рекомбинации (L = 5, случайно выбранной является первая вершина).
Таблица 6
Реберная рекомбинация
Родитель 1 1 2 3 4 5 Родитель 2 4 3 5 2 1
Список смежности
1 -2, 5, 4 2 -1, 3, 5 3 2, -4, 5 4 -3, 5, 1 5 4, 1, 3, 2
Потомок 1 2 5 3 4
Для многочисленных разновидностей оператора упорядочения, как и для оператора кроссинговера, также отсутствуют теоретически обоснованные рекомендации по их практическому применению.
На практике при кодировании перестановок зачастую применяется оператор упорядочения, когда из одного родителя образуется один потомок, например, путем обмена случайно выбранных чисел, сдвига нескольких соседних чисел на произвольное число позиций, скремблирования, инверсии и т.п. Результаты сравнения качества решения при использовании для
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]