Анализ результатов применения алгоритма муравьиной колонии в задаче поиска пути в графе при наличии ограничений

УДК 681.3

Э.И. Ватутин, В.С. Титов

АНАЛИЗ РЕЗУЛЬТАТОВ ПРИМЕНЕНИЯ АЛГОРИТМА МУРАВЬИНОЙ

КОЛОНИИ В ЗАДАЧЕ ПОИСКА ПУТИ В ГРАФЕ ПРИ НАЛИЧИИ

ОГРАНИЧЕНИЙ

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

Дискретная комбинаторная оптимизация; алгоритм муравьиной колонии; теория графов; поиск кратчайшего пути в графе; эвристические методы.

E.I. Vatutin, V.S. Titov

ANALYSIS OF THE RESULTS OF APPLYING THE ANT COLONY OPTIMIZATION ALGORITHM TO THE SHORTEST PATH PROBLEM IN THE GRAPHS WITH CONSTRAINTS

The article describes an ant colony optimization algorithm applied to the solution of combinatorial optimization problems by the example of the problem of finding the shortest path in the graph. A number of modifications compared to the classical mathematical model M. Dorigo, which reduce the computational cost in finding solutions and improve its quality during parametric optimization (metaoptimization), are described. Proposed a method for comparing the quality of decisions based on the calculation of a number of indicators (average quality of decisions mark, deviation from optimal decision quality, probability of find decision, probability of find optimal decision) using in the process of comparison of different known heuristic methods. The results of comparing the quality of solutions with known methods for graphs with different numbers of nodes (different size of a problem) and different densities are given.

Discrete combinatorial optimization; ant colony optimization; graph theory; shortest path problem; heuristic methods.

Существует довольно обширный класс задач дискретной комбинаторной оптимизации, для которых не существует быстрых полиномиальных алгоритмов, способных производить нахождение оптимальных решений. Это определяется либо принадлежностью задачи к классу NP, в таком случае разработка такого алгоритма для детерминированной машины Тьюринга теоретически невозможна (разумеется, при условии неравенства классов P и NP [1]), либо подобный алгоритм неизвестен (ситуация, характерная, например, для задачи изоморфизма графов [2]), хотя теоретически не доказана невозможность его построения. Сложившееся противоречие вынуждает использовать эвристические методы для решения ряда важных задач, которые не гарантируют отыскание оптимальных решений, однако обеспечивают получение решений неплохого качества, подходящих для использо-

вания на практике. Эвристические методы подразделяются на два больших класса [3]: последовательные и итерационные. Последовательные методы и базирующиеся на них алгоритмы не подразумевают перебора различных вариантов и обеспечивают получение одного субоптимального решения. Как правило, они характеризуются относительно небольшой асимптотической временной сложностью, редко превышающей О пъ , и, как следствие, требуют относительно малых затрат вычислительного времени. В отличие от них итерационные методы базируются на ограниченном переборе множества вариантов решения с выбором наилучшего, а соответствующие алгоритмы характеризуются как более высокой асимптотической временной сложностью, так и большими затратами вычислительного времени (как минимум на 1-2 порядка) при практической реализации. В некоторых случаях затраты времени на отыскание решения можно снизить путем перехода к использованию параллельной программной реализации, однако это удается не всегда и определяется спецификой задачи и используемого для ее решения алгоритма. Для многих задач разработаны специализированные методы [4], которые, в отличие от универсальных, имеют узкую сферу применения, что компенсируется их скоростными характеристиками и/или высоким качеством получаемых решений. При этом качество решений, полученных с использованием различных подходов, для различных задач может существенно отличаться, что позволяет делать выводы о целесообразности применимости методов различных направлений для решения различных задач.

Одним из перспективных универсальных подходов к решению задач дискретной комбинаторной оптимизации является алгоритм муравьиной колонии [5], предложенный М. Дориго в 1992 г. и базирующийся на результатах изучения поведения колонии муравьев. При выборе направления движения муравей выбирает

