Научная статья на тему 'Решение задачи разбиения ориентированного ациклического графа модифицированным алгоритмом искусственной иммунной системы с клональной селекцией'

Решение задачи разбиения ориентированного ациклического графа модифицированным алгоритмом искусственной иммунной системы с клональной селекцией Текст научной статьи по специальности «Математика»

CC BY
331
27
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОРИЕНТИРОВАННЫЙ АЦИКЛИЧЕСКИЙ ГРАФ / ДЕКОМПОЗИЦИЯ ГРАФА / ОРИЕНТИРОВАННЫЙ РАЗРЕЗ / СИЛЬНО СВЯЗНЫЕ КОМПОНЕНТЫ / КОМПОНЕНТНЫЙ ГРАФ / ИСКУССТВЕННАЯ ИММУННАЯ СИСТЕМА / КЛОНАЛЬНАЯ СЕЛЕКЦИЯ / ОСТРОВНАЯ МОДЕЛЬ / DIRECTED ACYCLIC GRAPH (DAG) / DECOMPOSITIONS OF GRAPHS / DIRECTED CUT / STRONGLY CONNECTED COMPONENTS / COMPONENT GRAPH / ARTIFICIAL IMMUNE SYSTEM (AIS) / CLONAL SELECTION / ISLAND MODEL

Аннотация научной статьи по математике, автор научной работы — Иванченко Александр Николаевич, Нгуен Ван Нгон

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Иванченко Александр Николаевич, Нгуен Ван Нгон

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE SOLUTION OF THE PROBLEM PARTITIONING DIRECTED ACYCLIC GRAPH USING MODIFIED ARTIFICIAL IMMUNE SYSTEM ALGORITHM WITH CLONAL SELECTION

Formulated the task of finding the best partition weighted directed acyclic graph by criterion of the minimum total weight of all cuts subject to the requirements of the acyclic component of the resulting graph. Introduces the concept of partitioning schemes and analyzed the necessary combinatorial relations and algorithms to organize the search for exact solutions of direct search options. For finding an approximate solution is proposed to use a modified algorithm of artificial immune system with clonal selection, coupled with the island model. Presented the results of numerical experiment for a randomly generated graph.

Текст научной работы на тему «Решение задачи разбиения ориентированного ациклического графа модифицированным алгоритмом искусственной иммунной системы с клональной селекцией»

УДК 519.175 DOI: 10.17213/0321-2653-2016-3-9-17

РЕШЕНИЕ ЗАДАЧИ РАЗБИЕНИЯ ОРИЕНТИРОВАННОГО АЦИКЛИЧЕСКОГО ГРАФА МОДИФИЦИРОВАННЫМ АЛГОРИТМОМ ИСКУССТВЕННОЙ ИММУННОЙ СИСТЕМЫ С КЛОНАЛЬНОЙ

СЕЛЕКЦИЕЙ

THE SOLUTION OF THE PROBLEM PARTITIONING DIRECTED ACYCLIC GRAPH USING MODIFIED ARTIFICIAL IMMUNE SYSTEM ALGORITHM WITH CLONAL SELECTION

© 2016 г. А.Н. Иванченко, Нгуен Ван Нгон

Иванченко Александр Николаевич - канд. техн. наук, профессор, кафедра «Программное обеспечение вычислительной техники», Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова, г. Новочеркасск, Россия. E-mail: [email protected]

Нгуен Ван Нгон - аспирант, кафедра «Программное обеспечение вычислительной техники», Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова, г. Новочеркасск, Россия. E-mail: ngon_npi@ mail.ru

Ivanchenko Alexander Nikolaevich - Candidate of Technical Sciences, professor, department «Software Computer Engineering», Platov South-Russia State Polytechnic University (NPI). Novocherkassk, Russia. E-mail: [email protected]

Nguyen Van Ngon - post-graduate student, department «Software Computer Engineering», Platov South-Russia State Polytechnic University (NPI), Novocherkassk, Russia. E-mail: [email protected]

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

Ключевые слова: ориентированный ациклический граф; декомпозиция графа; ориентированный разрез; сильно связные компоненты; компонентный граф; искусственная иммунная система; клональная селекция; островная модель.

