Научная статья на тему 'Математические модели генетических алгоритмов'

Математические модели генетических алгоритмов Текст научной статьи по специальности «Математика»

CC BY
1251
197
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Математические модели генетических алгоритмов»

Осипов П.М., Слепцов Н.В, Трусов В.А., Тюрина Л.А., Баннов В.Я. МАТЕМАТИЧЕСКИЕ МОДЕЛИ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ

Математические модели генетических алгоритмов (ГА) [1] строятся для математического исследования и осмысления ГА, при этом выбираются наиболее существенные черты ГА, менее существенные опускаются, в результате появляется возможность формализации и анализа основных характеристик модели.

Наиболее совершенными моделями ГА для задач исследования являются модели конечной и бесконечной [1,2] популяции. Эти модели дают дополнительные преимущества с точки зрения точности характеристик ГА и являются основой для теории поведения ГА [1]. Однако они ограничиваются двоичным представлением задачи. Ниже рассматриваются эти модели и предлагаются их обобщения, не ограниченные двоичным представлением: конечная и бесконечная унифицированные модели.

Модель бесконечной популяции

Бесконечная (неограниченная) модель обеспечивает возможность включения в нее широкого набора генетических операторов и схем селекции. Модель базируется на использовании двух матриц: Г, отображающей механизм селекции и М, которая отражает действие генетических операторов.

Популяция представляется удельным весом строк. Если имеется Пв строк, то популяция для эпохи д будет

г8 е^”ё , где s -й компонент - удельный вес строки s в популяции ( если двоичным строкам задать номера, можно индексировать векторы).

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

является основополагающей характеристикой. Так, О8 е^”8 , где компонент б является вероятностью того, что строка б выбрана для деления.

Матрица селекции Г вычисляет (У8 из г8 . Однако при пропорциональной схеме селекции вычисление вероятности селекции [1] требует деления значения оценки для каждой строки в популяции на сумму оценки для

всех строк в популяции, а это не учитывается в Г. Чтобы это учесть, введем в эквивалентные отношения,

связанные с К и 5, масштабирующий коэффициент, который может меняться от одной эпохи к другой (от одного поколения к другому) : а ~ Ь , если = кЬ . Соотношение между популяцией и строками для деления

теперь может быть записано как С8 □ Рг8

Второй стадией формирования нового поколения является применение генетических операторов к строкам,

отобранным для деления.

Генетические операторы применяются случайным образом, так Р55'(^) определяет вероятность того, что

рекомбинация строк б и б' дает выходную строку С . Удельный вес строки может быть подсчитан исходя из набора всех возможных пар строк, способа их отбора и способа образования новой строки. Обозначив через е математическое ожидание, ожидаемый удельный вес строки С в новом поколении будет определяться как

V1 = а

Удобнее записать это в матричной форме. Матрица М формируется из вероятностей рекомбинации строк в, б', т.е. М5 5'=Р55'( °) и ожидаемый удельный вес строки б0 в новой популяции задается выражением

е 8+1 = аёТМаё Г°

М можно использовать не только для отыскания удельного веса строки б. С помощью изменения порядка элементов в аё она может быть применима для определения удельного веса любой строки С в новой популяции, что следует из следующего свойства рекомбинации ©м) = Ре/уе/(м) , где © - исключающее ИЛИ.

Это свойство применяется, когда рекомбинация применяется после кроссовера ( одно - или многоточечного) и мутации. Вследствие природы оператора © свойство применимо только к двоичным строкам. Далее для работы уже с унифицированным представлением строк будет введено новое свойство.

Приведенное свойство можно использовать для отображения строк в строки, так что вследствие применения

