4.7. Основная теорема о генетических алгоритмах
Для того чтобы лучше понять
функционирование генетического алгоритма, будем использовать понятие схема и
сформулируем основную теорему, относящуюся к генетическим алгоритмам и
называемую теоремой о схемах [7, 15, 21, 33]. Понятие схема было введено для определения
множества хромосом, обладающих некоторыми общими свойствами, т.е. подобных друг
другу. Если аллели принимают значения 0 или 1 (рассматриваются хромосомы с
двоичным алфавитом), то схема представляет собой множество хромосом, содержащих
нули и единицы на некоторых заранее определенных позициях. При рассмотрении
схем удобно использовать расширенный алфавит
, в который помимо 0 и 1 введен
дополнительный символ *, обозначающий любое допустимое значение, т.е. 0 или 1;
символ * в конкретной позиции означает «все равно» (don't саге). Например,
.
Считается, что хромосома
принадлежит к данной схеме, если для каждой
-й позиции (локуса),
, где
- длина хромосомы; символ,
занимающий
-ю
позицию хромосомы, соответствует символу, занимающему
-ю позицию схемы, причем
символу * соответствуют как 0, так и 1. То же самое означают утверждения
хромосома соответствует схеме и хромосома представляет схему. Отметим, что если
в схеме присутствует
символов *, то эта схема содержит
хромосом. Кроме того,
каждая хромосома (цепочка) длиной
принадлежит к
схемам. В таблицах 4.2 и 4.3
представлены схемы, к которым принадлежат цепочки длиной 2 и 3 соответственно.
Таблица 4.2. Схемы, к которым
принадлежат цепочки длиной 2
Звенья
|
Схемы
|
1
|
2
|
3
|
4
|
00
|
**
|
*0
|
0*
|
00
|
01
|
**
|
*1
|
0*
|
01
|
10
|
**
|
*0
|
1*
|
10
|
11
|
**
|
*1
|
1*
|
11
|
Таблица 4.3. Схемы, к которым
принадлежат цепочки длиной 3
Звенья
|
Схемы
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
000
|
***
|
**0
|
*0*
|
0**
|
*00
|
0*0
|
00*
|
000
|
001
|
***
|
**
|
*0*
|
0**
|
*01
|
0*1
|
00*
|
001
|
010
|
***
|
**0
|
*1*
|
0**
|
*10
|
0*0
|
01*
|
010
|
011
|
***
|
**1
|
*1*
|
0**
|
*11
|
0*1
|
01*
|
011
|
100
|
***
|
**0
|
*0*
|
1**
|
*00
|
1*0
|
10*
|
100
|
101
|
***
|
**1
|
*0*
|
1**
|
*01
|
1*1
|
10*
|
101
|
110
|
***
|
**0
|
*1*
|
1**
|
*10
|
1*0
|
11*
|
110
|
111
|
***
|
**1
|
*1*
|
1**
|
*11
|
1*1
|
11*
|
111
|
Цепочки длиной 2 соответствуют
четырем различным схемам, а цепочки длиной 3 - восьми схемам.
Генетический алгоритм базируется
на принципе трансформации наиболее приспособленных особей (хромосом). Пусть
означает исходную
популяцию особей, а
-
текущую популяцию (на
-й итерации алгоритма). Из каждой
популяции
,
методом селекции
выбираются хромосомы с наибольшей приспособленностью, которые включаются в так
называемый родительский пул (mating pool)
. Далее, в результате объединения особей
из популяции
в
родительские пары и выполнения операции скрещивания с вероятностью
, а также операции
мутации с вероятностью
формируется новая популяция
, в которую входят
потомки особей из популяции
.
Следовательно, для любой схемы,
представляющей хорошее решение, было бы желательным, чтобы количество хромосом,
соответствующих этой схеме, возрастало с увеличением количества итераций
.
На соответствующее преобразование
схем в генетическом алгоритме оказывают влияние 3 фактора: селекция хромосом,
скрещивание и мутация. Проанализируем воздействие каждого из них с точки зрения
увеличения ожидаемого количества представителей отдельно взятой схемы.
Обозначим рассматриваемую схему
символом
, а
количество хромосом популяции
, соответствующих этой схеме -
. Следовательно,
можно считать
количеством элементов (т.е. мощностью) множества
.
Начнем с исследования влияния
селекции. При выполнении этой операции хромосомы из популяции
копируются в
родительский пул
с
вероятностью, определяемой выражением (4.3). Пусть
обозначает среднее значение
функции приспособленности хромосом из популяции
, которые соответствуют схеме
. Если
,
то
. (4.6)
Величина
также называется
приспособленностью схемы
на
-й итерации.
Пусть
обозначает сумму значений
функций приспособленности хромосом из популяции
мощностью
, т.е.
. (4.7)
Обозначим через
среднее значение
функции приспособленности хромосом этой популяции, т.е.
. (4.8)
Пусть
обозначает элемент
родительского пула
.
Для каждого
и
для каждого
вероятность
того, что
определяется
отношением
.
Поэтому ожидаемое количество хромосом в популяции
, которые равны
, составит
.
Таким образом, ожидаемое
количество хромосом из множества
, отобранных для включения в родительский
пул
, будет
равно
,
что
следует из выражения (4.6).
Поскольку каждая хромосома из
родительского пула
одновременно
принадлежит популяции
, то хромосомы, составляющие множество
- это те же самые
особи, которые были отобраны из множества
для включения в популяцию
. Если количество
хромосом родительского пула
, соответствующих схеме
(т.е. количество
элементов множества
),
обозначить
,
то из приведенных рассуждений можно сделать следующий вывод:
Вывод 4.1
Ожидаемое значение
, т.е. ожидаемое
значение количества хромосом родительского пула
, соответствующих схеме
, определяется
выражением
. (4.9)
Из этого следует, что если схема
содержит хромосомы со
значением функции приспособленности, превышающим среднее значение (т.е.
приспособленность схемы
на
-й итерации оказывается большей, чем
среднее значение функции приспособленности хромосом из популяции
, и поэтому
), то ожидаемое
количество хромосом из родительского пула
, соответствующих схеме
, будет больше
количества хромосом из популяции
, соответствующих схеме
. Поэтому можно утверждать,
что селекция вызывает распространение схем с приспособленностью «лучше средней»
и исчезновение схем с «худшей» приспособленностью.
Прежде чем приступить к анализу
влияния генетических операторов скрещивания и мутации на хромосомы из
родительского пула, определим необходимые для дальнейших рассуждений понятия
порядка и охвата схемы. Пусть
обозначает длину хромосом,
соответствующих схеме
.
Определение 4.1
Порядок (order) схемы
, иначе называемый
счетностью схемы и обозначаемый
- это количество постоянных позиций в
схеме, т.е. нулей и единиц в случае алфавита
. Например
.
Порядок схемы
равен длине
за вычетом количества
символов *, что легко проверить на представленных примерах (для
с одним символом * и
для
с
двумя, четырьмя и тремя символами *). Легко заметить, что порядок схемы,
состоящей исключительно из символов *, равен нулю, т.е.
, а порядок схемы без единого
символа * равен
;
например,
.
Порядок схемы
-
это всегда целое число из интервала
.
Определение 4.2
Охват (defining length) схемы
, называемый также
длиной схемы (не путать с длиной
) и обозначаемый
- это расстояние между первым
и последним постоянным символом (т.е. разность между правой и левой крайними
позициями, содержащими постоянные символы). Например,
.
Охват схемы
- это целое число из интервала
. Отметим,
что охват схемы с постоянными символами на первой и последней позиции равен
(как в первом из
приведенных примеров). Охват схемы с единственной постоянной позицией равен
нулю, в частности,
.
Охват характеризует содержательность информации, заключенной в схеме.
Перейдем к рассуждениям о влиянии
операции скрещивания на обработку схем в генетическом алгоритме. Прежде всего
отметим, что одни схемы оказываются более подверженными уничтожению в процессе
скрещивания, чем другие. Например, рассмотрим схемы
и
, а также хромосому
, соответствующую
обеим схемам. Видно, что схема
имеет больше шансов «пережить» операцию
скрещивания, чем схема
, которая больше подвержена «расщеплению»
в точках скрещивания 1, 2, 3, 4 и 5. Схему
можно разделить только при выборе точки
скрещивания, равной 3. Обратим внимание на охват обеих схем, который - это
очевидно оказывается существенным в процессе скрещивания.
В ходе анализа влияния операции
скрещивания на родительский пул
рассмотрим некоторую хромосому из
множества
,
т.е. хромосому из родительского пула, соответствующую схеме
. Вероятность того, что эта
хромосома будет отобрана для скрещивания, равна
. Если ни один из потомков этой хромосомы
не будет принадлежать к схеме
, то это означает, что точка скрещивания
должна находиться между первым и последним постоянным символом данной схемы.
Вероятность этого равна
. Из это можно сделать следующие выводы:
Вывод 4.2 (влияние скрещивания)
Для некоторой хромосомы из
вероятность того, что
она будет отобрана для скрещивания и ни один из ее потомков не будет
принадлежать к схеме
, ограничена сверху величиной
.
Эта величина называется
вероятностью уничтожения схемы
.
Вывод 4.3
Для некоторой хромосомы из
вероятность того, что
она не будет отобрана для скрещивания либо, что хотя бы один из ее потомков
после скрещивания будет принадлежать к схеме
, ограничена снизу величиной
.
Эта величина называется
вероятностью выживания схемы
.
Легко показать, что если данная
хромосома принадлежит к схеме
и отбирается для скрещивания, а вторая
родительская хромосома также принадлежит к схеме
, то оба их потомка тоже будут
принадлежать к схеме
. Выводы 4.2 и 4.3 подтверждают
значимость показателя охвата схемы
для оценки вероятности уничтожения или
выживания схемы.
Рассмотрим теперь влияние мутации
на родительский пул
.
Оператор мутации с вероятностью
случайным образом изменяет значение в
конкретной позиции с 0 на 1 и обратно. Очевидно, что схема переживет мутацию
только в том случае, когда все ее постоянные позиции останутся после выполнения
этой операции неизменными
Хромосома из родительского пула,
принадлежащая к схеме
(т.е. хромосома из множества
) останется в этой
схеме тогда и только тогда, когда ни один символ этой хромосомы,
соответствующий постоянным символам схемы
, не изменится в процессе мутации.
Вероятность такого события равна
. Этот результат можно представить в
форме следующего вывода:
Вывод 4.4 (влияние мутации)
Вероятность того, что некоторая
хромосома из
будет
принадлежать к схеме
после операции мутации, определяется
выражением
.
Эта величина называется
вероятностью выживания схемы
после мутации.
Вывод 4.5
Если вероятность мутации
мала
, то можно считать,
что вероятность выживания схемы
после мутации, определенная в выводе
4.4, приближенно равна
.
Эффект совместного воздействия
селекции, скрещивания и мутации (выводы 4.1 - 4.4) с учетом факта, что если
хромосома из множества
дает потомка, соответствующего схеме
, то он будет
принадлежать к
,
ведет к построению следующей схемы репродукции [7]:
. (4.10)
Зависимость (4.10) показывает,
как изменяется от популяции к популяции количество хромосом, соответствующих
данной схеме. Это изменение вызывается тремя факторами, представленными в
правой части выражения (4.10), в частности:
отражает роль среднего значения функции
приспособленности,
показывает
влияние скрещивания и
- влияние мутации. Чем больше значение
каждого из этих факторов, тем большим оказывается ожидаемое количество соответствий
схеме
в
следующей популяции. Вывод 4.5 позволяет представить зависимость (4.10) в виде
. (4.11)
Для больших популяций зависимость
(4.11) можно аппроксимировать выражением
. (4.12)
Из формул (4.11) и (4.12)
следует, что ожидаемое количество хромосом, соответствующих схеме
в следующем
поколении, можно считать функцией от фактического количества хромосом,
принадлежащих этой схеме, относительной приспособленности схемы, а также
порядка и охвата схемы. Заметно, что схемы с приспособленностью выше средней и
с малым порядком и охватом характеризуются возрастанием количества своих
представителей в последующих популяциях. Подобный рост имеет показательный
характер, что следует из выражения (4.9). Для больших популяций эту формулу
можно заменить рекуррентной зависимостью вида [33]
. (4.13)
Если допустить, что схема
имеет
приспособленность на
выше средней, т.е.
, (4.14)
то
при подстановке выражения (4.12) в неравенство (4.11) в предположении, что
не изменяется во
времени, при старте от
получаем
,
, (4.15)
т.е.
для схемы с
приспособленностью выше средней и
- в противном случае.
Равенство (4.15) описывает
геометрическую прогрессию. Из этого следует, что в процессе репродукции схемы,
оказавшиеся лучше (хуже) средних, выбираются на очередных итерациях
генетического алгоритма в показательно возрастающих (убывающих) количествах.
Обратим внимание, что зависимости (4.9) - (4.13) основаны на предположении, что
функция приспособленности
принимает только положительные значения.
При использовании генетических алгоритмов для решения оптимизационных задач, в
которых целевая функция может принимать и отрицательные значения, необходимы
некоторые дополнительные соотношения между оптимизируемой функцией и функцией
приспособленности. Конечный результат, получаемый из выражений (4.10) - (4.12),
можно сформулировать в форме теоремы. Это основная теорема генетических
алгоритмов, иначе называемая теоремой о схемах [21].
Теорема 4.1
Схемы малого порядка, с малым
охватом и с приспособленностью выше средней формируют показательно возрастающее
количество своих представителей в последующих поколениях генетического
алгоритма.
В соответствии с приведенной
теоремой важным вопросом становится кодирование, которое должно обеспечивать
построение схем малого порядка, с малым охватом и с приспособленностью выше
средней. Косвенным результатом теоремы 4.1 (о схемах) можно считать следующую
гипотезу, называемую гипотезой о кирпичиках (либо о строительных блоках) [15,
33].
Гипотеза 4.1
Генетический алгоритм стремится
достичь близкого к оптимальному результата за счет комбинирования хороших схем
(с приспособленностью выше средней) малого порядка и малого охвата. Такие схемы
называются кирпичиками (либо строительными блоками).
Гипотеза о строительных блоках
выдвинута на основании теоремы о схемах с учетом того, что генетические
алгоритмы исследуют пространство поиска с помощью схем малого порядка и малого
охвата, которые впоследствии участвуют в обмене информацией при скрещивании.
Несмотря на то, что для
доказательства этой гипотезы предпринимались определенные исследования, однако
в большинстве нетривиальных приложений приходится опираться на эмпирические
результаты. В течение последних двадцати лет опубликованы многочисленные
работы, посвященные применениям генетических алгоритмов, подтверждающим эту
гипотезу. Если она считается истинной, то проблема кодирования приобретает
критическое значение для генетического алгоритма; кодирование должно
реализовать концепцию малых строительных блоков. Качество, которое обеспечивает
генетическим алгоритмам явное преимущество перед другими традиционными
методами, несомненно заключается в обработке большого количества различных
схем.
Обратимся снова к примерам 4.4 и
4.5 и на их основе проанализируем обработку схем генетическим алгоритмом.
Пример 4.7
В условиях примера 4.4 рассмотрим
схему
и
покажем, как изменяется количество представителей этой схемы и
приспособленность в процессе выполнения генетического алгоритма.
Длина
, а охват и порядок схемы
составляют
соответственно
и
. В исходной
популяции из примера 4.4 схеме
соответствуют две следующие хромосомы:
.
Из формулы (4.10) следует, что
после селекции и скрещивания количество хромосом, соответствующих схеме
, должно быть больше
или равно 2,5. Напомним, что вероятности скрещивания и мутации считаются
равными соответственно
и
. Приспособленность схемы
в исходной популяции,
обозначаемая
,
равна 8 и превышает среднюю приспособленность всех хромосом этой популяции
, что легко рассчитать
по формулам (4.6) - (4.8).
В примере 4.4 после селекции и
скрещивания в новой популяции получены четыре хромосомы, соответствующие схеме
:
.
Приспособленность схемы
в новой популяции,
т.е.
,
составит 8,25, тогда как средняя приспособленность хромосом этой популяции
, что также следует из
формул (4.6) - (4.8). Новая популяция характеризуется большим средним значением
функции приспособленности особей по сравнению с предыдущей (исходной)
популяцией, что уже отмечалось в примере 4.4. Кроме того, в новой популяции
приспособленность схемы
оказывается лучшей, а количество
представителей этой схемы - большим по сравнению с предыдущей популяцией.
Пример 4.8
В условиях примера 4.5 рассмотрим
схему
и
проследим ее обработку при выполнении генетического алгоритма.
В этом случае
, а охват и порядок схемы
составляют
и
соответственно. В исходной
популяции из примера 4.5 этой схеме соответствуют три хромосомы
.
Приспособленность схемы
в исходной популяции
и превышает среднюю
приспособленность особей этой популяции
, что следует из выражений (4.6) - (4.8).
На основе формулы (4.9) легко рассчитать ожидаемое количество хромосом
родительского пула, соответствующих схеме
. Оно составит
. В примере 4.5 по результатам
селекции в родительский пул включены 6 таких хромосом:
,
,
,
,
,
. Ожидаемое количество хромосом,
соответствующих схеме
, после скрещивания с вероятностью
(вероятность мутации
), как легко
рассчитать по формуле (4.10), должно превышать 5,58. В новую популяцию включены
6 представителей схемы
. Это все хромосомы данной популяции.
Пример 4.9
В условиях примера 4.5 рассмотрим
схему
и
проследим ее обработку при выполнении генетического алгоритма.
Длина
, а охват и порядок схемы
составляют
и
соответственно. В исходной
популяции из примера 4.5 этой схеме соответствует одна хромосома
.
Поэтому приспособленность схемы
в исходной популяции
равна функции приспособленности хромосомы
и составляет 1683. Она превышает среднюю
приспособленность особей исходной популяции, равную 589. По формуле (4.9)
рассчитываем ожидаемое количество хромосом родительского пула, соответствующих
схеме
. Оно
составит
.
В примере 4.5 по результатам селекции в родительский пул включены 3 одинаковых
хромосомы
,
соответствующих схеме
. Ожидаемое количество хромосом в новой
популяции, соответствующих схеме
, после скрещивания с вероятностью
(вероятность мутации
), должно превышать 5,58.
В примере 4.5 в новую популяцию включены 3 хромосомы, соответствующих схеме
. Это
.
Пример 4.10
В условиях примера 4.5 рассмотрим
схему
и
проследим ее обработку при выполнении генетического алгоритма.
Длина
, а охват и порядок схемы
составляют
и
соответственно. В исходной
популяции из примера 4.5 этой схеме соответствуют три хромосомы
.
В отличие от примеров 4.8 и 4.9
приспособленность схемы
в исходной популяции оказывается меньше
средней приспособленности особей этой популяции
и составляет
. Ожидаемое количество хромосом
родительского пула, соответствующих схеме
и рассчитанное по формуле (4.9), равно
. В примере 4.5 в
родительский пул была включена одна хромосома
, соответствующая схеме
. На основе формулы
(4.10) получаем значение 1,068, определяющее количество представителей схемы
в новой популяции. В
примере 4.5 после скрещивания с вероятностью
(вероятность мутации
) в новую популяцию была
включена одна хромосома, соответствующая схеме
, т.е.
.
Пример 4.11
В условиях примера 4.5 рассмотрим
схему
и
проследим ее обработку при выполнении генетического алгоритма.
Длина
, а охват и порядок схемы
составляют
и
соответственно. В исходной
популяции из примера 4.5 этой схеме соответствует только одна хромосома
.
Поэтому приспособленность схемы
в исходной популяции
равна значению функции приспособленности хромосомы
и составляет 129. Аналогично
примеру 4.10, она меньше средней приспособленности особей начальной популяции,
которая равна 589. Ожидаемое количество представителей схемы
в родительском пуле
составляет
,
что следует из формулы (4.9). В примере 4.5 родительский пул (после селекции)
не содержит ни одной хромосомы, соответствующей схеме
. При расчете ожидаемого
количества представителей схемы
в новой популяции по формуле (4.10) для
вероятности скрещивания
и вероятности мутации
получаем значение
0,165. В примере 4.5 после скрещивания в новую популяцию не была включена ни
одна хромосома, соответствующая схеме
.
Из примеров 4.7 - 4.11,
посвященных обработке схем, можно сделать следующие выводы. Эти примеры
иллюстрируют основную теорему генетических алгоритмов - теорему о схемах. Они
затрагивают обработку схем низкого (малого) порядка с малым охватом. Примеры
4.7 - 4.9 демонстрируют увеличение количества представителей данной схемы в
следующем поколении для случая, когда приспособленность этой схемы превышает
среднюю приспособленность всех особей популяции. Примеры 4.10 и 4.11 показывают
ситуацию, когда приспособленность схемы оказывается меньше средней
приспособленности особей популяции. Количество представителей таких схем в
следующих поколениях не увеличивается, а наоборот - наблюдается уменьшение
количества соответствующих им хромосом.
При анализе подобных примеров для
схем большего порядка и большего охвата также не регистрируется увеличение
количества их представителей в следующем поколении, что согласуется с теоремой
о схемах.
Графическая интерпретация схем,
обсуждавшихся в примерах 4.8 и 4.11, представлена на рис. 4.9; аналогичным
образом можно проиллюстрировать схемы из примеров 4.9 и 4.10, равно как и любые
другие.
Рис. 4.9. Графическое
представление схем для целочисленных значений
от 0 до 31, закодированных в форме
5-битовых двоичных последовательностей для оптимизации функции
(примеры 4.5, а также
4.8 и 4.11).
На
рис. 4.9 видно, что к схеме 1**** (пример 4.8) в исходной популяции из примера
4.5 принадлежат хромосомы
,
и
с фенотипами 19, 21, 29 соответственно,
а после селекции и скрещивания к этой схеме уже принадлежат все включенные в
новую популяцию хромосомы, т.е.
,
,
,
,
и
с фенотипами 17, 23, 21, 29, 29, 29
соответственно. В то же время к схеме *10** (пример 4.11) в исходной популяции
из примера 4.5 принадлежит только одна хромосома
, фенотип которой равен 8; в следующей
популяции уже нет ни одной хромосомы, принадлежащей этой схеме. Обратим
внимание (рис. 4.9), что оптимальное решение, которое максимизирует функцию,
заданную выражением (4.1), принадлежит к схеме 1* - и не соответствует схеме
*10**.
Выполнение генетических
алгоритмов основано на обработке схем. Схемы малого порядка, с малым охватом и
приспособленностью выше средней выбираются, размножаются и комбинируются, в
результате чего формируются все лучшие кодовые последовательности. Поэтому
оптимальное решение строится (в соответствии с гипотезой кирпичиков) путем
объединения наилучших из полученных к текущему моменту частичных решений.
Простое скрещивание не слишком часто уничтожает схемы с малым охватом, однако
ликвидирует схемы с достаточно большим охватом. Однако, невзирая на губительность
операций скрещивания и мутации для схем высокого порядка и охвата, количество
обрабатываемых схем настолько велико, что даже при относительно низком
количестве хромосом в популяции достигаются весьма неплохие результаты
выполнения генетического алгоритма.
Количество эффективно
обрабатываемых схем, рассчитанное Холландом [21], составляет
. Это означает, что
для популяции мощностью
количество обрабатываемых в каждом
поколении схем имеет порядок
.
Следует упомянуть о том, что в
последнее время теорема Холланда о схемах и следующие из нее оценки количества
схем, обрабатываемых генетическим алгоритмом, вызывают в научной среде
определенные возражения [37].