Formulated the task of finding the best partition weighted directed acyclic graph by criterion of the minimum total weight of all cuts subject to the requirements of the acyclic component of the resulting graph. Introduces the concept of partitioning schemes and analyzed the necessary combinatorial relations and algorithms to organize the search for exact solutions of direct search options. For finding an approximate solution is proposed to use a modified algorithm of artificial immune system with clonal selection, coupled with the island model. Presented the results of numerical experiment for a randomly generated graph.

Keywords: directed acyclic graph (DAG); decompositions of graphs; directed cut; strongly connected components; component graph; artificial immune system (AIS); clonal selection; island model.

Обзор и постановка задачи

Задача разбиения графа на подграфы, иначе - разрезание графа (cutting a graph), возникает на практике при сегментации изображений, разделении локальной сети на широковещательные

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

шинстве случаев для этого используются неориентированные графы.

В [1] задача наилучшего разбиения взвешенного графа, у которого и вершины, и ребра имеют веса, на m подграфов (m называют рангом разбиения) сформулирована в наиболее общем виде. Считается, что вес каждого формируемого подграфа должен быть ограничен (вес подграфа - это сумма весов входящих в него вершин), а целевой функцией является или суммарный вес внутренних дуг во всех подграфах (эта функция максимизируется), или суммарный вес всех разрезов исходного графа (эта функция минимизируется). Однако такая постановка пригодна только для неориентированных графов. Специфика разбиения ориентированного ациклического графа (directed acyclic graph, DAG), выражающаяся в требовании ацикличности результирующего компонентного графа (component graph, КГ), соответствующего полученному разбиению [2], в ней никак не отражена.

В [2] рассмотрен алгоритм решения классической задачи о разложении (разбиении) орграфа на сильно связные компоненты (strongly connected components - SCC), имеющий линейную оценку времени выполнения. Доказано также, что получающийся в результате разложения КГ всегда ацикличен. Однако воспользоваться этими важными результатами для задачи о наилучшем разбиении DAG в общей постановке не представляется возможным, так как необходимым условием существования SCC в исходном графе является наличие в нем циклов (т. е. он не должен являться DAG).

В статьях Г.С. Еремина [3, 4] для предметной области АСУ сформулирована в общем виде задача наилучшего разбиения взвешенного DAG (задача выделения подсистем в сложной системе). В качестве исходного графа рассматривается информационный граф задач (ИГЗ) автоматизированной системы (вершины - функциональные задачи, дуги - информационные связи, веса дуг -интенсивности информационного обмена между задачами), а в качестве результирующего КГ -информационный граф подсистем (подграфов). При решении задачи минимизируется суммарный разрез ИГЗ при условии выпуклости всех подграфов. Однако можно показать, что выпуклость подграфов не гарантирует ацикличность результирующего КГ. Кроме того, изложенные в [3, 4] алгоритмы ориентированы лишь на решение задачи разбиения невыпуклого множества вершин орграфа на выпуклые подмножества и

воспользоваться ими для поиска наилучшего разбиения взвешенного DAG невозможно.

Целью настоящей публикации является разработка и исследование алгоритмов решения задачи разбиения DAG в постановке [3, 4], дополненной требованием ацикличности результирующего КГ.

В предыдущих публикациях авторов [5, 6] DAG были использованы для моделирования процессов обучения. Предполагалось, что учебный материал образовательной программы (ОП) представлен множеством учебных объектов (УО). По завершению изучения каждого УО проводится промежуточная аттестация, обычно в форме компьютерного тестирования. УО связаны отношениями предшествования - следования: успешная аттестация по одному из них является условием допуска к изучению другого. Естественной моделью такой ОП является ориентированный ациклический граф G = (V, E, WE), в котором V- множество n вершин, представляющих УО, E - множество дуг (условий предшествования - следования) и WE - множество весов дуг (условий допуска) [5 - 7]. В силу ацикличности граф G задает на множестве УО отношение частичного порядка, что создает многовариантность в формировании образовательных траекторий (последовательностей изучения УО).

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

