Лекция 7

Генетические алгоритмы

 

Генетические алгоритмы (далее ГА) – это адаптивные методы поиска, которые в последнее время все более широко применяются для задач структурной и функциональной диагностики. Генетическими они называются из-за того, что используют принцип эволюции биологических организмов Ч. Дарвина. По которому популяции развиваются в течении многих поколений, подчиняясь принципу естественного отбора, то есть survival of the first. Генетические алгоритмы по аналогии с эфолюционным механизмом работают с популяцией, каждая из хромосом которой преставляет возможное решение данной задачи. Каждая хромосома оценивается мерой ее приспособленности – fitness function, которую называют функцией оптимальности. Например, мерой приспособленности хромосом , кодирующих поверхность летательного аппарата, можно использовать общий коэффициент обтекаемости Rx. Наиболее приспособленные особи получают возможность воспроизвести потомство с помощью перекрестного скрещивания и мутации, с другими особями популяции. В результате получаются особи наследующие характеристики родителей. В свою очередь менее приспособленные особи постепенно исчезают из популяции. Новое поколение обладает лучшими характеристиками по сравнению с предыдущими. Скрещивание и мутация приводят к тому, что эволюция отыскивает перспективные решения в широком пространстве поиска. В конечном счете популяция сходится к оптимальному решению задачи. Но ни один генетический алгоритм этого не гарантирует.

Генетический алгоритм (ГА) [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.

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

Одноточечный кроссинговер организуется по аналогии с биологической рекомбинацией. А именно, если есть два родителя 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”) – отыскиваются параллельным образом, одновременно для всех комбинаций. Отметим, что чем меньше комбинация, тем легче она может быть найдена.

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

 

<< Предыдущая лекция || Следующая лекция >>

Консультация по нейронным сетям >>


Лекция 1. Основы нейросетей. Биологические нейронные сети.
Лекция 2. Персептрон. Многослойный персептрон.
Лекция 3. Алгоритм обратного распространения ошибки.
Лекция 4. Ускорение обучения. Обучение без учителя
Лекция 5. Сеть Кохонена. Звезды Гроссберга
Лекция 6. Сети Хопфилда и Хемминга
Лекция 7. Генетические алгоритмы
Лекция 8. Обучение с подкреплением
Лекция 9. Прогнозирование с помощью нейронных сетей
Лекция 10. Самообучаемые системы с самомодифицирующимися правилами
Нейросетевая топология Внутренний учитель




Рейтинг@Mail.ru

 
 
Апшеронск Спорт VBA Форекс Сочи-2014 Нейросети Студентам
Связь с Администратором сайта, E-mail: apsheronka@mail.ru
Апшеронск, Краснодарский край

Размещение рекламы на сайте
Карта сайта

При перепечатке материалов сайта http://apsheronsk.bozo.ru - обязательная активная гиперссылка на сайт!


`