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].