Sep(V,rn) = {V1,V2,...Vm}, V- с V,

V=ULVp, V- ^Vj =0, vi * j.

(1)

относительно

Разрезом Cut(V] ,Vj) графа G < подмножеств вершин Vi,Vj eSep(V,m),i Ф j, называют множество дуг графа G, у которых начало и конец находятся в разных подмножествах.

Существует большое количество разбиений множества V с одинаковым рангом, поэтому естественным является задание критерия, позволяющего выбрать наилучшее разбиение. Одним из возможных критериев является суммарный вес всех разрезов. Минимизация такого критерия отвечает интуитивному представлению о выде-

лении подсистем в сложной системе (связи внутри подсистем должны быть сильнее связей между подсистемами):

W(Sep(V,m)) = = ^ ^ wk ^ min . (2)

V ,Vj eSep(V,m), Vi ФУ] ek eCut(Vi ,Vj) Sep(V^^,m)

Здесь через n(V, m) обозначено множество

всех допустимых для конкретной задачи разбиений ранга m. Заметим, что в общем случае величина m может быть не задана, и тогда она сама является оптимизируемым параметром, так что вместо множества n(V, mj нужно рассматривать

n

более широкое множество n(V) = У n(V,m).

m=1

Поясним понятие допустимости разбиения на примере рассматриваемой задачи формирования учебных модулей из множества учебных единиц. Так как дуги графа G имеют ориентацию, то в общем случае разрез содержит два непересекающихся подмножества дуг: в одном из них все дуги направлены из Vi в V, а в другом - в обратном направлении:

' CutV ,VJ) = Cutout V ,Vj) uCutin V ,Vj),

Cutout V,VJ)nCutin V,Vj) = 0;

Cutout V,Vj) = {exy =(vx,vy),vx eVt,Vy eVj};

Cut" V ,Vj ) = {exy =V, Vy ), Vx eVj, Vy ev}.

Будем называть разрез направленным или ориентированным (directed cut), если все дуги, принадлежащие разрезу, имеют одно направление, то есть:

Cutrout V, V ) = Cut V, V ), Cutin V, V ) = 0, or; Cutin V ,Vj ) = Cut V ,Vj ), Cutout V ,Vj ) = 0. (3)

Разбиение Sep(V,m) будем считать допустимым, если все его разрезы являются ориентированными, а соответствующий разбиению КГ не имеет циклов. Такое требование интуитивно понятно, так как в результате разбиения ориентированного ациклического графа естественно получить также ориентированный ациклический компонентный граф, вершинами которого являются УМ (подграфы исходного графа G) и этот КГ должен также задавать отношение частичного порядка на множестве УМ. Ацикличность КГ легко проверяется путем отыскания в нем хотя

бы одной обратной дуги при обходе в глубину (depth-first search - DFS) [2]. Если такая дуга обнаружена, то КГ не является ациклическим.

Необходимые комбинаторные соотношения

Приведем несколько известных понятий, используемых в комбинаторном анализе. Во-первых, для множества всех разбиений заданного множества V используют термин беллиан и обозначают его как B(V) [8, с. 11]. Происхождение этого термина объясняется тем, что мощность множества B(V) равна числу Белла B(n). Очевидно, что n(V)c B (V) . Во-вторых, множество всех разбиений ранга m обозначают Bm(V), а его мощность - через Bm(n). Как известно, эта величина является числом Стирлинга второго рода o(n, m). Между числами Белла и Стирлинга

существует простая связь: B(n) = Xm=1c(n,m) .

Очевидно также, что n(V,m)c Bm (V) .

