Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭВ_слайды лекция 1.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
10.5 Mб
Скачать

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

Для нетривиальных задач выполнение одного репродуктивного цикла – поколения в ГА требует значительных вычислительных ресурсов. Вычисление значения фитнесс-функции для каждой особи, потенциального решения проблемы, часто является самой трудоемкой операцией в ГА. Для повышения эффективности разработаны параллельные ГА.

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

Согласно современной классификации различают глобальные ПГА, распределенные ГА (РГА), клеточные ГА (КГА) и коэволюционные ГА (КЭГА).

миграция

а) б) в)

Рис.. а) Простой ГА , б) Распределенный ГА , в) Клеточный ГА.

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

Глобальный ПГА реализуется фактически по схеме «клиент - сервер», где на сервере, в основном, выполняется генетический алгоритм, а клиенты выполняют «черновую работу» - оценку значений фитнесс-функции всех особей популяции, которая требует больших вычислительных ресурсов.

Ускорение быстродействия

Параллельные генетические алгоритмы на основе «модели островов»

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

Основными факторами, которые влияют на миграцию в модели островов (и следовательно, на их эффективность ) являются следующие.

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

  2. Время изоляции, определяющее число поколений между сеансами миграции.

  3. Топология, определяющая отношение соседства между подпопуляциями.

Генетическое программирование

В генетическом программировании (ГП) в качестве особи выступает программа, представленная в определенной формате, которая решает некоторую задачу.

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

В настоящее время наиболее распространенными структурами для представления особей (потенциальных решений проблемы) являются: 1) древовидное представление; 2) линейная структура; 3) графоподобная структура.

Древовидное представление

Значительная часть работ в области ГП, в которых были получены положительные результаты, выполнялась на языке программированиязадач искусственного интеллекта LISP, где программу удобно представлять в виде дерева. Поэтому в ГП была предложена древовидная форма генома.

Древовидное представление формулы d/e-a*(b+c).

Кроссинговер в генетическом программировании

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

Для древообразной формы представления используются следующие три основных операторов кроссинговера:

а) узловой ОК;

б) кроссинговер поддеревьев;

в) смешанный.

Узловой кроссинговер

Кроссинговер поддеревьев

Родители

П отомки

Выполнение мутации на древовидных структурах

Для деревьев используются следующие операторы мутации:

а) узловая;

б) усекающая;

в) растущая.