конкретное решение, руководствуясь двумя факторами: длиной пути /, г = \п, где п - число направлений движения из текущего положения, и количеством феромона Т;, оставленном на /-м пути другими муравьями. При достижении цели

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

Направление движения электронного муравья в каждом конкретном случае выбирается пропорционально вероятности

а 1—а -

Р = Л,-т, , / = 1 ,п,

]

Е1

где — — в рассматриваемой задаче, а£ 0;1 - настроечный параметр алго-(

ритма, выбираемый в каждом конкретном случае индивидуально и характеризующий его «жадность» (в предельных случаях при О, — 1 алгоритм превращается в жадный, т.к. электронный муравей руководствуется только длиной пути, а при СУ. = 0 - только количеством феромона). При достижении цели, критерием чего в природе является нахождение маршрута к источнику пищи, а в рассматриваемой цифровой модели - нахождение решения, электронный муравей помечает пройденный путь, добавляя к имеющемуся количеству феромона на каждом из участ-

ков пути прибавку дт = 0-, где Q - некая константа (настроечный параметр алЬ

горнтма), ^ _ - длина найденного пути (качество решения). При этом обыч-

г

но учитывается испарение феромона

т/ =

где / - дискретное время (номер итерации), (3 £ 0; 1 - настроечный параметр, влияющий на скорость испарения: при (3 = 0 происходит полное испарение феромона прошлых итераций, при 3 = 1- сохранение значения феромона с «момента сотворения мира» (иногда вместо [3 в литературе используется параметр р = 1 — (3, обладающий обратным смыслом и не меняющий сути алгоритма).

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

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

А= ах, а2,..., ам - множество вершин, /V = |/1 - число вершин, V = V',, 1'2,\'д/ С А X А - множество дуг, М = \У\ - число дуг.

Данная задача является широко известной и в графах без отрицательных весов точно решается с использованием алгоритма Дейкстры [6] за время О N2 , что

позволяет использовать ее как достаточно простую модель для тестирования различных эвристических подходов. Исходные данные задаются в виде матрицы смежности

графа М = \т , /, / = 1, N. элементы т =1 а а которой представляют

собой вещественное число, определяющее длину пути между парой вершин щ и а..

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

Р:

а ,а . ,..., а

\ 2 т

т—1

между начальной а. — а и конечной а = а , что его

Н&Ч. ^кон

11

длина / _ у^т _^ тт . Все вершины в составе пути должны быть различны

3/ к / ^ к а = а , так как тривиально доказывается, что повторное посещение

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

Рис. 1. Пример графа (а) и соответствующее ему дерево возможных путей между вершинами а и Д3 (б). Крестами отмечены пути, приводящие в тупик,

жирным выделено оптимальное решение, штриховкой показано решение, получаемое с использованием жадной стратегии

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

При использовании алгоритма муравьиной колонии выбор направления движения из текущей вершины определяется пропорционально вероятности (1). С уче-

_ 1-а

'Л,

в формуле (1) является кон-

том того, что нормирующий знаменатель ^ ^

./=1

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

тах,

где ^ - очередное к-е псевдослучайное число, формируемое генератором псевдослучайных чисел. Максимальное значение эвристики (3) будет соответствовать предпочтительному направлению движения. При этом в ходе работы алгоритма достаточно М = 1 муравья, который проделывает путь по одной из ветвей комбина-

(X 1—et

Пт, гк

п

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

максимально возможному числу дуг для графа из N вершин:

м

N N-1

Введенное понятие плотности не следует путать с одноименным понятием, встречающимся в некоторых источниках и выражаемым через операцию стягивания и число Хардвигера [7]. Несложно заметить, что О < б/ С < 1, причем случай

G = 0 отвечает графу, состоящему из изолированных вершин при полном отсутствии в графе дуг, а (} = 1 - полносвязному графу без петель. При больших значениях плотности й О большая часть ветвей комбинаторного дерева будет

являться корректными решениями, при малых значениях плотности возрастает вероятность попадания в тупик, что на практике в некоторых случаях выливается в невозможность отыскания решения с использованием эвристических методов.

С целью подробного исследования потенциала алгоритма муравьиной колонии с учетом наличия ограничений на движение по дугам была разработана программная реализация [11], с использованием которой организована серия вычислительных экспериментов. В ходе каждого сравнения методов решения поставленной задачи была произведена генерация выборки Л = 0г,02,..., (I,- из К

псевдослучайных матриц смежности для взвешенных неориентированных графов с заданным числом вершин N и заданной плотностью й О , длины дуг которых

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

к

_ Е7- с>, " с>,

♦ средняя длина пути = _, где ф О = 1 в случае отыска-

К

ния решения и о (} = 0 в случае попадания в тупик;

♦ среднее отклонение длины пути от минимальной £ о , полученной с

к

V Ь О -Ь О ф о

¿___4 г Ш1П г Т г

использованием алгоритма Дейкстры дд = _

K

♦ вероятность нахождения решения р _ <=i

к

К

к

Е0 G.

♦ вероятность нахождения оптимального решения jj — _±J_, где

К

Popt

0 G = 1 в случае отыскания оптимального решения L G —L G

i min i

0 G = 0 в противном случае;

и

к

EC G

♦ среднее число итераций £ _ j_j_, необходимое итерационному ме-

К

тоду для получения условно оптимального решения, где C G. - номер итерации, на которой получено наилучшее решение (для последовательных подходов С = 1).

Для алгоритма Дейкстры применительно к связным графам по определению А/, = 0, р = 1, popt = 1 • Лучшим будем считать алгоритм, обеспечивающий нахождение решений, для которых L min, AL — min, р —> max, р —> max > С —» min.

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

Перед практической реализацией рассмотренных выше стратегий необходимо определиться со значениями настроечных параметров a, Q, т ° , ß, V алго-

о

ритма муравьиной колонии, где Т - начальное значение феромона на дугах графа. Для этого была проведена серия вычислительных экспериментов, в рамках которой для выборки графов с параметрами К = 1 ООО- /V =10. d = 0,5 был реализован метод покоординатного спуска с целью оптимизации значения критерия L —> min. В результате выполненной параметрической оптимизации были получены следующие значения настроечных параметров, используемые в даль-

jj, 0 * ,¡5

нейших экспериментах: а*=0,28, Q =1, т =100, ß =0,9, V =1000-

При сравнительном анализе качества получаемых решений были использованы алгоритм Дейкстры (сокр. O, от англ. Optimal), жадный алгоритм (сокр. G, Greedy), алгоритм случайного перебора (сокр. RM, Random search with M iterations) [10], алгоритм случайного перебора с возвратами (сокр. RMR, Random search M iterations with Returns) [9], алгоритм взвешенного случайного перебора (сокр. WRM, Weighted Random search M iterations) [8], алгоритм взвешенного случайного перебора с выходами из тупиков (сокр. WRMR, Weighted Random search M iterations with Returns) и алгоритм муравьиной колонии (сокр. AC, Ant Colony) с использованием двух рассмотренных выше стратегий реакции на тупики (AC - без реакции на тупики, ACR - с возвратом из тупика, UVLP (сокр. Use Very Long Pathes) - с разрешением на перемещение по запрещенным дугам). Вычислительные эксперименты выполнены на выборках графов объемом К = \0 000. полученные результаты приведены в табл. 1-4.

Таблица 1

Результаты вычислительного эксперимента при /V = 10. с/ = 0,9

Метод Ь АЬ Р Рор1 С

O 0,2897 0 1 1 1

G 0,8213 0,5325 0,9918 0,2711 1

ям 0,2950 0,0054 0,9918 0,9237 117

RMR 0,2952 0,0055 1 0,9307 117

WRM 0,2901 0,0006 0,9940 0,9860 29

WRMR 0,2901 0,0006 0,9940 0,9860 29

АС 0,2992 0,0096 1 0,8966 12

АСЯ 0,2993 0,0097 1 0,9855 12

иуьр 0,3000 0,0104 1 0,8944 12

Таблица 2

Результаты вычислительного эксперимента при = 10,с/ = 0,5

Метод Ь АЬ Р рорг С

О 0,4864 0 1 1 1

G 1,1019 0,6322 0,8558 0,2810 1

ям 0,4821* 0,0004 0,8535 0,8500 108

ямя 0,4866 0,0002 1 0,9975 108

WRM 0,4765* 0,0010 0,8479 0,8436 22

WRMR 0,4873 0,0009 0,9998 0,9940 24

АС 0,4933 0,0069 0,9998 0,9504 11

АСЯ 0,4965 0,0101 0,9998 0,9367 10

иуьр 0,4964 0,0101 0,9997 0,9352 10

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

Таблица 3

Результаты вычислительного эксперимента при N = 10, с/ = 0,2

Метод Ь АЬ Р Рор1 С

О 1,0412 0 0,8179* 0,8179* 1

G 1,0577 0,2513 0,4052 0,2747 1

ям 0,9535 0,0629 0,4042 0,3291 73

ямя 1,0412 0,0000 0,8179 0,8179 73

WRM 0,8846 0,0422 0,4069 0,3485 8

WRMR 1,0423 0,0011 0,8179 0,8166 5

АС 1,0415 0,0003 0,8179 0,8166 7

АСЯ 1,0417 0,0004 0,8179 0,8170 3

ИУЬР 1,0436 0,0027 0,8173 0,8107 7

* Замечание. Для выбранных условий тестирования не для всех графов возможно отыскание требуемого пути, т.к. некоторые из сгенерированных псевдослучайным образом графов оказываются несвязными: для них решение не существует.

Таблица 4

Результаты вычислительного эксперимента при N = 50, d = 0,5

Метод L AL P Popt C

O 0,1634 0 1 1 1

G 1,5576 1,3952 0,9803 0,0839 1

RM 0,2876 0,1243 0,9787 0,2788 536

RMR 0,2874 0,1240 1 0,2853 536

WRM 0,1721 0,0089 0,9806 0,7892 197

WRMR 0,1727 0,0092 1 0,8023 200

AC 0,2060 0,0403 1 0,5429 25

ACR 0,2073 0,0421 1 0,5331 25

UVLP 0,2069 0,0436 1 0,5164 25

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. https://ru.wikipedia.org/wiki/Равенство_классов_P_и_NP.

2. Валяев В.В., Ватутин Э.И. Метод определения изоморфизма графов общего вида за полиномиальное время // Известия Юго-Западного государственного университета. Серия: Управление, вычислительная техника, информатика. Медицинское приборостроение. - 2012. - № 2. - Ч. 1. - С. 200-206.

3. Ватутин Э.И. Проектирование логических мультиконтроллеров. Синтез разбиений параллельных граф-схем алгоритмов. - Saarbrucken: Lambert Academic Publishing, 2011. - 292 с.

4. Ватутин Э.И., Зотов И.В. Метод формирования субоптимальных разбиений параллельных управляющих алгоритмов // Параллельные вычисления и задачи управления PACO'04. - М.: ИПУ РАН, 2004. - С. 884-917.

5. Dorigo M. Optimization, Learning and Natural Algorithms // PhD thesis. Politecnico di Milano, Italie, 1992.

6. Dijkstra E. W. A note on two problems in connexion with graphs // Numerische Mathematik.

- 1959. - Vol. 1. - P. 269-271.

7. ЗыковА.А. Основы теории графов. - М.: Наука, 1986. - 384 с.

8. Ватутин Э.И., Дремов Е.Н., Мартынов И.А., Титов В.С. Метод взвешенного случайного перебора для решения задач дискретной комбинаторной оптимизации // Известия Волгоградского государственного технического университета. Серия: Электроника, измерительная техника, радиотехника и связь. - 2014. - № 10 (137). - Вып. 9. - С. 59-64.

9. Ватутин Э.И., Мартынов И.А., Титов В.С. Способ обхода тупиков при решении задач дискретной оптимизации с ограничениями // Перспективные информационные технологии (ПИТ-2014). - Самара: Изд-во Самарского научного центра РАН, 2014. - С. 313-317.

10. Ватутин Э.И., Колясников Д.В., Мартынов И.А., Титов В.С. Метод случайного перебора в задаче построения разбиений граф-схем параллельных алгоритмов // Многоядерные процессоры, параллельное программирование, ПЛИС, системы обработки сигналов.

- Барнаул, 2014. - С. 115-125.

11. Ватутин Э.И., Валяев С.Ю., Дремов Е.Н., Мартынов И.А., Титов В.С. Расчетный модуль для тестирования комбинаторных оптимизационных алгоритмов в задаче поиска кратчайшего пути в графе с использованием добровольных распределенных вычислений // Свидетельство о государственной регистрации программы для ЭВМ № 2014619797 от 22.09.14.

REFERENCES

1. Available at: https://ru.wikipedia.org/wiki/Равенство_классов_P_и_NP.

2. Valyaev V.V., Vatutin E.I. Metod opredeleniya izomorfizma grafov obshchego vida za polinomial'noe vremya [The method of determining the isomorphism of graphs of the General form in polynomial time], Izvestiya Yugo-Zapadnogo gosudarstvennogo universiteta. Seriya: Upravlenie, vychislitel'naya tekhnika, informatika. Meditsinskoe priborostroenie [News of the South-Western state University. Series: Management, computer engineering, computer science. Medical instrumentation], 2012, No. 2, Part 1, pp. 200-206.

3. Vatutin E.I. Proektirovanie logicheskikh mul'tikontrollerov. Sintez razbieniy parallel'nykh graf-skhem algoritmov [Designing logical Multicontroller. Synthesis of separations of parallel graph-schemes of algorithms]. Saarbrucken: Lambert Academic Publishing, 2011, 292 p.

4. Vatutin E.I., Zotov I.V. Metod formirovaniya suboptimal'nykh razbieniy parallel'nykh upravlyayushchikh algoritmov [A method of forming a suboptimal splits parallel logic control algorithms], Parallel'nye vychisleniya i zadachi upravleniya PAC0'04 [Parallel computing and control problems PAC0'04]. Moscow: IPU RAN, 2004, pp. 884-917.

5. Dorigo M. Optimization, Learning and Natural Algorithms, PhD thesis. Politecnico di Milano, Italie, 1992.

6. Dijkstra E.W. A note on two problems in connexion with graphs, Numerische Mathematik, 1959, Vol. 1, pp. 269-271.

7. ZykovA.A. Osnovy teorii grafov [Fundamentals of graph theory]. Moscow: Nauka, 1986, 384 p.

8. Vatutin E.I., Dremov E.N., Martynov I.A., Titov V.S. Metod vzveshennogo sluchaynogo perebora dlya resheniya zadach diskretnoy kombinatornoy optimizatsii [The method of weighted random search for solving problems of discrete combinatorial optimization], Izvestiya Volgogradskogo gosudarstvennogo tekhnicheskogo universiteta. Seriya: Elektronika, izmeritel'naya tekhnika, radiotekhnika i svyaz' [News of Volgograd state technical University. Series: electronics and instrumentation engineering, radio engineering and communication], 2014, No. 10 (137), Issue 9, pp. 59-64.

9. Vatutin E.I., Martynov I.A., Titov V.S. Sposob obkhoda tupikov pri reshenii zadach diskretnoy optimizatsii s ogranicheniyami [The method of avoiding deadlocks when solving discrete optimization with constraints], Perspektivnye informatsionnye tekhnologii (PIT-2014) [Advanced information technology (PIT 2014)]. Samara: Izd-vo Samarskogo nauchnogo tsentra RAN, 2014, pp. 313-317.

10. Vatutin E.I., Kolyasnikov D. V., Martynov I.A., Titov V.S. Metod sluchaynogo perebora v zadache postroeniya razbieniy graf-skhem parallel'nykh algoritmov [The method of random search in the task of building a splits graph-schemes of parallel algorithms], Mnogoyadernye protsessory, parallel'noe programmirovanie, PLIS, sistemy obrabotki signalov [Multi-core processors, parallel programming, FPGA, signal-processing system]. Barnaul, 2014, pp. 115-125.

11. Vatutin E.I., Valyaev S.Yu., Dremov E.N., Martynov I.A., Titov V.S. Raschetnyy modul' dlya testirovaniya kombinatornykh optimizatsionnykh algoritmov v zadache poiska kratchayshego puti v grafe s ispol'zovaniem dobrovol'nykh raspredelennykh vychisleniy [Calculating unit for testing combinatorial optimization algorithms in the task of finding the shortest path in a graph using voluntary distributed computing], Svidetel'stvo o gosudarstvennoy registratsii programmy dlya EVM№ 2014619797 ot 22.09.14.

Статью рекомендовал к опубликованию д.т.н., профессор А.С. Сизов.

Ватутин Эдуард Игоревич - Юго-Западный государственный университет; e-mail: evatutin@rambler.ru; 305040, г. Курск, ул. 50 лет Октября, 94; тел.: 84712587105; кафедра вычислительной техники; к.т.н.; доцент.

Титов Виталий Семенович - e-mail: titov-kstu@rambler.ru; тел.: 84712587112; кафедра вычислительной техники; зав. кафедрой д.т.н.; профессор.

Vatutin Eduard Igorevich - Southwest State University; e-mail: evatutin@rambler.ru; 94, 50 let Oktyabrya street, Kursk, 305040, Russia; phone: +74712587105; the department of computer engineering; cand. of eng. sci.; associate professor.

Titov Vitaly Semenovich - e-mail: titov-kstu@rambler.ru; phone: +74712587112; the department of computer engineering; head of department; dr. of eng. sc.; professor.

УДК 004.382.2

В.А. Гудков, А.А. Гуленок, В.Б. Коваленко, А.И. Дордопуло

ОБЪЕКТЫ В ИЕРАРХИИ СОФТ-АРХИТЕКТУР РЕКОНФИГУРИРУЕМЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ*

Описывается структура софт-архитектур, создаваемых на основе софт-процессоров и других динамически-перестраиваемых устройств и позволяющих без перезагрузки конфигурации ПЛИС, только путем программной настройки ее компонентов создавать вычислительные структуры, необходимые для решения прикладных задач. Софт-архитектуры имеют иерархическое строение. На верхнем уровне иерархии размещены софт-архитектуры (СА), состоящие из макрообъектов. Макрообъекты, находящиеся на более низком уровне, могут состоять из узлов и объектов. Объекты, расположенные внизу иерархии, являются элементарными и неделимыми устройствами, используемыми при построении более сложных элементов архитектуры - узлов и макрообъектов. Формализация описаний различных элементов СА позволила разработать язык описания софт-архитектур SADL, содержащий конструкции для описания информационного, управляющего и синхронизационного компонентов СА. Разработанные средства описания софт-архитектур позволяют сократить время отладки прикладных программ для реконфигури-руемых систем в 2—3 раза по сравнению с существующими языками программирования.

Софт-архитектуры; макрообъекты; время отладки; софт-процессоры; реконфигу-рируемые системы; ПЛИС.

*

Работа выполнена при поддержке Министерства образования и науки РФ по Соглашению с уникальным идентификатором ЮМЕП57814Х0006.