М строка С становится б0. Отображение применяется в форме перестановки 5с из аё (строкового отображения): (Б,аё \=&8©,

Наконец, в операторе М собраны все вычисления, необходимые для формирования ( генерации) пропорции каждой строки в новом поколении:

М(ст), =( Ssa)TМSsa

С использованием оператора М и матрицы Г, ожидаемое поведение ГА записывается в терминах эволюции изменения вероятностей строк, отобранных для деления:

сг®+1ПМ/(сг®) (1)

Таким образом, можно точно описать ограниченное разумными рамками поведение ГА на популяции неограниченного размера.

Заполнение матриц. Рассмотрим содержимое матриц М и Г для обычного ГА, применящем пропорциональную селекцию и одноточечный кроссовер. Для случая пропорциональной селекции Г формируется просто. Вероятность быть отобранной для участия в делении для строки пропорциональна оценке строки, поэтому Г - диагональная матрица с Гв,в = fs , где £ - вектор оценок. В приведенной выше модели отношение эквивалентности ~ скрывает масштабирующий фактор. Чтобы отношение между од и гд сделать точным, Ггд разделим на сумму своих компонентов:

ё а8

|^И|

Эта формула пригодна для одноточечного кроссовера, примененного к двоичным строкам.

Каждая М3,3' представляет вероятность образования строки б0 рекомбинацией строк б и бг. Она зависит от числа единиц в результате, полученном комбинацией частей строк б и б' и от вероятности мутаций, переводящих эти 1 в 0 при сохранении неизменными остальных битов. Число единиц в строке б обозначается |б| .

(1 -ц) 5

Когда б и б' пересекаются в позиции к, (считая справа), общее количество единиц остается неизменным, но при этом изменяется их расположение между строками. Изменение числа единиц у родительской строки и ее

потомка задается как

Л*,*',к =|(2к -1)® *1 -|(2к -1)® ^ ' | , где ®

просто конвертируется в двоичную строку, например, 2-1 = 00..01111. Кроссовер предполагает обмен участками строк и в приведенном выше определении строка, формируемая из числа 2к - 1 используется для определения битов в конечном участке строки до 1 от к-й позиции. Таким образом, выражение дает разность в количестве единиц для конечных отрезков строк б и б' .

Строка - потомок формируется объединением участков строк - предков, таким образом число 1 у потомка отличается от родительского на 'у к . Точнее, у одного потомка будет |*| — единиц, у другого -

тт “ 0 /1 .Л1 (к I ¿ыЫ ,к) . .|Ы | ' ,к

Для первой строки вероятность мутации, приводящая ее в б , есть (1 — Ц) v ' Ц ’

Данное выражение следует просуммировать по всем возможным точкам кроссовера и разделить на вероят-

1 I—1

- 1 х-1 /1 V—(Iк '|—¿к к к) к '|—^ <.'2-

ность кроссовера в выбранной точке: ---->(! — ц) х ’ ’ ' Ц 1 ^е

1—1 к=1

Это можно упростить подстановкой:

±_ -- (1-ц) ц

?(1 -ц)5| (1 -ц)

1 (1 - ц)1 5 I-К,к) Ц5 ЬК,к =

I - 1 к=! I - 1 к=¡'1 - л-'5

5,5' ,к

/II 1 1 -1

= (1 -ц) Vй — Е7

1 1 к=1

1к=

Кроссовер обычно применяется с вероятностью х. В случае, когда он не применяется, мутация может изменить все 1 в родительской строке б в состояние 0 с вероятностью (1— ц) Ы ЦЫ =(1— ц)1 ЦЫ Объединяя эти действия, кроссовер и мутацию, получаем I Ы .и Ч/ Ы 1 1—1 •

(1 -^)(1 -ц) 75 +^(1 -ц) її5 — Е7

1 1 к=1

О- ц)7 (1 - х+£ Е

*

1

Рассмотрев аналогичным образом второго потомка, (с| Б'|+ds,s',k единиц ) и другого предка - б', в конечном итоге получаем выражение

Мы,ы = [1 — Х + -^1 Ч ^ ] +/' [1 — х + -^1 *^

Модель ограниченной популяции

Модель неограниченной популяции определяет ожидаемое развитие «траектории» популяции во времени. В

[1] предложена модель, использующая ограниченные популяции и допускающая неограниченные «траектории» популяции. Для этого ГА модифицируются с помощью марковских цепей.

Каждая возможная популяция - это состояние марковской цепи. Если размер популяции Пр и выбор производится среди Пб строк, тогда количество возможных популяций Пр равно

[ Пр + ПЫ — 1

=1 П —1

Множество всех популяций (состояний марковской цепи) представлено матрицей Р размера Пр х Пб, в которой Рб,± - число наблюдаемых строк б в популяции р±. Столбцы этой матрицы отражают структуру каждой популяции; 1 - й столбец является вектором инцидентности для матрицы р± .

Для марковской цепи требуется определение вероятности переходов между состояниями 0^ j - вероятности,

что следующая популяция, полученная из текущей р± будет р^. Эти вероятности образуют матрицы переходов 0 размером пр х пр .

Пусть ФДы) - -вероятность генерации строки б из популяции р± с помощью селекции и рекомбинации. Если следующей популяцией является р^ , то в ней с вероятностью Рб,^ будет сгенерирована строка б, таким образом вероятность события составит Фу (к). Умножая вероятности для всех строк, получаем для вероятности

генерации популяции р^ из р± выражение Пф (Ы ТЫ]

seS

Порядок строк в популяции значения не имеет, но приводимые выражения дают вероятности генерации строк только для четко определенного порядка эволюции. Например, оно может дать вероятность генерации б, б, б' именно в такой последовательности. Мы можем считать популяции б,б',б и б',б,б идентичными, но приведенное выражение не дает возможности включения вероятности генерации для них. Поэтому данное выражение следует умножить на число перестановок строк. Учитывая, что строки с одинаковыми индексами неразличимы, число перестановок равно

Ро,, Р,, !-Р,-1,,!

и с учетом этого вероятность перехода ®ij равна

Вероятность перехода б в б

операция И. Предполагается, что число 2 - 1

'

5,5 ,к

Т-гФ( к )р

0 . = п П '

^ Р П П I

ые5 ы, j •

Вероятности Фу(5) рассчитываются с применением матриц и операторов модели неограниченной популяции [

ф ,■ (5 )= М

( іл РР^

\ррЩ

VI \J

71ё является вектором - строкой, і -й компонент которого дает вероятность, что д - м поколением будет р± . Для начального распределения п0 для любого поколения распределение вероятностей может быть определено из следующего выражения: П = П

Унифицированные модели ГА

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

Широкий класс практически полезных операторов кроссовера может быть определен с помощью принципа маски кроссовера. Она представляет двоичную строку, определяющую, какой локус в родительской строке обменивается аллелями. 1 соответственно разрешает обмен аллелями, 0 - запрещает, например, маска кроссовера 110001, примененная к строкам 000000 и 123456 даст 120006 и 003450.

Маска х, генерирует тех же самых потомков, что и ее отрицание —х при применении их к одинаковым исходным парам. Для избежания подобного дублирования установим первый бит в маске в 0. Таким образом в множестве Х масок кроссовера будет 21" 1 масок.

Теперь мы можем описать применение оператора кроссовера с помощью вектора вероятностей £ , элемент которого дает вероятность того, что х выбирается в качестве маски для использования в рекомбинации.

Подобное определение оператора кроссовера дает возможность соединить принцип вероятности применения оператора с фактическим действием оператора как такового. Обычно кроссовер применяется к строкам -предкам с вероятностью х. Однако маска 00000..00 не позволяет проводить обмен аллелями и указывает на отсутствие операции как таковой. Это дает возможность упрощения выражений без потери общности.

Приведенное описание оператора кроссовера применимо только к классу обычно рассматриваемых операторов кроссовера. Определение предполагает обмен аллелями между одинаковыми локусами. Такое предположение недопустимо только для исключительных случаев кроссовера, например, кроссовера с мутацией [2]. Также оно подразумевает, что используются только существующие аллели в каждом локусе, источник нового исходного материала отсутствует, наконец, оно подразумевает, что отдельные участвующие строки не влияют на процесс кроссовера, как это происходит в Них - кроссовере [2], где перемешивается точно половина родительских аллелей. Однако это предположение применимо к наиболее широко используемым видам кроссовера - одноточечному, двухточечному, многоточечному, унифицированному, так же как и к менее распространенным - сегментированному, кроссоверу с переменой.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Одноточечный кроссовер. Одноточечный кроссовер использует только маски из последовательностей нулей, за которыми идут последовательности из 1. Например, для строки длиной 4 такими масками будут 0001, 0011, 0111. Выбор этих масок равновероятен ( в нашем случае 0.3333), но следует рассмотреть случай вероятности кроссовера х. Для трех перечисленных масок имеем вероятность х/3 и для маски 0000 вероятность

1-х .

В общем случае для одноточечного кроссовера вероятности масок равны ( при рассмотрении х как числа, а не как двоичной строки).

1 - % ІГ х = 0

% ії- з,.е% х = 2і -1

1 -1 'е%

0 иначе

Унифицированный кроссовер. В данном виде кроссовера каждый локус в родительских строках рассматривается независимо и обмен аллелями происходит с заданной вероятностью х . Для маски 0111 вероятность будет х 3 ( вероятность, что три бита будут переставлены, а для маски 00000 - вероятность будет (1 - х)3 ( вероятность, что три бита не будут переставлены). В обоих случаях первый бит игнорируется, поскольку он

всегда 0. В общем случае = ХХ (1 - X) 1 Х

Отображение недвоичных строк. Для того, чтобы расширить модель неограниченной популяции на случай обобщенного представления строк, необходимо, чтобы недвоичные строки могли бы отображаться в б0 так же, как и двоичные. Однако свойства рекомбинации, позволяющие проводить отражение двоичных строк, как показано в [1] , не соответствуют недвоичным представлениям. Ниже предлагается применение свойства, которое

допускает недвоичное отображение и снимает имевшиеся ограничения.

Двоичные строки могут рассматриваться как двоичные числа, как битовые векторы или как элементы группового произведения х •••х ^ , где - аддитивная группа целых по модулю 2. Оператор отображения ® .

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

Недвоичная строка может рассматриваться как элемент группового произведения Хс^ х... х Хс^ где Х - аддитивная группа целых по модулю і.

( добавление 1 ко всем аллелям) 2 3 4 6 7 1

Рис 1. Отображение. Слева - пример процесса, справа - формальное представление процесса

Рассмотрим интуитивное понимание отображения. Оператор кроссовера осуществляет обмен аллелями между строками. Отдельные аллели в данном случае неважны и поэтому если строки родителей и потомков будут последовательно отмечены, результирующие строки будут также строками родителей и потомков. Пример -рис. 1. Справа приведена графическая форма для отношения

Рк( ( ) = РыФ ® и (^ ® , (2)

Чтобы использовать это отношение для отображения строки С в б0, в и должен быть подставлен единичный элемент группы С :

рЫ(Ы' (? ) = РыФ I, Ы ' ФI ( Ф 1 )

/ \ / 0\ (3)

рк,Ы' (/ ) = рыф , Ы ' ФI ( Ы )

(2) показывает способ отображения и двоичных и недвоичных строк.

И двоичные, и недвоичные групповые произведения являются абелевскими (Ф коммутативно) , но только для двоичного представления справедливо С ф С = е, где е - единичный элемент группы ( т. е. б0). Это можно

увидеть для = 2.

Z2 0 Ф 0 = 0, 1 Ф 1 =0. Однако, для любого Z

где i > 2, существует число 2 и т.о. 1 Ф 1

Утверждение Є(7‘

ё+1

□ FM(crë^ подтверждает правомерность использования матрицы М совместно с отображени-

ем строк. Однако, оно основывается на лемме отображения, которая верна только для двоичных строк. Докажем, что модель применима для недвоичных строк при использовании (2) в форме его следствия (3).

І ) =

Brg+1 = /agagPs

s,s '

= 'EagagPs<Mt ,s'®It (s° )

/ . w’s®tŒs'®tps®t®It ,s'®t®1t (s ) :

s ®t,s ' ®t

= / °!®,<-s ®t,s ' ®t

= ( Sta* ) MS,,

Tg® tPs.s't (s° ) =

Поскольку (7g+1 ü ^rg+1 , требуемый результат получен.

r- матрицы M для унифицированных строк. Уравнения для Ms,s' зависят от количества единиц в строках и от того, как это число изменяется при кроссовере. | s | , число единиц в строке s, является очень суще-

ственной характеристикой, поскольку оно является единственным свойством строки, от которого зависит вероятность изменений ( мутаций) превращающих строку в s0:

P(s ~^s°) = (1-p)1-lsl plsl (4)

Для двоичного случая уровнем мутации ц всегда является вероятность превращения 1 в 0, поскольку других величин в принципе нет. Иначе обстоит дело в недвоичном случае.

Если характеристика гена равна с*, есть с* -1 значений, в которые подвергшаяся мутации аллель может

превратиться, т.о. вероятность, что ненулевая аллель превратится в нулевую, равна ц/(с* -1) .

Вместо числа единиц будем рассматривать число ненулевых элементов. Их также обозначим | s | , по-

скольку для двоичного случая эти величины совпадают. Уравнение (4) для недвоичного представления изменится следующим образом:

P(s ^ s0 ) = (1 - и) с -1

Однако при этом предполагается равенство характеристик всех генов. Чтобы обеспечить обобщенное представление без ограничений следует отказаться от концепции ненулевых элементов, поскольку вероятность превращения в 0 может меняться от гена к гену и группировать все «ненулевые значения» в этой ситуации не имеют смысла.

Для работы с обобщенными строками сформируем вектор у3 для каждой строки s , у которой j - й компо-

нент для каждой строки s есть вероятность того, что аллель sj станет нулевой после мутации:

f, =

1 - л___при

л

= °

Вероятность, что строка б превратится в б0 посредством мутации с характеристиками элементов у3 , обозначим П у3 .

Для r - матрицы Ms,s' можно записать

Mss =1 {/ £ f Ш Ш +Ш Ш

Отметим, что маска кроссовера, х, рассматривается как набор (множество) локусов, которые обмениваются аллелями. Оба внутренних слагаемых являются вероятностями, что два потомка в результате мутации превратятся в б0. Эти вероятности распространяются на все маски кроссовера.

Уравнение (5) в отличие от бинарного случая, является простым и хорошо определенным для всех значений вероятностей мутации и для всех масок кроссовера. Однако вычислительная сложность здесь выше, поэтому можно несколько упростить полученное выражение.

Для двоичного представления ¿Б,Б',к. обозначает изменение числа единиц, вызванное кроссовером. Для случая унифицированного представления эта величина бесполезна и вместо нее можно использовать пропорциональное изменение величины перехода к б0, которое обозначим ®Б,Б',к :

<>,.,, -п^

/ех I I

При использовании этого изменения вероятности, что потомок превратится в б0 соответственно П ^ У

и можно получить аналогичные уравнения для двоичного представления уравнения для Мб,б

2 ^ xeX @s,s',x xeX

ЛИТЕРАТУРА

1. L. Chambers. The practical handbook of genetic algorithms. Applications. vol. 2001

2. Донской Д.А., Слепцов Н.В., Щербаков М.А. Применение аналитических технологий в системах управления и информатике, Пенза, 2005.

i Надоели баннеры? Вы всегда можете отключить рекламу.