Числа Белла и Стирлинга - это очень большие числа. Например, для графа из 12 вершин, разрезаемого на 4 подграфа, имеем: B(12) = = 4 213 597 и о(12,4) = 611 501. Поэтому при большом количестве вершин графа невозможно путем прямого перебора за приемлемое время получить точное решение задачи, связанной с разбиениями. Однако практический интерес все же представляет процедура регулярной генерации разбиений. Так, в [9, с. 84; 10] приводятся алгоритмы перечисления элементов множеств B(V и Bm(V в определенном «лексикографическом» порядке. Для удобства разбиения кодируются с помощью так называемой «функции ограниченного роста» (restricted growth function -RGF), которая имеет вид вектора:

C = (c^c2,...cn^ ci e[lm].

В этом векторе элемент ci характеризует принадлежность элемента vi e V определенному подмножеству: vi eVc, . Например, вектор (1,2,2)

кодирует разбиение {{vi},{v2,v3}}. В работе [9, с. 83] приведены алгоритмы взаимно однозначного преобразования между «естественным» представлением разбиения как множества подмножеств и его RGF-представлением.

С целью возможного сужения области поиска решений выполним декомпозицию множества Bm(V). Назовем схемой разбиения числа n на m слагаемых мультимножество:

Кn2,...nmL n = £", .

/=1

Известно [9, с. 71], что общее количество таких схем Р(п,т) определяется рекурсивной формулой:

Р(/,/) = 1; Р(/,1) = 1, V/; Р(п,т) = Р(п -1,т-1)+Р(п -т,т), т > 0; Р (/, ]) = 0, ] >/.

В табл. 1 для сравнения приведены значения чисел Белла В(п), Стирлинга второго рода о(п, т) и Р(п, т) для нескольких значений п и т.

Таблица 1

" m B(") а(", m) P(", m)

5 2 52 15 2

6 3 203 90 3

8 3 4 140 966 5

12 4 4 213 597 611 501 15

17 3 82 864 869 804 21 457 825 24

20 3 5 1724 158 235 372 580 606 446 33

С учетом этого величина B дет выражаться формулой:

[n1,n2,...«m]

B

["1,"2,.."m](") =

n!

