Лекция 10
Прикладное эволюционное моделирование. Генетический алгоритм. Оценка эффективности генетического алгоритма
Согласованность и эффективность работы элементов биологических организмов наводит на мысль – можно ли использовать принципы биологической эволюции для оптимизации практически важных для человека систем?
В нескольких модификациях подобные идеи возникали у ряда авторов. В 1966 году Л.
Фогель, А. Оуэнс, М. Уолш предложили схему эволюции логических автоматов, решающих задачи прогноза [1]. В 1975 г. вышла основополагающая книга Дж. Холланда “Адаптация в естественных и искусственных системах” [2], в которой был предложен генетический алгоритм, исследованный в дальнейшем учениками и коллегами Дж. Холланда в Мичиганском университете. Примерно в это же время группа немецких ученых (И. Рехенберг, Г.-П. Швефель и др.) начала разработку так называемой эволюционной стратегии [3,4]. Эти работы заложили основы прикладного эволюционного моделирования или эволюционных алгоритмов.В нашей стране исследования по прикладному эволюционному моделированию, идейно близкие к работам Л.
Фогеля с сотрудниками, были разносторонне развиты в работах И.Л. Букатовой [5].В общем виде эволюционный алгоритм – это оптимизационный метод, базирующийся на эволюции популяции “особей”. Каждая особь характеризуется приспособленностью – многомерной функцией ее генов. Задача оптимизации состоит в максимизации функции приспособленности. В процессе эволюции в результате отбора, рекомбинаций и мутаций геномов особей происходит поиск особей с высокими приспособленностями.
Основные эволюционные алгоритмы:
генетический алгоритм, предназначенный для оптимизации функций дискретных переменных и акцентирующий внимание на рекомбинациях геномов;
эволюционное программирование, ориентированное на оптимизацию непрерывных функций без использования рекомбинаций;
эволюционная стратегия, ориентированная на оптимизацию непрерывных функций с использованием рекомбинаций;
генетическое программирование, использующее эволюционный метод для оптимизации компьютерных программ [6].
По сравнению с обычными оптимизационными методами эволюционные алгоритмы имеют следующие особенности: параллельный поиск, случайные мутации и рекомбинации уже найденных хороших решений. Они хорошо подходят как простой эвристический метод оптимизации многомерных, плохо определенных функций.
Наибольшее распространение получил генетический алгоритм
[2]. На его основе осуществляются: оптимизация профилей балок в строительстве, распределение инструментов в металлообрабатывающих цехах, обработка рентгеновских изображений в медицине, оптимизация работы нефтяных трубопроводов и т.д. [7]. Одна из основных областей применения генетического алгоритма – решение задач комбинаторной оптимизации (например, задача о коммивояжере).Для иллюстрации принципов работы эволюционных алгоритмов рассмотрим подробнее генетический алгоритм.
2. Генетический алгоритм
Генетический алгоритм (ГА)
[2,8,9] – это компьютерная модель эволюции популяции искусственных "особей". Каждый особь характеризуется своей хромосомой Sk, хромосома есть "геном" особи. Хромосома определяет приспособленность особи f(Sk); k = 1,..., n; n – численность популяции. Хромосома есть цепочка символов Sk = (Sk1, Sk2,...,SkN), N – длина цепочки. Символы интерпретируются как "гены" особи, расположенные в хромосоме Sk . Задача алгоритма состоит в максимизации функции приспособленности f(Sk) .Эволюция состоит из последовательности поколений. Для каждого поколения отбираются особи с большими значениями приспособленностями. Хромосомы отобранных особей рекомбинируются и подвергаются малым мутациям. Формально, схема ГА может быть представлена следующим образом (популяция
t-го поколения обозначается как {Sk(t)}):Шаг 0 . Создать случайную начальную популяцию {
Sk(0)}.Шаг 1. Вычислить приспособленность
f(Sk) каждой особи Sk популяции {Sk(t)}.Шаг 2. Производя отбор особей
Sk в соответствии с их приспособленностями f(Sk) и применяя генетические операторы (рекомбинации и точечные мутации) к отобранным особям, сформировать популяцию следующего поколения {Sk(t+1)}.Шаг 3. Повторить шаги 1,2 для
t = 0, 1, 2, ... , до тех пор, пока не выполнится некоторое условие окончания эволюционного поиска (прекращается рост максимальной приспособленности в популяции, число поколений t достигает заданного предела и т.п.).Имеется ряд конкретных вариантов генетического алгоритма, которые отличаются по схемам отбора, рекомбинаций, по форме представления хромосом и т.д.
Наиболее традиционный вариант генетического алгоритма базируется на следующей конкретной схеме: 1) цепочки символов в хромосомах бинарны (символы Ski принимают значения 0 либо 1), длина цепочек постоянна (N = const), 2) метод отбора пропорционально-вероятностный (см. ниже), 3) рекомбинации производятся по схеме однократного кроссинговера.
Пропорционально-вероятностный отбор означает, что на шаге 2 отбор производится с вероятностями, пропорциональными приспособленностям fk особей ( fk = f(Sk) ) . Эту схему отбора мы уже обсуждали в лекции 2 при описании модели квазивидов. Схему можно представить, как выбор особи с помощью рулетки, относительные площади секторов которой равны qk = fk [S l fl ]-1 ( см. Рис.1 и "прилегающий к нему" текст в Лекции 2 ).
Возможны и другие методы отбора. Например, отбор может быть ранжированным: все особи ранжируются по приспособленностям и заданная часть (скажем, лучшая половина) лучших особей отбирается для формирования следующего поколения.
Одноточечный кроссинговер организуется по аналогии с биологической рекомбинацией. А именно, если есть два родителя S1 = (S11, S12,...,S1N) и S2 = (S21, S22,..., S2N), то их потомки есть (S11,..., S1m, S2,m+1,...,S2N) и (S21,..., S2m, S1,m+1,...,S1N); т.е. "голова" и "хвост" хромосомы потомка берутся от разных родителей. Точка кроссинговера выбирается случайным образом, в приведенном примере она располагается между m-м и m+1-м "генами". Аналогичным образом может быть организован двухточечный и "несколько-точечный" кроссинговер. Тип рекомбинации по схеме кроссинговера часто дополняется инверсиями, т.е. изменением порядка следования символов в участках хромосом; это аргументируется, как необходимость подобрать существенные для приспособленности комбинации символов в хромосоме.
Некоторые схемы ГА используют равномерные рекомбинации. Это означает, что два родителя имеют двух потомков, символы хромосомы одного из потомков выбираются случайно от любого (но сохранением порядка следования символов), а второму потомку достаются оставшиеся символы. Например, два потомка родителей S1 = (S11, S12,..., S1N) и S2 = (S21, S22,..., S2N), могут иметь следующие хромосомы (S11, S22, S13, S14,..., S2N) и (S21, S12, S23, S24,..., S1N).
Как метод оптимизации, ГА обладает внутренним параллелизмом
(implicit parallelism): разные частные существенные комбинации генов – их часто называют "схематами" (“schemata”) – отыскиваются параллельным образом, одновременно для всех комбинаций. Отметим, что чем меньше комбинация, тем легче она может быть найдена.Подчеркнем, что генетические алгоритмы по общей схеме подобны модели квазивидов ( Лекция 2 , Лекция 3 ). Основное различие состоит в том, что в модели квазивидов не включаются рекомбинации, в то время как именно рекомбинации играют важную роль в процессе поиска новых хороших решений в генетических алгоритмах (интенсивность мутаций в ГА
обычно очень мала). Правда, в последнее время исследователи ГА стали высказывать определенный скептицизм по поводу необходимости включения рекомбинаций в схему генетического алгоритма.3. Оценка эффективности генетического алгоритма
Рассмотрим простейший случай традиционного варианта генетического алгоритма, предполагая, что 1) цепочки символов в хромосомах бинарны (
Ski = 0 либо 1), 2) длина цепочек равна N = const, 3) отбор пропорционально-вероятностный, 4) рекомбинации отсутствуют, есть только точечные мутации (случайные равновероятностные замены символов), 5) численность популяции постоянна: n = const.Тогда алгоритм совпадает полностью со схемой модели квазивидов ( Лекция 2 ,
Лекция 3). И справедливы оценки скорости эволюции и эффективности эволюционного поиска, полученные в лекции 4 . Воспроизведем здесь основные идеи и результаты этих оценок.Для определенности будем считать, что приспособленности особей определяются Хемминговой мерой близости, т.е. имеется одна оптимальная особь
Sm, а приспособленности других особей экспоненциально уменьшаются с ростом расстояния по Хеммингу между рассматриваемой S и оптимальной хромосомой Sm .Предполагая, что интенсивность отбора достаточно велика, считаем, что основное время эволюции лимитируется мутациями. Причем, если мутации велики, то возможны потери уже найденных особей, а если мутации малы, то это замедляет эволюционный процесс. Разумно выбрать такую интенсивность мутаций, чтобы за одно поколение в среднем менялся один символ в хромосоме. Т.е. вероятность замены каждого символа
Pm в процессе мутаций должна быть порядка: Pm ~ N –1 .Тогда, если пренебречь нейтральным отбором, то число поколений, требуемых для нахождения оптимума, составляет (качественная картина эволюционного процесса иллюстрируется рис.1 в лекции 4 )
T
~ (Pm) –1 ~ N . (1)Условие пренебрежения нейтральным отбором есть
T < Tn
~ n , (2)где
n – численность популяции.Это условие предполагаем выполненным на пределе, т.е. полагаем: T ~ n . Общее число особей, участвующих в эволюции, составляет nобщ = nT . Комбинируя формулы (1), (2), имеем:
n
общ ~ N 2 . (3)Хотя оценки (1), (3) довольно грубые, они важны с инженерной точки зрения – используя эти оценки, разработчик конкретного алгоритма может оценить ту вычислительную мощность, которая ему потребуется.
С инженерной точки зрения также важно то, что возможна аппаратная реализация многопроцессорных специализированных вычислительных микроэлектронных устройств, эффективно реализующих генетический алгоритм. А именно, каждой "особи" популяции можно поставить в соответствие отдельный процессор. Тогда расчеты приспособленностей можно выполнять параллельным образом, что позволяет ускорить процесс
оптимизации. В работе [10] была предложена микроэлектронная схема эволюционного оптимизатора, основанного на использовании векторного логического устройства и оперативной памяти большой емкости. Основные информационные процессы в эволюционном оптимизаторе осуществляются параллельным образом.Литература:
Copyright © Vladimir Red'ko, Nov 2, 1999 ( redko@keldysh.ru )
Last modified: Nov 2, 1999