Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы теории эволюционных вычислений. Научная монография

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
моделей эволюции, а алгоритмы на её основе применены для локального поиска вблизи оптимума
Идея алгоритма, основанного на модели эволюции по И. Шмальгаузену состоит в следующем
[
Курейчик
.
, 2009 в],
.
представлена на рис
. 31 и
Рис
. 31.
Схема ЭА по модели И. Шмальгаузена
Пусть популяция меняется от поколения
(t∈T; t = 0, 1 , 2,…, n,
на основе
механизмов
где
n –
число поколений
генетической изменчивости
t к
поколению
).
Это происходит
t+1
.
В
эволюционном цикле авторегулирования вначале происходит
191
преобразование
генотип/фенотип
,
затем
размножение организмов, прошедших естественный отбор. Такой отбор является процессом регулирования. Здесь блок «соответствие
1?»
проверяет, насколько исследуемая популяция соответствует условиям регулятора. В блоке проверки логического условия
«
соответствие
по заданной программе
2?»
анализируется правильность преобразования
.
3.2. Организация параллельных эволюционных
вычислений
Одно из главных преимуществ общей теории ЭВ инспирированных природными системами, заключается в том что
структура параллелизмом. Это особенно важно при реализации ЭВ на многоядерных структурах процессоров или с использованием кластерных решений
системы
.
ЭВ
обладает
естественным
, ,
Необходимость
существованием задач
в
,
требующих большого количества
параллелизме
объясняется
ресурсов памяти и процессорного времени; с другой стороны разнообразные эволюционные алгоритмы в процессе своей работы также требуют определённых вычислительных ресурсов Поэтому актуальной является проблема переноса эволюционных вычислений в распределенную вычислительную среду. Для этого имеются веские основания
:
следствием общей теории эволюционных вычислений является тот факт, что базовый цикл алгоритмов эволюционных вычислений обладает свойством массового параллелизма при обработке информации, что допускает
[
Родзин
их
, 2009 а].
Проведем
эффективную
сравнительный
параллельную
анализ
реализацию
возможностей
распараллеливания операторов базового цикла для алгоритмов
,
.
эволюционных вычислений
.
Базовый цикл включает следующую последовательность
шагов: вычисление целевой функции, оценку качества решений
192
,
селективный отбор решений для репродукции и репродукцию
,
т.е. создание новых решений. Структура базового цикла эволюционных вычислений допускает распараллеливание как на уровне организации работы алгоритма
«
обсчитывается
»
на
гигантской состоящей из всех природных объектов компьютерной реализации
.
(
эволюция в природе
параллельной
),
так и на уровне его
машине
Параллелизм на уровне компьютерной реализации означает вычисление на параллельных системах или процессорах значений целевой функции для разных решений и параллельное выполнение операторов эволюционных вычислений пропорционально повышает скорость работы алгоритма
,
что
.
Параллелизм на уровне организации работы алгоритма эволюционных структурированием популяции решений
Организация
вычислений
распараллеливания
может
.
достигаться
эволюционных
,
вычислений на базе распределенной вычислительной системы позволяет существенно сократить время, затрачиваемое на решение задачи, как за счет параллельного выполнения вычислений, так и за счет применения более эффективных, чем в последовательном случае, способов реализации алгоритмов
.
Оба подхода могут эффективно реализоваться на параллельных вычислителях. Будем различать следующие способы организации параллелизма ЭВ [Родзин
-
способ
-
способ
-
способ
Способ
1 −
глобальный параллелизм
2 −
миграционная модель
3 −
диффузионная модель
1
заключается в следующем
;
;
.
, 2002]:
.
Речь идет о параллельном вычислении целевой функции и параллельном выполнении операторов алгоритма ЭВ. Целевая функция отдельного индивидуума в популяции, как правило, не зависит от других индивидуумов, поэтому вычисление целевых функций допускает распараллеливание. При этом популяция хранится в общей памяти, а отдельный процессор считывает хромосому из
193
памяти и возвращает результат после вычисления целевой функции. Процедура синхронизации здесь проводится лишь при формировании новой популяции
В
случае
если
.
вычислительная
система
имеет распределенную память, то популяция и значения функции качества отдельных индивидуумов хранятся в
«
мастер
»-
процессоре, а расчеты производятся на вспомогательных процессорах. Некоторую трудность для распараллеливания представляет процедура селекции. Здесь преимущество в смысле распараллеливания получают те формы селекции, которые не используют глобальную статистику о популяции, например
«
соревновательные
распараллеливаемыми
»
способы
селекции
.
Легко
являются операторы мутации и кроссинговера, так как они выполняются независимо друг от друга и в основном случайным образом
Способ
2 −
миграционная модель
.
–
наиболее эффективно
реализуется в вычислительных системах с
MIMD-
архитектурой путем разделения общей популяции на отдельные подпопуляции эволюционное моделирование которых осуществляется на отдельных
процессорах
.
Если
между
отдельными подпопуляциями установить правила миграции отдельных индивидуумов
,
то получится миграционная модель. Для построения миграционной модели требуется задать количество и размеры подпопуляций, топологию связей между ними, частоту и интервал миграции, а также стратегию эмиграции и иммиграции Размеры и число подпопуляций определяются числом и быстродействием транспьютеров, а также сложностью решаемой проблемы
используемых
процессоров
или
.
Что касается топологии связей в миграционной модели, то
здесь различаются два варианта
: «
островная
»
модель
предусматривающая миграцию между любыми подпопуляциями
,
.
, ,
и модель, предусматривающая обмен индивидуумами между соседними подпопуляциями. Применение того или иного варианта миграционной модели зависит от архитектуры
194
параллельного вычислителя
(
сетевая или кольцевая
).
Частота миграции определяется размерами подпопуляций. При высокой частоте подпопуляция может быстро потерять гетерогенность Наоборот, при слабой интенсивности миграции и большом числе подпопуляций возрастает вероятность получения нескольких хороших решений, однако сходимость алгоритма замедляется
Способ
наиболее эффективно реализуется в вычислительных системах с
SIMD-
архитектурой. В этом случае общая популяция разделяется
3 −
диффузионная модель параллелизма ЭВ
на большое число немногочисленных подпопуляций
.
–
,
операторы кроссинговера и селекции применяются лишь в ограниченной области, определяемой отношением соседства. Это приводит к тому, что хорошие решения очень медленно распространяются в популяции попадания в «локальную яму» становится менее острой
(
диффузия
)
и проблема
.
Популяция в природе, как правило, состоит из отдельных
.
а
,
более или менее изолированных локальных подпопуляций допускающих
миграцию
или
диффузию
отдельных индивидуумов. Большинством эволюционных алгоритмов это обстоятельство игнорируется, алгоритмы работают с одной большой
неструктурированной
популяцией
.
Другое преимущество рассмотренных моделей параллелизма состоит в том, что они допускают эффективную реализацию на массиве параллельных вычислителей с различной коммутационной структурой
.
Ответ на вопрос о том, какой из представленных способов распределенных вычислений является более эффективным зависит
от
архитектуры
вычислительной
системы Эффективность при решении конкретной задачи будем оценивать путем тестирования по двум факторам: скорости
(
временем достижения заданного качества популяции
)
и
,
,
.
устойчивости
(
способность алгоритма к самостоятельному
выходу из точки локального экстремума и способность
195
постоянно увеличивать качество популяции от поколения к поколению) поиска оптимальных решений
.
Решающим обстоятельством для оценки практической пригодности алгоритмов ЭВ должно быть то, насколько успешно с их помощью может быть решена та или иная задача с точки зрения качества решения и вычислительной сложности
Из анализа базового цикла алгоритма ЭВ
.
(см.
рис
. 6)
вытекают следующие рекомендации по распараллеливанию входящих в него операций
•
две составляющие базового цикла алгоритма ЭВ
:
потенциально могут значительно повлиять на параллелизм оценка качества решения и репродукция новых решений
•
процесс вычисления целевой функции для каждого
;
решения может осуществляться параллельно и независимо от остальных решений
•
оценка качества решений может потребовать сложных
;
,
:
расчетов или моделирования и является одним из наиболее трудоемких этапов ЭВ. В процессе оценки качества требуется сравнить значения функции качества каждого решения с остальными и обновить структуры данных. Это затрудняет процесс распараллеливания
•
выполнение фазы селекции в базовом цикле алгоритма
;
ЭВ может потребовать доступа к определенным подмножествам решений в популяции или обновления данных. Поэтому возможности ее распараллеливания зависят от выбора схемы селекции
•
выполнение фазы репродукции в базовом цикле
;
алгоритма ЭВ нетрудно распараллелить. Репродукция может включать либо копирование решения, либо выполнение унарного оператора отдельной хромосомы
),
либо выполнение бинарного
(
например, мутации
(
например, кроссинговера двух хромосом) или оператора независимой задачей
.
Выполнение
репродукции
.
196
n-
арного
является
На рис
. 32 в
общих чертах представлены потенциальные
возможности распараллеливания базового цикла алгоритма ЭВ
[
Родзин
, 2010].
Инициализация
популяции
Рис
. 32.
Потенциальные возможности распараллеливания
Вычисление
целевой
функции
Репродукция
(создание новых
решений)
Оценка
качества
решений
Селекция
(выбор для
репродукции)
базового цикла алгоритма ЭВ
Базовый цикл алгоритма ЭВ можно выполнять как на однопроцессорной машине, так и на двуядерной машине, как это показано на рис
. 33.
Поскольку объём популяции решений может быть значительно больше, чем число имеющихся процессоров, то один общий поток заданий будет распределяться по процессорам, что неизбежно приведет к образованию очереди заданий и необходимости организации процессов их обслуживания. Такой подход по эффективности может даже уступать обработке заданий на однопроцессорной машине
.
Распределенный алгоритм ЭВ будет эффективным только в том случае, если задержки, вызванные передачей и обменом необходимыми данными, будут незначительными. Например если математическая функция
sqrt(x)
вычисляется на одном
,
процессоре, а подкоренное выражение х
197
− на
другом, то это
займет гораздо больше времени, чем локальное вычисление х и
Вычисление
Оценка
Вычисление
sqrt(x).
Ядро
1
Инициализация
ЦФ
Основной шаг
качества
Селекция
организации
Инициализация
Рис
. 33.
Параллельное выполнение алгоритма ЭВ на двуядерной
Уточним
Репродукция
Ядро
2
Репродукция
машине
возможные
ЦФ
варианты распределенных вычислений для предлагаемой концепции ЭВ инспирированных природными системами. Наиболее простым подходом
к
организации
распределенных
вычислений представляется глобальный параллелизм и клиент-серверная схема его реализации. Роль клиента выполняет мастер
,
-
процессор, реализующий выполнение основного шага, как это показано на рис функции и репродукцию
. 33.
Серверы выполняют вычисление целевой
.
Однако для решения задач оптимизации и структурного синтеза большой размерности клиент-серверная архитектура может оказаться не оптимальной. Это произойдет в следующих случаях
:
•
в процессе решения задачи время, необходимое для передачи и обмена данными между клиентом и серверами значительно превышает время, необходимое серверу для выполнения своих задач
•
представление решений и объем популяции требует значительной
памяти
;
,
поэтому
организация
,
198
распределенного алгоритма ЭВ строится на основе миграционной или диффузионной модели параллелизма
.
Используя концепцию ЭВ, инспирированных природными
системами, мы можем легко смоделировать модель эволюции в
«
островных подпопуляциях
компьютеров, каждый из которых представляет один
(
крупнозернистый параллелизм
»
на различных узлах в сети
«
).
Это позволит преодолеть
остров
отмеченные выше недостатки клиент-серверной архитектуры Связь между узлами понадобится лишь для миграции между
«
островами
».
Эта связь может осуществляться асинхронно через сеть самостоятельно работающих алгоритмов ЭВ. Правила миграции могут быть выбраны таким образом оптимизировать сетевой трафик. Память
,
требуемая для
,
чтобы
организации ЭВ на одной машине, уменьшается, каждый узел работает независимо, как это показано на рис
Узел 1
. 34.
»
.
Инициализация Вычисление ЦФ
Репродукция
Узел 2
Репродукция Селекция
Инициализация
Рис
. 34.
Параллельное выполнение алгоритмов ЭВ на узлах сети
Вычисление ЦФ
Оценка качества
Селекция
СЕТЬ
Оценка качества
Этот вывод удалось проверить экспериментально, в
частности
,
на примере решения транспортных задач с
199
использованием
генетических
алгоритмов
.
Параллельное выполнение генетического алгоритма на узлах многоядерной сети
позволяет
уменьшить
время
работы
алгоритма Экспериментальная проверка проводилась на известных тестовых транспортных задачах с ограничением по времени Фаза процесса репродукции новых решений в популяции производилась параллельно, программа запускала столько потоков репродукции, сколько имелось процессорных ядер
Схема
многопоточной программы показана на рис
работы
соответствующей
. 35.
.
.
.
Рис
. 35.
Схема работы
программы
многопоточной
Инициализация генетического алгоритма ЭВ и запуск дополнительных потоков происходил из главного потока который создавался при запуске программы. На рис
. 35
блоки команд, выполняемые главным потоком, изображены белыми, не закрашенными прямоугольниками
.
200
,
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]