<?i!(nif q2!W)q2..qk !("k!)

(n) бу-

(4)

qk

которая является частным случаем формулы из работы [11, с. 30, п. 2.53], допускающей, что некоторые qi могут быть равны нулю.

В табл. 2 в качестве примера представлены все схемы вида [пь п2, п3] при условии п + п2 + п3 = = 8, полученные с помощью приведенного в [9, с. 70] алгоритма, и соответствующие им величины

в[п1,И2,...Ит] (п) , рассчитанные по формуле (4).

Таблица 2

Обозначим через B["1,"2,..."m](V) множество всех разбиений множества V, удовлетворяющих заданной схеме. Для перечисления элементов этого множества авторами разработана процедура long int PartSetSheme(vector < int > Sh) на языке С++, на вход которой передается схема разбиения (мультимножество), а результатом является множество разбиений, которое и выводится на печать. Процедура также подсчитывает и количество разбиений. Так, в результате вызова PartSetSheme({3,3,2}) были получены 280 разбиений: [1,1,1,2,2,2,3,3], [1,1,1,2,2,3,2,3], ... [1,2,3,3,3,2,2,1].

Можно представить множество Bm(V) как

объединение множеств B^"1'"2'."""1 ] (V):

Bm (V) = U B[n1,"2,.. "m](V) .

["l,"2,..."m], 2"=i"i ="

Обозначим мощность множества B[n1,"2,.. "m](v) через B^,"2,.""^") . Так как схема разбиения является мультимножеством и содержит повторяющиеся элементы, то справедливо следующее представление числа n: k k

"=Zqi", m=Zq,, i=1 i=1

где все n, различны и все > 1.

["1,"2,"3]

[6,1,1] 28

[5,2,1] 168

[4,3,1] 280

[4,2,2] 210

[3,3,2] 280

Всего 966

Как следует из таблицы, общее число разбиений для всех схем составляет 966, что совпадает с соответствующим числом Стирлинга второго рода о(8,3). Таким образом, справедлива следующая формула, выражающая числа Стирлинга

второго рода через величины B

\Pl,"2,

'("):

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

с(", m)= ^

["1,"2,..."m], SiVi ="

B["1,"2,.."m](")

которая также является частным случаем формулы [11, с. 35, п. 2.62г] с учетом замечаний, сделанных выше относительно формулы (4).

При решении некоторых практических задач область поиска решений сужают путем рассмотрения «почти равномерных» разбиений -таких разбиений, у которых мощности подмножеств отличаются друг от друга не более, чем на единицу. Очевидно, что для любых п и т существует только одна подобная схема. Например, для п = 15 и т = 4 это [4,4,4,3], для п = 13 и т = 4 - [4,3,3,3]. Табл. 3 позволяет в сравнении наблюдать существенное сокращение области поиска решений задачи для трех случаев: В(У), Вт(У) и множество «почти равномерных» разбиений В[п1,п2,.пт] (V).

"

m

Таблица 3

n m B(n) a(n, m) [n1,n2,..nm] £h,<V..nJ(n)

5 2 52 15 [3,2] 10

6 3 203 90 [2,2,2] 15

8 3 4 140 966 [3,3,2] 280

12 4 4 213 597 611 501 [3,3,3,3] 15 400

17 3 82 864 869 804 21 457 825 [6,6,5] 2 858 856

20 3 51 724 158 235 372 580 606 446 [7,7,6] 66 512 160

Решение задачи прямым перебором

Для последующих вычислительных экспериментов был составлен модельный пример -случайно сгенерированный орграф из 20 вершин и 31 дуги (рис. 1) и задана схема его «почти равномерного» разбиения на 3 блока: [7, 7, 6].

Первый эксперимент состоял в поиске наилучшего разбиения путем прямого перебора

элементов множества B^7,7,6 (V) с использованием ранее упомянутой процедуры PartSetSheme. Для каждого из 66 512 160 разбиений проверялась его допустимость с использованием ограничения (3) и условия ацикличности КГ; для допустимых разбиений вычислялся суммарный "вес" всех разрезов по формуле (2) и выполнялся поиск минимума. В итоге оказалось, что только 8 240 разбиений допустимы и оптимальным среди них является разбиение, показанное на рис. 1, которому соответствует минимальное значение критерия Wmin (Sep (V,3)) = 706 . Время счета программы составило 3 035 с (вычислительная платформа: iMac, процессор Intel Core i5 / 2.7 ГГц, память 8 Гб). На рис. 2 показан КГ для полученного оптимального разбиения.

Рис. 1. Модельный пример (n = 20, [7,7,6])

Рис. 2. Компонентный граф исходного графа

Решение задачи модифицированным алгоритмом искусственной иммунной системы с клональной селекцией

Второй численный эксперимент заключался в применении модифицированного алгоритма искусственной иммунной системы с клональной селекцией [12, 13] к поиску оптимального разбиения. Для сокращения будем называть этот алгоритм просто иммунным алгоритмом (ИА). По терминологии ИА любое решение задачи (в нашем случае - разбиение) называют особью, значение целевой функции для разбиения (суммарный вес всех разрезов) - пригодностью осо-

би, а множество особей - популяцией. Для ИА основным (и единственным) оператором, позволяющим получать новые особи, является оператор мутации. Основная идея ИА представлена на рис. 3, который демонстрирует последовательность действий при выполнении одной итерации ИА, заключающейся в получении новой популяции 5(У+1) (следующего поколения особей) из текущей популяции £(?) (текущего поколения). При этом популяция S(t+1) в среднем будет лучше, чем S(t).

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

Рис. 3. Схема одной итерации иммунного алгоритма

Первый шаг ИА заключается в отборе пе лучших особей из S(t), их клонировании и применении оператора мутации к каждому клону. Мутированные клоны помещаются в промежуточный упорядоченный массив особей £' размером пс>пе. Количество клонов каждой особи обратно пропорционально значению ее целевой функции: чем меньше целевая функция у особи, тем особь лучше и тем больше клонов она порождает. Мутация клонов выполняется следующим образом: в разбиении (а каждый клон - это разбиение) случайным образом выбираются два подмножества, в каждом из них сучайным образом выбираются несколько (обычно 1-3) элемен-

тов (вершин графа V) и затем выполняется обмен элементами между подмножествами. В оператор мутации встроена проверка получаемой новой особи на допустимость: если ограничение (3) оказывается не выполненным, то мутация выполняется повторно. Кроме того, каждая допустимая новая особь проверяется на уникальность: если она совпадает с какой-либо особью из £(0 или из £', то опять повторяется мутация. Таким образом, в итоге получается упорядоченный массив £', состоящий из пс новых (уникальных) особей, из которого пЬ < пс лучших на втором шаге ИА «сливаются» с особями из £(0, образуя вспомогательную популяцию 5" из п+пЬ особей. После слияния популяция £ упорядочивается и последние пЬ особей (т.е. худшие особи) удаляются. Оставшиеся п особей и образуют новую популяцию £^+1).

Таким образом, для работы ИА необходимо задать несколько параметров:

- размер популяции п;

- количество лучших особей пе, участвующих в клонировании (обычно задается как доля от п, например, 0,6);

- общее количество клонов пс (задается повышающим коэффициентом относительно пе, например, 3);

- количество лучших «мутантов» пЬ, которые в последующем конкурируют с особями из £(0 для включения в новую популяцию £^+1) (обычно задается как доля от пс, например, 0,5).

Для окончательного оформления ИА в завершенную программу необходимо еще задать критерий останова, который позволит прекратить в какой-то момент бесконечный итерационный процесс. Наиболее разумным, на наш взгляд, критерием останова является условие «вырожденности» значения целевой функции: если в течение нескольких (ng) поколений значение целевой функции для лучшей особи (первой в популяции) не изменяется, то итерационный процесс должен быть завершен. Таким образом, величина ^ является еще одним, последним параметром иммунного алгоритма.

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

пускам решения) и «погружение» ИА в островную модель [14], которая является исключительно эффективной в случае ее реализации на параллельных вычислительных структурах. В настоящей публикации была использована островная модель (рис. 4).

пЬ = 9, т = 3, т = 3, ^ = 3 для модельного графа (рис. 1) дало тот же результат, который получен в случае прямого перебора, но время счета (на той же вычислительной платформе) оказалось существенно меньше - всего 1 с вместо 3 035 с при прямом переборе.

Рис. 4. Островная модель

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

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

Критерием останова в островной модели также целесообразно считать достижение состояния, когда в течение нескольких (ng) сезонов значение целевой функции для лучшей особи (среди всех островов) не изменяется.

Авторами была разработана программа на языке С++, реализующая островную модель для иммунного алгоритма. Выполнение этой программы с параметрами п = 10, пе = 6, пс = 18,

Рис. 5. Миграция особей

Выводы

Известная из литературы постановка задачи о разбиении ориентированного ациклического графа уточнена авторами статьи путем введения условия ацикличности для получаемого в резуль-

тате разбиения компонентного графа. Требование ацикличности КГ является существенным и его отсутствие может привести к получению циклов в модульной структуре образовательной программы, что лишено практического смысла. Отсутствие в имеющихся источниках описаний алгоритмов решения сформулированной задачи не позволило выполнить оценку эффективности исследуемого иммунного алгоритма по сравнению с другими алгоритмами и авторы ограничились лишь его сравнением с алгоритмом полного перебора, получив заведомо ожидаемые результаты по производительности (сокращение времени счета в 3000 раз) при совпадении найденного решения с точным решением. Дальнейшие исследования целесообразно продолжить по нескольким направлениям: анализ применимости к поставленной задаче других эволюционных алгоритмов, подбор настроечных параметров иммунного алгоритма в зависимости от размерности задачи, проведение экспериментов на параллельных вычислительных структурах, постановка и решение задачи метаоптимизации, когда неизвестными являются ранг и схема разбиения.

Литература

1. Евстигнеев В.А. Применение теории графов в программировании. М.: Наука, 1985. 352 с.

2. Cormen T.H., Leiserson Ch.E., Rivest R.L., Stein C. Introduction to Algorithms, Third Edition. MIT Press and McGraw-Hill, 2009. 1313 p.

3. Еремин Г.С. Разбиение произвольного множества вершин ориентированного бесконтурного графа на выпуклые подмножества // Автоматика и телемеханика. 1987. № 8. С. 137 - 143.

4. Еремин Г.С. Алгоритм разбиения невыпуклого множества вершин ориентированного графа // Автоматика и телемеханика. 1989. № 9. С. 187 - 190.

5. Иванченко А.Н., Нгуен Ван Нгон. Имитационное моделирование процесса освоения модульной образовательной программы // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2015. № 3. С. 28 - 33.

6. Иванченко А.Н. Нгуен Ван Нгон, Шайда А.Ю. Моделирование процессов электронного обучения с использованием темпоральных и случайных графов // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2016. № 1. С. 15 - 19.

7. Hadzilacos T., Kalles D., Karaiskakis D., Pouliopoulou M. Using Graphs in Developing Educational Material // Proceedings of the 2nd International Workshop on Building Technology Enhanced Learning Solutions for Communities of Practice. TEL-CoPs'07. Sissi, Lassithi Crete. Greece, 18 September, 2007. URL: http://ceur-ws.org/Vol-308/paper 04.pdf (дата обращения: 20.11.2015).

8. Баранов В.И., Стечкин Б.С. Экстремальные комбинаторные задачи и их приложения. М.: Наука. Гл. ред. физ.-мат. лит., 1989. 160 с.

9. Kreher D.L., Stinson D.R. Combinatorial Algorithms: Generation, Enumeration and Search. CRC press LTC, Boca Raton, Florida, 1998. 340 p.

10. Борзунов Г.И. Совершенствование математической модели поиска экстремальных разбиений множеств // Безопасность информационных технологий. 2008. № 3. С. 58 - 61.

11. Комбинаторный анализ. Задачи и упражнения: учеб. пособие / под ред. К.А. Рыбникова. М.: Наука. Гл. ред. физ.-мат. лит., 1982. 368 с.

12. Vairamuthu M., Porselvi S., DR. Balaji A.N., Rajesh Babu J. Artificial Immune System algorithm for multi objective flow shop scheduling problem / M. Vairamuthu, // International Journal of Innovative Research in Science, Engineering and Technology. K.L.N. College of Engineering and Technology, Madurai, Tamil Nadu, India, March 2014. № 3. P. 1391 -1395.

13. Castro L.N. de. Zuben von F.J. // The Clonal Selection Algorithm with Engineering Applications / , In Workshop Proceedings of GECCO. Workshop on Artificial Immune Systems and Their Applications, Las Vegas, USA, July 2000. P. 36 - 37.

14. Карпенко А.П. Современные алгоритмы поисковой оптимизации. Алгоритмы, вдохновленные природой: учеб. пособие. М.: Изд-во МГТУ им. Н.Э. Баумана, 2014. 446 с.

15. Щербинина Н.И., Кобак В.Г., Жуковский А.Г. Исследование влияния различных видов миграций при решении минимаксной задачи островной моделью // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2016. № 2. С. 3 - 9.

16. Курейчик В.М., Кныш Д.С. Параллельный генетический алгоритм. Модели и проблемы построения // Интегрированные модели и мягкие вычисления в искуственном интеллекте: сб. науч. тр. V Междунар. науч.-практ. конф. М.: Физматлит, 2009. С. 41 - 51.

References

1. Evstigneev V.A. Primenenie teorii grafov v programmirovanii [Application of graph theory in programming]. Moscow, Nauka Publ., 1985, 352 p.

2. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. Introduction to Algorithms, Third Edition. MIT Press and McGraw-Hill, 2009. 1313 p.

3. Eremin G.S. Razbienie proizvol'nogo mnozhestva vershin orientirovannogo beskonturnogo grafa na vypuklye podmnozhestva [Splitting an arbitrary set of vertices of a directed acyclic graph on convex subsets]. Avtomatika i telemehanika, 1987, no. 8, pp. 137-143. [In Russ.]

4. Eremin G.S. Algoritm razbienija nevypuklogo mnozhestva vershin orientirovannogo grafa [Algorithm for partitioning a non-convex set of vertices of a directed graph]. Avtomatika i telemehanika, 1989, no. 9, pp. 187-190. [In Russ.]

5. Ivanchenko A.N., Nguen Van Ngon. Imitacionnoe modelirovanie processa osvoenija modul'noj obrazovatel'noj programmy [Simulation modeling of the process study of the modular curriculum]. Izv. vuzov. Sev.-Kavk. Region. Tehn. nauki, 2015, no. 3, pp. 28-33. [In Russ.]

6. Ivanchenko A.N., Nguen Van Ngon, Shajda A.Ju. Modelirovanie processov jelektronnogo obuchenija s ispol'zovaniem tempo-ral'nyh i sluchajnyh grafov [Modelling of e-learning using temporal and random graphs]. Izv. vuzov. Sev. - Kavk. region. Tehn. nauki, 2016, no. 1, pp. 15-19. [In Russ.]

7. Thanassis Hadzilacos, Dimitris Kalles, Dionysis Karaiskakis, Maria Pouliopoulou. Using Graphs in Developing Educational Material // Proceedings of the 2nd International Workshop on Building Technology Enhanced Learning Solutions for Communities of Practice. TEL-CoPs'07. Sissi, Lassithi Crete. Greece, 18 September, 2007. URL: http://ceur-ws.org/Vol-308/paper04.pdf (accessed 20.11.2015).

8. Baranov V.I., Stechkin B.S. Jekstremal'nye kombinatornye zadachi i ih prilozhenija [Extreme combinatorial problems and their applications]. Moscow, Nauka. Gl. red. fiz.-mat. lit., 1989, 160 p.

9. Kreher D.L., Stinson D.R. Combinatorial Algorithms: Generation, Enumeration and Search. CRC press LTC, Boca Raton, Florida, 1998. 340 p.

10. Borzunov G.I. Sovershenstvovanie matematicheskoj modeli poiska jekstremal'nyh razbienij mnozhestv [Improvement of mathematical model for finding extreme set partitions]. Bezopasnost' informacionnyh tehnologij, 2008, no. 3, pp. 58-61. [In Russ.]

11. Kombinatornyj analiz. Zadachi i uprazhnenija [Combinatorial analysis. Exercises]. Edit by K.A. Rybnikova. Moscow, Nauka. Gl. red. fiz.-mat. lit., 1982, 368 p.

12. Vairamuthu M., Porselvi S., Balaji DR. A.N., Rajesh Babu J. Artificial Immune System algorithm for multi objective flow shop scheduling problem // International Journal of Innovative Research in Science, Engineering and Technology. - K.L.N. College of Engineering and Technology, Madurai, Tamil Nadu, India, March 2014. № 3. Pp. 1391-1395.

13. de Castro L.N., Fernando J. Von Zuben. The Clonal Selection Algorithm with Engineering Applications // In Workshop Proceedings of GECCO. Workshop on Artificial Immune Systems and Their Applications, Las Vegas, USA, July 2000. Pp. 36-37.

14. Karpenko A.P. Sovremennye algoritmy poiskovoj optimizacii. Algoritmy, vdohnovlennye prirodoj [Modern search optimization algorithms. Algorithms inspired by nature: a tutorial]. Moscow, Izd-vo MGTU im. N. Je. Baumana, 2014, 446 p.

15. Shherbinina N.I., Kobak V.G., Zhukovskij A.G. Issledovanie vlijanija razlichnyh vidov migracij pri reshenii minimaksnoj zadachi ostrovnoj model'ju [Investigation of the effect of different types of migration in the solution of the minimax problem of the island model]. Izv. vuzov. Sev. - Kavk. region. Tehn. nauki, 2016, no. 2, pp. 3-9. [In Russ.]

16. Kurejchik V.M., Knysh D.S. Parallel'nyj geneticheskij algoritm. Modeli i problemy postroenija [Parallel genetic algorithm. Models and problems of building]. Integrirovannye modeli i mjagkie vychislenija v iskustvennom intellekte: sb. nauch. tr. V Mezhdunar. nauch.-praktich. konf. [The integrated models and soft calculations in artificial intelligence: collection of scientific works of the V International scientific practical conference]. Moscow, Fizmatlit, 2009, pp. 41 - 51. [In Russ.]

Поступила в редакцию 15 июля 2016 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.