УДК 004.8.023 + 004.81.85
С.И. Родзин
ОРГАНИЗАЦИЯ ПАРАЛЛЕЛЬНЫХ ЭВОЛЮЦИОННЫХ ВЫЧИСЛЕНИЙ*
Рассматриваются возможности распараллеливания эволюционных вычислений как процесса математических преобразований, позволяющих трансформировать входной поток информации в выходной по правилам, основанным на имитации механизмов эволюци-, -ближении к искомому решению. Анализируются операции базового цикла алгоритмов эволюционных вычислений. Предлагаются различные модели организации параллелизма: гло-, . распараллеливанию операторов базового цикла эволюционных вычислений. Отмечается важное значение дальнейших исследований в области организации параллельных эволюционных вычислений в гетерогенных компьютерах сетях, на параллельных высокопроизводительных кластерных вычислителях может. Это обеспечит значительные выгоды с точки зрения производительности и масштабируемости вычислений.
Генотип; фенотип; эволюционные вычисления, параллелизм.
S.I. Rodzin
ORGANIZATION OF PARALLEL EVOLUTIONARY COMPUTATION
The possibility of parallel evolutionary computation as a process of mathematical transformations which allow to transform the input stream to an output of rules based on imitation mechanisms of the evolutionary synthesis, a statistical approach to the study of situations and iterative approximation to the desired solution. Analyzes the operation of basic cycle of evolutionary algorithms for computing. Various models for the organization of parallelism: a global concurrency, migration and diffusion model. Provides guidelines for operators paralleling the basic cycle of evolutionary algorithms. Indicates the importance of further research in the field of parallel evolutionary algorithms in heterogeneous computer networks, parallel high-performance cluster calculators can. This will provide significant benefits in terms of performance and scalability of algorithms.
Genotype, phenotype; evolutionary computation; parallelism.
Введение. Для решения разнообразных задач функциональной оптимизации, поддержки принятия решений все чаще стали использоваться алгоритмы и компьютерные программы эволюционных вычислений (ЭВ). В течение последних 50 лет были предложены разнообразные алгоритмы ЭВ: генетический алгоритм, генети-
, , -вание, модели коллективного поведения (колонии муравьев, стаи птиц, пчелиного ), , , , -рированные природными системами. Разработана общая теория ЭВ [1].
Однако в области ЭВ имеются теоретические и практические проблемы, которые предстоит решать и которые в определенной мере затронуты в данной работе - это необходимость повышения точности и сокращения затрат вычислительных ресурсов на решение задач с помощью эволюционных алгоритмов.
. - -, -формации в выходной по правилам, основанным на имитации механизмов эволюци-,
*
Работа выполнена при частичной поддержке РФФИ (проекты: № 10-01-90017-Бел, № 11-07-00094, № 09-01-00492).
приближении к искомому решению. Основными элементами этого процесса является композиция эволюционных операторов «генерирующих» постоянную активность поисковых переменных в процессе эволюции; селективный отбор результатов и вычисление целевой функции «полезности»; наличие «памяти», реализующей свойство адаптивности поискового алгоритма; наличие гранул параллелизма [1,3].
Из этих четырех элементов эволюционных вычислений Ч. Дарвин гениально «угадал» первые два: ввел фундаментальное понятие «изменчивости» (поисковая активность алгоритма через композицию эволюционных операторов), а также «естественного отбора» (селекция) и «полезности», «выгодности», «приспособленно-» ( ).
Формально процесс ЭВ выглядит следующим образом. Фиксируется множество объектов X (популяция решений), обладающих некоторыми параметрами и связанных друг с другом посредством определенной структуры. Среди этих объектов необходимо выбрать наилучшие в смысле некоторого критерия качества (оптимальности) К Критерий оптимальности формируется на основе свойств объектов и не обязательно существует в виде аналитических выражений. Важно, что существует отображение F.• X —► Я, где Я - множество действительных чисел и каждому объекту х еХ из множества X сопоставляется значение критерия Р(х).
Фенотипическая природа исследуемого множества объектов произвольна, поэтому необходимо построить кодированное представление исходного множества объектов в другом, конечном множестве, обладающем структурой, например, векторного пространства 5 (генотип). Отображение вида <р: X —*■ 5 описывает связь между исследуемыми объектами, которые выступают в качестве потенциальных решений задачи поиска и объектами, управление и манипулирование которыми осуществляет алгоритм ЭВ. Существует обратное отображение вида (р1: 5 —► X и каждому вновь сгенерированному элементу представления 5 е 5 соответствует элемент во множестве X.
, , построении множества объектов-решений Xopt еX, для которых выполняются следующие условия: Xopt = argmax [<р-1(5)], 5 е 5.
Таким образом, в процессе оптимизации множество X развивается и эволюционирует к оптимальному состоянию, изменяя свой состав и параметры входящих в него объектов. Способ построения множества объектов 5 е 5 определяется .
Особенностью моделей ЭВ является то, что в качестве множества 5 строится так называемое кодовое пространство - множество представлений объектов х в ( ).
5. На множестве 5 определяется подмножество Р0 - случайная начальная популяция. Решение на каждом шаге эволюции определяется следующей разностной вычислительной схемой Р1+1 = А(Р), где А - композиция различных эволюционных операторов. Критерий оптимальности вычисляется на каждом шаге вместе с критерием отбора решений, реализуемым в композиции операторов А.
Базовый цикл эволюционных вычислений. Одним из следствий общей теории ЭВ является наличие базового цикла алгоритма ЭВ, который включает следующую последовательность шагов: вычисление целевой функции, оценку качества решений, селективный отбор решений для репродукции и репродукцию, т.е. создание новых решений. Условиями остановки алгоритма ЭВ обычно является , , « », -черпание числа поколений, отпущенных на эволюцию или исчерпание времени, отпущенного на эволюцию.
Важными элементами эволюционных алгоритмов являются представление (кодирование) решений, а также правила, по которым эволюционирует реализуемая алгоритмом модель. Вначале фиксируется популяция Р0 решений (подмножество объектов X), обладающих некоторыми фенотипическими свойствами и связанных друг с другом посредством определенной структуры. На основе свойств объектов формируется критерий Г (не обязательно аналитическое выражение), согласно которому среди объектов выбираются наилучшие:
Xopt = argmax Г [ф-1(5)], 5 е 5, где в качестве множества 5 строится так называемое генотипическое кодовое пространство - множество представлений объектов х в виде кодов (хромосом) 5. Эволюция множества X задается эволюцией представления 5. Таким образом, представление генотипа 5 и отображение генотип - фенотип ср-1: 5 —* X имеет важное значение для организации работы ЭА. Поясним это положение теории эволюци-.
, -торыми свойствами. Как правило, поиск производится среди конечного (иногда бесконечного) множества объектов (потенциальных решений). Первый шаг при решении задачи поиска состоит в том, чтобы определиться относительно пространства исследуемых объектов множества X. В качестве этого пространства могут фигурировать пространство и-мерных векторов вещественных чисел, множество позиций в игре или множество вариантов размещения и трассировки микросхемы.
,
выборе некоторого представления объектов из пространства X. Представление определяется множеством 5 - пространством представлений. Множество 5 выбирается с таким расчетом, что алгоритму поиска будет легче манипулировать с элементами множества 5, нежели X.
В отличие от пространства объектов X, пространство представлений 5 обязательно конечное. Таким образом, отображение ср1: X—>■ 5 есть функция кодирования, которая описывает связь между исследуемыми объектами, выступающими в качестве потенциальных решений задачи поиска, и объектами, управлением и манипулированием которых занимается ЭА. Обратное отношение (функция декодирования) <р-1: 5 —* X используется тогда, когда по новому представлению, полученному в результате поиска, требуется восстановить соответствующее ему решение из X.
Использование представлений решения позволяет осуществлять поиск практически при минимуме информации о характере и свойствах пространства объектов. Достаточно только той информации, которая позволяет описать ландшафт критериальной функции в пространстве представлений.
Для реализации алгоритма поиска в пространстве представлений вводится целевая функция оценки представлений Г-1, аналогичная функции Г, определенная
5. ,
, , -
.
, , композицию генетических операторов А(Р), необходимо определиться с символьной моделью задачи. Она включает в себя пространство потенциальных решений
X, пространство представлений 5, функции кодирования р и декодирования р1,
функцию качества (пригодности, приспособленности) Г и целевую функцию оцен-
-1
ки представлении Г .
Эволюционные алгоритмы в процессе своей работы требуют немалых вы,
распределенную вычислительную среду. Для этого имеются веские основания:
алгоритмы ЭВ потенциально обладают свойством массового параллелизма при обработке информации, что допускает их эффективную параллельную реализацию [2]. Организация распараллеливания ЭВ на базе распределенной вычислительной системы позволяет существенно сократить время, затрачиваемое на решение задачи, как за счет параллельного выполнения вычислений, так и за счет применения более эф, , .
Параллельные эволюционные вычисления. Создание многоядерных ,
,
тенденцию к параллелизму в различных его проявлениях. Необходимость в параллелизме объясняется существованием задач, требующих большого количества ре, , , -стрия упёрлась в технологический барьер и дальнейшее увеличение тактовой час.
Структура базового цикла ЭВ обладает параллелизмом, как на уровне организации работы алгоритма (эволюция в природе «обсчитывается» на гигантской , ), его компьютерной реализации.
Параллелизм на уровне компьютерной реализации означает вычисление на параллельных системах или процессорах значений целевой функции для разных решений, параллельное выполнение операторов ЭВ, что пропорционально повышает скорость работы алгоритма. Параллелизм на уровне организации работы алгоритма ЭВ может достигаться структурированием популяции решений. Оба подхода могут эффективно реализоваться на параллельных вычислителях, причем способы организации параллелизма могут быть различными: глобальный параллелизм, миграционная модель, диффузионная модель [1].
Рассмотрим модель глобального параллелизма эволюционных вычислений, представленную на рис. 1.
В этой модели основной гранулой параллелизма или участком эволюционно-, -ём исполнении данных от других процессоров, являются такие операции базового цикла эволюционных вычислений как расчёт целевой функции и параллельное выполнение операторов репродукции новых решений. Целевая функция отдельного индивидуума в популяции, как правило, не зависит от других индивидуумов. Поэтому вычисление целевых функций допускает распараллеливание. При этом популяция хранится в общей памяти, отдельный процессор считывает код реше-( , ) -зультат после вычисления целевой функции. Процедура синхронизации здесь про-
водится лишь при формировании новой популяции. В случае если вычислительная система имеет распределенную память, то популяция и значения функции качест-
« »- , -
дятся на вспомогательных процессорах.
При использовании модели глобального параллелизма трудность для распараллеливания при реализации базового цикла эволюционных вычислений представляет процедура селективного отбора решений. Здесь преимущество в смысле распараллеливания получают те формы селекции, которые не используют глобальную статистику о популяции, например «соревновательные» способы селекции [1]. Напротив, легко распараллеливаемыми являются такие наиболее широко применяемые операторы эволюции, как мутация и кроссинговер, так как они выполняются независимо друг от друга и в основном случайным образом.
Если между отдельными подпопуляциями установить правила миграции от, , . 2.
В этой модели основной гранулой параллелизма являются все операции базового цикла эволюционных вычислений, выполняемые внутри подпопуляции. Для построения миграционной модели требуется задать количество и размеры подпо-пуляций, топологию связей между ними, частоту и интервал миграции, а также стратегию эмиграции и иммиграции. Размеры и число подпопуляций определяются числом и быстродействием используемых процессоров или транспьютеров. Что касается топологии связей в миграционной модели, то можно применять различные варианты: «островную» модель, предусматривающую миграцию между любыми подпопуляциями; модель, предусматривающую обмен решениями между соседними подпопуляциями и др. Применение того или иного варианта миграционной модели зависит от архитектуры параллельного вычислителя (сетевая, кольцевая или др.). Частота миграции определяется размерами подпопуляций. При высокой частоте подпопуляция может быстро потерять гетерогенность. Наоборот, при слабой интенсивности миграции и большом числе подпопуляций возрастает вероятность получения нескольких хороших решений, однако сходимость алго-.
Для обеспечения выбора особей для миграции предлагается использовать общий буфер хромосом. Буфер заполняется хромосомами нескольких популяций. При наступлении определенной ситуации отдельная популяция обращается к буферу и считывает оттуда часть или все хромосомы, добавляя в буфер часть своих хромосом. В ходе ЭВ необходимо лишь определить механизм регулирования раз. -дит следующим образом. Каждая популяция эволюционирует отдельно от других.
На каждой итерации проверяется условие необходимости миграции (через заданный интервал, вырождение популяции и т.п.). Если условие наступило, происходит миграция хромосом через общий буфер. Затем проверяется размер буфера. Если размер больше заданного значения, то выполняется процедура отбора.
, . Также различными могут быть композиции генетических операторов для разных .
Миграционная модель эффективно реализуется в вычислительных системах с М1МО-архитектурой (множественный поток команд и множественный поток данных) путем разделения общей популяции на отдельные подпопуляции, эволюционное моделирование которых осуществляется на отдельных процессорах.
Эволюционные вычисления стохастичны, поэтому при разных запусках эволюционного алгоритма популяция может сходиться к разным субоптимальным .
« » « » .
Если большую популяцию разделить на множество немногочисленных под, -, , -ная модель эволюционных вычислений, представленная на рис. 3.
хромосома
локальное
соседство
центральных
хромосом
Рис. 3. Диффузионная модель параллелизма
В этой модели основной гранулой параллелизма являются все операции базового цикла эволюционных вычислений, выполняемые внутри небольших по раз. , -пространяются в популяции (диффузия) и проблема попадания в «локадьную яму» становится менее острой.
Популяция в природе, как правило, состоит из отдельных, более или менее изолированных локальных подпопуляций, допускающих диффузию отдельных индивидуумов. Большинством существующих эволюционных алгоритмов это об, -
.
Другое преимущество диффузионной модели состоит в том, что она также допускают эффективную реализацию эволюционных вычислений на массиве параллельных вычислителей с различной коммутационной структурой.
Однако наиболее эффективно диффузионная модель реализуется в вычислительных системах с 81МО-архитектурой (одиночный поток команд, множествен). -деленных ЭВ зависит от архитектуры вычислительной системы, используемой для .
Из анализа базового цикла алгоритма ЭВ вытекают следующие рекомендации по распараллеливанию, входящих в него операций:
♦ две составляющие базового цикла ал горитма ЭВ потенциально могут значительно повлиять на параллелизм - оценка качества решения и репродукция новых решений;
♦ процесс вычисления целевой фу нк ции для каждого решения может осуществляться параллельно и независимо от остальных решений;
♦ оценка качества решений может потребовать сложных расчетов или моделирования и является одним из наиболее трудоемких этапов ЭВ. В процессе оценки качества требуется сравнить значения функции качества каждого решения с остальными и обновить структуры данных. Это затрудняет процесс распараллеливания;
♦ выполнение фазы селекции в базовом цикле алгоритма ЭВ может потребовать доступа к определенным подмножествам решений в популяции или
.
от выбора схемы селекции;
♦
распараллелить. Репродукция, являясь независимой задачей, может включать либо копирование решения, либо выполнение унарных, бинарных или п-арных эволюционных операторов.
Эксперименты, проведенные в различных вычислительных средах показы.
больше, чем число имеющихся процессоров, то один общий поток заданий распределяется по процессорам, что приводит к образованию очереди заданий и необходимости организации процессов их обслуживания. Такой подход по эффективности может даже уступать обработке заданий на однопроцессорной машине.
Распределенный алгоритм будет эффективным только в том случае, если задержки, вызванные передачей и обменом необходимыми данными, будут незначи-.
Наиболее простым подходом к организации распределенных ЭВ представляется глобальный параллелизм и клиент-серверная схема его реализации. Роль клиента выполняет мастер-процессор, реализующий выполнение таких шагов базового цикла ЭВ как оценка качества решений и селекция. Серверы выполняют вычисление целевой функции и репродукцию и могут включать несколько ядер. Однако экспериментальное решение некоторых проектных задач оптимизации и структурного синтеза большой размерности показали, что клиент-серверная архитектура может оказаться не оптимальной. Это происходит в следующих случаях:
♦ в процессе решения задачи время, необходимое для передачи и обмена данными между клиентом и серверами значительно превышает время, необходимое серверу для выполнения своих задач;
♦ представление решений и объем по пуляции требует значительной памяти, поэтому организовывать работу распределенного алгоритма ЭВ желательно на основе миграционной или диффузионной модели параллелизма.
Используя различные алгоритмы ЭВ можно моделировать эволюцию в «ост» , представляет один «остров». Связь между узлами понадобится лишь для миграции « ». -стоятельно работающих алгоритмов ЭВ. Правила миграции могут быть выбраны таким образом, чтобы оптимизировать сетевой трафик. Память, требуемая для организации ЭВ на одной машине, уменьшается, каждый узел работает независимо.
Однако простота идеи программирования параллельных эволюционных вычислений на практике требует выполнения некоторых условий. В частности, в многопроцессорной системе разбиение на слишком крупные гранулы не позволяет равномерно загрузить процессоры и добиться минимального времени вычислений, а излишне мелкая «нарезка» означает рост непроизводительных расходов на связь .
топологии вычислительной платформы. Процесс создания максимально эффективного алгоритма практически не автоматизируется и связан с большими трудозатратами на поиск специфической структуры алгоритма, оптимальной для конкретной топологии используемой многопроцессорной системы. Найденная структура обеспечит минимальное время получения результата, но, скорее всего, будет неэффективна для другой конфигурации.
.
сетях или на параллельных высокопроизводительных кластерных вычислителях может обеспечить значительные выгоды с точки зрения производительности и масштабируемости. Для этого имеются веские основания. Все разновидности эволюционных алгоритмов обладают свойством параллелизма и предоставляют полноценные возможности для нахождения оптимальных решений. Такие свойства у них появляются вследствие наличия механизмов поддержания разнообразия в популяции на протяжении всего поиска в распределенном пространстве решений. Практическая реализация параллелизма ЭВ позволит всесторонне исследовать пространство решений, что, в частности, является ключевым моментом для решения многих трудных проблем из различных прикладных областей
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Курейчик В.М., Курейчик В.В., Родзин С.К Основы теории эволюционных вычислений.
- Ростов-на-Дону: Изд-во ЮФУ, 2010. - 224 с.
2. Родзин С.И. Эволюционные вычисления: единая теория и организация параллелизма // Нечеткие системы и мягкие вычисления: сб. ст. Третьей Всероссийской научной конференции: В 2-х т. Т. I. - Волгоград: Изд-во ВолгГТУ, 2009. - С. 30-40.
3. Куре йчик В.В., Курейчик В.М., Родзин С.И. Концепция эволюционных вычислений, ин-
// . . - 2009.
- № 4 (93). - С. 16-25.
. . ., . . .
Родзин Сергей Иванович
Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: [email protected].
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 88634371673.
Кафедра математического обеспечения и применения ЭВМ; профессор.
Rodzin Sergey Ivanovich
Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: +78634371673.
The Department of Software Engineering; Professor.