ИНФОРМАТИКА
УДК 629.78
РАСПАРАЛЛЕЛИВАНИЕ ПАРАМЕТРИЧЕСКОГО СИНТЕЗА ПО СХЕМЕ «ПОРТФЕЛЬ ЗАДАЧ» НА ОСНОВЕ ТЕХНОЛОГИИ MPI
Д. К. Андрейченко1, А. А. Ерофтиев2, Д. В. Мельничук3
1 Доктор физико-математических наук, профессор кафедры математического обеспечения вычислительных комплексов и информационных систем, Саратовский государственный университет им. Н. Г. Чернышевского, [email protected]
2Аспирант факультета компьютерных наук и информационных технологий, Саратовский государственный университет им. Н. Г. Чернышевского, [email protected]
3Студент факультета компьютерных наук и информационных технологий, Саратовский государственный университет им. Н. Г. Чернышевского, [email protected]
Предложен прототип схемы распараллеливания «портфель задач» стандартными средствами технологии MPI применительно к задачам параметрического синтеза управляемых комбинированных динамических систем. Выполнен параметрический синтез системы стабилизации подвижного объекта управления. Показана эффективность предложенного алгоритма динамической балансировки вычислительной нагрузки.
Ключевые слова: управляемые комбинированные динамические системы, MPI, параллельное программирование.
ВВЕДЕНИЕ
В математическом моделировании при реализации параллельных алгоритмов и программ часто требуется выполнять динамическую балансировку вычислительной нагрузки между процессорами. При этом обычно используется схема «портфель задач», также называемая схемой «менеджер - исполнители»: задачи поочередно запускаются на исполнение на свободных в текущий момент времени процессорах и выполняются на них параллельно. Средства поддержки наборов задач реализованы в технологии OpenMP 3 (директива omp task) и библиотеках Microsoft Concurrency Runtime. Однако возможности распараллеливания, предлагаемые данными программными средствами, ограничены в пределах одного процесса операционной системы, что делает невозможным их использование на кластерных системах с распределенной памятью. При этом в современном стандарте MPI [1], положенном в основу межпроцессного взаимодействия на кластерах, поддержка наборов задач не предусмотрена. Целью данной работы является создание прототипа схемы распараллеливания «портфель задач» стандартными средствами технологии MPI применительно к задачам параметрического синтеза управляемых комбинированных динамических систем.
© Андрейченко Д. К., Ерофтиев А. А., Мельничук Д. В., 2015
1. УСТОЙЧИВОСТЬ И ПАРАМЕТРИЧЕСКИЙ СИНТЕЗ УПРАВЛЯЕМЫХ КДС
Математические модели ряда современных технических систем, представляющие собой системы обыкновенных дифференциальных уравнений и связанных с ними посредством условий связи и граничных условий уравнений в частных производных при соответствующих начальных условиях, будем далее называть комбинированными динамическими системами (КДС) [2]. КДС характеризуются входной и выходной вектор-функциями х(Ь) = (х (Ь),... , (Ь))т и у(Ь) = (^ (Ь),... , (Ь))т, х : М ^ , у : М ^ . Модельные уравнения управляемых КДС зависят от параметров обратных связей р = )т е . После линеаризации и выполнения прямого интегрального преобразования Лапласа по времени Ь /(Ь) ^ /(А) = /0° /(Ь)е-Лдинамическая модель КДС представляется в виде матрицы передаточных функций Ф(А, р):
у(А) = Ф(А, р)х(А), Ф(А, р) = [Фк^- (А, р)] = [О^ (А, р)/Я(А, р)],
D(A, p) = D(A, p), Qkj(А, p) = Qkj(A, p) k = 1, 2,..., Ny, j = 1, 2,..., Nx.
Здесь характеристический D(A, p) и возмущающие Qkj(A, p) квазимногочлены аналитичны по А при ReА > а0, а0 е (-то, 0), если математические модели элементов КДС с распределенными по пространству параметрами учитывают малую, но конечную диссипацию энергии. Обобщенная степень [3] n е R характеристического квазимногочлена D(A, p) находится из условия
lim A-nD(A, p) = Ca(p), 0 < |Ca(p)| < то, Re A> -то,
а проверка принадлежности параметров обратных связей p области устойчивости Qst с RNp сводится к проверке условия
p е üst ^^ Д arg p) = nn/2, (1)
которое следует из теорем об устойчивости КДС [2,3]. При использовании оптимизации шага изменения частоты ы, (1) представляет собой быстрый алгоритм проверки устойчивости КДС.
Под параметрическим синтезом понимают процедуру выбора значений параметров обратных связей в пределах области устойчивости p е üst, обеспечивающих требуемое качество переходных процессов. Параметрический синтез основан на среднеквадратическом приближении вещественной частотной характеристики проектируемой системы к желаемой вещественной частотной характеристике [3] и реализуется на основе минимизации функции F : RNp ^ R:
^ , I(JRa(0,po)||-2 + ||Ra(0, p)||-2) f /(ы, p) du, p е Qst, F(p) ^ min, F(p) = ^ v / о (2)
+то, p е Vst.
Здесь p0 — параметры обратных связей в момент старта параметрического синтеза,
/(ы, p) = ||Ra(ы, p) - Ra(0, p)RA(ы)||2 + ci \\R'a(ы, p) - Ra(0, p)RA'(ы)У2 + +C2 \\R''a(ы,p) - Ra(0,p)RA''(ы)\2 , () = ¿()/йы,
Ra(w, p) = [Rav, (ы, p)], RA(ы) = diag (RA,.(ы)}, RAvj (ы p) =
ReФvj (гы, p), Aj (p) = 0,
Vi + ы2 Re[^vj (гы, p)], Aj (p) = 0,
( ) /(1 - (toы)2)/(1 + (t0ы)4), Aj(p) = 0,
Ra (ы) = < ,__^ „
Aj lyrT^2 (1 - (to ы)2 )/(1 + (to ы)4), Aj (p) = 0,
Aj (p) =
Ny
Е|ф^ (0, p)r
V = 1
1/2
, ^Vj (A, p) = Фvj (A, p)/A, v =1, 2,..., Ny, j = 1, 2,...,Nx.
Целевая функция (2) является негладкой, и для ее минимизации используется безградиентный метод Нелдера - Мида.
3. ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ ПАРАМЕТРИЧЕСКОГО СИНТЕЗА И УПРАВЛЕНИЕ НАБОРАМИ ЗАДАЧ НА ОСНОВЕ ТЕХНОЛОГИИ MPI
Пусть 0 = шо < ш1 < ш2 < ... < < шм+1 — некоторые точки на числовой полуоси ш > 0, тогда
в (2)
сю N
Г М Гшз+1 Гс
/ /(ш, р) dш = ^^ / /(ш, р) dш + / /(ш, р) dш. (3)
4. 1=о ¿ыы+1
о
Заметим, что частотная характеристика КДС характеризуется узкими высокими пиками, что вынуждает применять при вычислении отдельных слагаемых в (3) адаптивный метод численного интегрирования Гаусса. Более того, вычисление подынтегрального выражения в (3) требует решения некоторой вспомогательной линейной краевой задачи, которое для различных диапазонов изменения параметра А реализуется на основе различных алгоритмов. По указанным причинам невозможно априорно определить характерное время вычисления отдельных слагаемых в (3).
Распараллеливание параметрического синтеза основано на том [3], что вычисление каждого из слагаемых в (3) выделяется в отдельную подзадачу, и создается набор задач [4]. Задачи из созданного набора поочередно запускаются на свободных в текущий момент времени процессорах и выполняются на них параллельно. Как следует из (3), при распараллеливании параметрического синтеза информационные связи между отдельными задачами минимальны, и, следовательно, согласно [5] теоретически можно реализовать схему динамической балансировки вычислительной нагрузки «портфель задач» или «менеджер-исполнители» стандартными средствами МР1.
Применительно к задаче параметрического синтеза управляемых КДС был предложен и реализован алгоритм динамической балансировки вычислительной нагрузки по схеме «портфель задач» («менеджер-исполнители») на основе стандартных операций МР1. Отдельный процесс МР1 с рангом 0 назначается менеджером, остальные процессы — исполнителями. Процессы-исполнители получают от процесса-менеджера сообщения, в зависимости от тега которых либо обновляются данные, необходимые для вычислений, либо производятся сами вычисления, либо завершается работа процесса-исполнителя при завершении работы параллельной программы. В начале работы алгоритма динамической балансировки вычислительной нагрузки все процессы-исполнители полагаются свободными. Далее, пока не будет исчерпан набор пар значений — границ интегрирования ш0, ш1; ш1, ш2; . . . ; шм, шм +1; шм+1, то, повторяются следующие действия: 1) неблокирующая пересылка (операция МРМэепё) границ интегрирования Шj-1, ш^ из процесса-менеджера в свободные процессы-исполнители; 2) блокирующий прием (операция МР1_Иесу) границ интегрирования Шj-1, Шj процессом-исполнителем; 3) неблокирующая пересылка (операция МРМэепё) рассчитанного зна-
соз
чения / /(ш, р^ш из процесса-исполнителя в процесс-менеджер; 4) неблокирующий прием рассчи-
шз-1
танных значений в процессе-менеджере из процессов-исполнителей (операция МРМгесу); 5) блокирующее ожидание завершения приема (операция МР1_^аИапу) рассчитанного значения из процесса-исполнителя в процесс-менеджер, после успешного выполнения которого процесс-исполнитель снова полагается свободным. После посылки последнего значения нижней границы шм+1 полубесконечного интервала интегрирования в процесс-исполнитель выполняется блокирующее ожидание приема рассчитанных значений от завершающих текущую работу процессов-исполнителей.
4. МОДЕЛЬНАЯ ЗАДАЧА О СТАБИЛИЗАЦИИ ПОДВИЖНОГО ОБЪЕКТА УПРАВЛЕНИЯ
Рассмотрим задачу о минимизации ошибки системы угловой стабилизации подвижного объекта управления, а именно угла отклонения 01 ракеты от вертикали, обусловленного воздействием входного возмущения в виде поперечной силы Ре, с учетом упругих деформаций корпуса ракеты. В предположении, что отклонения стабилизируемого объекта от вертикали достаточно малы, линеаризованные модельные уравнения движения КДС в безразмерных переменных и параметрах принимают вид
7ово = -Р10О - Р2во + в(01 + 02), т1 У1 = (1 + т1 + т2)во + Р1 - Ре, Зво + З01 = М1, Ш2 [(1 + а)01 + У1 + У2] = Р2 + ахШ202,
^2(01 + &) = М2 - аР2, й(.) = рз¿(.)М + Р4 • (.)+ Р5 / (-Ж
Ja
и + и"" + 7и'''' + аж|(Ш2 + (1 - х))и']' = -У1 - Х&, (.)' = д(.)/дх, и(0, *) = 0, и' (0, = 0, и(1,*) = У2(^), и' (1,*) = в2 (*), М1 = и''(0,*) + 7и''(0,*), Р1 = -и'''(0,*) - 7и'''(0,*), М2 = -и''(1,*) - 7и''(1,*), Р2 = и'''(0,*) + 7и'''(0,*), во (0) = в1(0) = в2 (0) = во (0) = 01(0) = /?2 (0) = У1 (0) = У2 (0) = 2/1(0) = ^ (0) = 0,
и(х, 0) = и(х, 0) = 0.
Здесь точкой сверху обозначено дифференцирование по времени входная вектор-функция содержит лишь одну компоненту х(*) = (Ре(*)}, выходная вектор-функция суть у(*) = (в1(*),в2(*))Т, а параметры обратных связей р = (р1 ,р2,р3 ,р4,р5)т требуется выбрать так, чтобы наиболее эффективно подавлять ошибку системы стабилизации. Матрица передаточных функций содержит лишь один столбец Ф(А, р) = (Ф* (А, р), Ф3 (А, р))т. Здесь компоненты вспомогательного вектора Ф* = (Ф*,..., Ф* )т являются решением системы линейных алгебраических уравнений:
¿0,у(А)Ф* = -52, к =1, 5,
)*
5 = 1
где 5к — символ Кронекера,
011 (А) = 7о А3 + р1 А2 + р2 А, 012 (А) = (рз А2 + р4 А + Р5), 014 (А) = 0, 015 (А) = 0, 013 (А) = -(рз А2 + Р4 А + Р5), <021 (А) = -(1 + Ш1 + Ш2), 022 (А) = -(1 + 7А)А2р(3) (А), 023(А) = -(1 + 7А)р(4)(А), 024(А) = [Ш1 - (1 + 7А)Р(1)(А)], 025(А) = -(1 + 7А)р(2)(А), 031 (А) = 7оА2 , 032(А) = А2[71 - (1 + 7А)м(3)(А)], 0зз(А) = -(1 + 7А)м(4)(А), 034 (А) = (1 + 7А)М1(1) (А), 035 (А) = -(1 + 7А)М12) (А), 041 (А) = 0, 042(А) = А2[т2(1 + а) - (1 + 7А)р(3)(А)], 043(А) = -ажШ2 - (1 + 7А)р24)(А), 044(А) = [Ш2 - (1 + 7А)^2(1)(А)], 045(А) = Ш2А2 - (1 + 7А)р22)(А), 051 (А) = 0, 052(А) = А2[72 + (1 + 7А)(а^2(3)(А) - М<3)(А))], 053(А) = 72А2 + (1 + 7А)[ар(4) (А) - м24)(А)], 054 (А) = (1 + 7А) [аР2(1) (А) - м21) (А)], 055 (А) = (1 + 7А) [аР<2) (А) - М<2) (А)],
а функции Р^ (А), М^ (А), к = 1, 2, 3 = 1,4, находятся при помощи решения следующих вспомогательных линейных краевых задач:
(1 + 7А)и'"'(х, А) + аж[(ш2 + 1 - х)и'(х, А)]' + А2и(х, А) = -51 - 5?х, и(0, А) = 0, и'(0, А) = 0, и(1, А) = 52, и'(1,А) = 54
(4)
М^(А) = и''(0, А), М25) (А) = -и''(1, А), Р^(А) = -и'''(0, А), Р2Ш (А) = и'''(1, А), 3 = 174.
Характеристический квазимногочлен КДС суть Р(А) = det[0kj(А)], к,3 = 1, 5, а его обобщенная степень п = 9.
Аналогично [6] при умеренных значениях А линейная краевая задача (4) решалась численно на основе проекционного метода Галеркина с использованием в качестве базисных функций ортогональных полиномов Чебышева 1-го рода. При |А| ^ 1 применялось асимптотическое интегрирование на основе приближения Вентцеля - Крамерса - Бриллюэна. Проверка отсутствия особенностей функций Р^(А), М(5)(А), к = 1, 2, 3 = 1,4, в правой комплексной полуплоскости (А) и вблизи мнимой оси аналогично [6] выполнялась на основе принципа аргумента.
На рисунке, а для системы стабилизации с характерными параметрами Зо = 0.02, ш1 = 0.3, = 0.07, ш2 = 0.2, З2 = 0.05, а = 0.167, ах = 1, 7 = 0.01 представлены переходные функции -реакции на входное возмущение в форме единичного скачка Хевисайда. Переходные функции вычислялись на основе алгоритма численного обращения одностороннего интегрального преобразования Лапласа [7]. Пунктиром показаны переходные функции до выполнения параметрического синтеза, им соответствуют значения параметров обратных связей р1 = 3, р2 = 8, = 6, р4 = 10, р5 = 3. Сплошной линией показаны переходные функции после выполнения параметрического синтеза; им соответствуют значения параметров обратных связей р1 = 0.9569, р2 = 2.017, = 2.397, р4 = 1.960, р5 = 0.8877. Как следует из представленных на рисунке, б результатов, выполнение параметрического синтеза позволяет существенно улучшить качество переходных процессов за счет подавления ошибок системы стабилизации.
ßl
0.6
0.3
-0.3
г
* ( 1
1 А 1 Л 1 / 'V1 1 t V 1 1 » / 1 / 1 » 41 1 ■ Л
• t 11 \ 1 1 « \ 1 * V 1 L,' "ч
ß2
0.025
-0.025
10
15
20
-0.05
Й
II »1 ' « 1 ' 1 » / *
V ' '' 1 ' \ » / •ч >
I '
t
0
5 10 15 20 t
а б
Переходные функции ßi (а) и ß2 (б) системы угловой стабилизации
5. ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ РЕАЛИЗАЦИИ СХЕМЫ «ПОРТФЕЛЬ ЗАДАЧ» СРЕДСТВАМИ MPI
Для оценки эффективности предложенного алгоритма динамической балансировки вычислительной нагрузки проводилось сравнение характерных затрат машинного времени при выполнении параметрического синтеза в последовательной версии программы, параллельной версии на основе стандартных средств управления наборами задач технологии OpenMP и параллельной версии на основе технологии MPI. Тестирование выполнялось на двух компьютерах: с процессором Intel i5 2450M (2 физических ядра и 4 виртуальных ядра за счет использования технологии Hyper Threading) и OC Windows 7 x64 и с процессором Intel i7 3610QM (4 физических ядра и 8 виртуальных ядер) и OC Windows 8.1 x64. Последовательная и параллельные версии программы разработаны c использованием компиляторов Microsoft Visual C++ 2013, Microsoft Visual C# 2013 и пробной версии Intel C++ 2014 (поддерживает стандарт OpenMP 3.1). Также использовались пробные версии библиотек поддержки высокопроизводительных вычислений Intel Math Kernel Library 11.1 и IMSL 7.0. В качестве объектно ориентированной оболочки для функций BLAS и LAPACK из состава IMKL использовалась свободно распространяемая библиотека LAPACK++. В качестве реализации стандарта MPI 2.2 использовались входящие в состав свободно распространяемого пакета Microsoft HPC Pack 2012 SP1 библиотеки Microsoft MPI и соответствующие клиентские утилиты. Сравнение характерных затрат машинного времени (в секундах) при выполнении параметрического синтеза ранее рассмотренной системы угловой стабилизации в последовательной и параллельных версиях программы приведено в табл. 1 и 2.
Таблица 1
Время параметрического синтеза, с. Intel i5 2450M
Номер теста 1 2 3 4 5
Последовательная 487 480 502 496 483
OpenMP 231 243 232 231 231
MPI, 3 процесса 269 273 261 272 264
MPI, 5 процессов 241 242 242 241 242
Таблица 2
Время параметрического синтеза, с. Intel i7 3610QM
Номер теста 1 2 3 4 5
Последовательная 497 497 498 501 502
OpenMP 138 140 138 139 138
MPI, 5 процессов 127 125 124 127 124
MPI, 9 процессов 117 116 117 116 116
Как следует из представленных результатов, предложенный алгоритм динамической балансировки вычислительной нагрузки стандартными средствами MPI наиболее эффективен, если число процессов-исполнителей совпадает с числом виртуальных ядер процессора. На процессоре Intel i5 2450M (см. табл. 1) эффективность предложенного алгоритма сопоставима с эффективностью стандартных средств технологии OpenMP для создания наборов задач и управления ими. На процессоре Intel i7 3610QM (см. табл. 2) эффективность предложенного алгоритма превосходит эффективность стандартных средств OpenMP.
Библиографический список
1. MPI: A Message-Parsing Interface Standard 3.0. September 21, 2012. URL: http://www.mpi-forum. org/docs/mpi-3.0/mpi30-report.pdf (дата обращения: 18.12.2014).
2. Андрейченко Д. К., Андрейченко К. П. К теории комбинированных динамических систем // Изв. РАН. Теория и системы управления. 2000. № 3. C. 54-69.
3. Андрейченко Д. К., Андрейченко К. П. Моделирование, анализ и синтез комбинированных динамических систем : учеб. пособие. Саратов : ООО Изд. дом «Райт-Экспо», 2013. 144 с.
4. Эндрюс Г. Р. Основы многопоточного, параллельного и распределенного программирования. М : Изд. дом «Вильямс», 2003. 512 с.
5. Гергель В. П. Теория и практика параллельных вычислений. М : Интернет-ун-т информ. технологий : БИНОМ. Лаб. знаний, 2007. 423 с.
6. Андрейченко Д. К., Андрейченко К. П., Кононов В. В. К устойчивости системы угловой стабилизации вращающегося упругого стержня под действием продольного ускорения // Изв. РАН. Теория и системы управления. 2013. № 5. С. 1225. 001 10.7868^0002338813030025.
7. Андрейченко Д. К. Эффективный алгоритм численного обращения интегрального преобразования Лапласа // Журн. вычисл. матем. и матем. физ. 2000. Т. 40, № 7. С. 1030-1044.
Parallelization of Parametric Synthesis by «Problems Portfolio» Scheme Based on MPI
Technology
D. K. Andreichenko, A. A. Eroftiev, D. V. Melnichuk
Saratov State University, 83, Astrakhanskaya st., 410012, Saratov, Russia, [email protected], [email protected], [email protected]
We propose a prototype of a parallelization scheme «problems portfolio» by standard means of MPI technology with application to problems of parametric synthesis of controlled hybrid dynamical systems. Parametric synthesis of the stabilization system of a controlled mobile object was performed. Efficiency of the proposed algorithm of dynamical balancing of computational load is shown.
Keywords: controlled hybrid dynamical systems, MPI, parallel programming.
References
1. MPI: A Message-Parsing Interface Standard 3.0. September 21, 2012. Available at: http://www. mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf (Accessed 18, December, 2014).
2. Andreichenko D. K., Andreichenko K. P. On the theory of hybrid dynamical systems. Journal of Computer and Systems Sciences International, 2000, vol. 39, no 3, pp. 383-398.
3. Andreichenko D. K., Andreichenko K. P. Modeli-
rovanie, analiz i sintez kombinirovannykh dinami-cheskikh sistem. Uchebnoe posobie [Modeling, analysis and synthesis of combined dynamical systems. Tutorial]. Saratov, Izdatel'skii Dom «Rait-Ekspo», 2013. 144 p. (in Russian).
4. Andrews G. R. Foundations of Multithreaded, Parallel and Distibuted Programming. Addison Wesley, 2000, 664 pp.
5. Gergel V. P. Teoriya i praktika parallelnykh
vychisleniy [Theory and practice of parallel computing] Moscow, Internet-Un-t Inform. Tekhnologii, BINOM, Lab. znanii, 2007. 423 c.
6. Ahdreichenko D. K., Andreichenko K. P., Kono-nov V. V. On the Stability of the Angular Stabilization System of the Rotating Rod under Longitudinal Acceleration. Journal of Computer
and System Sciences International, 2013, vol. 52, no 5, pp. 686-699. DOI: 10.1134/S10642307130 30027.
7. Andreichenko D. K. An Efficient Algorithm for Numerical Inversion of the Laplace Transform. Comput. Math. Math. Phys, 2000, vol. 40, no 7, pp.1030-1044.
УДК 519.7
ВОССТАНОВЛЕНИЕ ГРАФА С ПОМЕЧЕННЫМИ ВЕРШИНАМИ ПЕРЕМЕЩАЮЩИМСЯ ПО НЕМУ МОБИЛЬНЫМ АГЕНТОМ
С. В. Сапунов
Кандидат физико-математических наук, научный сотрудник, Институт прикладной математики и механики НАН Украины, Донецк, [email protected]
Рассматривается задача построения автономным мобильным агентом топологической модели своей операционной среды. Модель среды представляет собой связный неориентированный граф с помеченными вершинами. В работе предложен полиномиальный алгоритм восстановления и разметки графа среды для коллектива из агента-исполнителя и агента-вычислителя.
Ключевые слова: графы с помеченными вершинами, мобильный агент, восстановление графа.
ВВЕДЕНИЕ
Помеченные графы широко применяются в информатике для описания и моделирования разнообразных вычислительных процессов. В этом контексте наиболее изучены конечные орграфы с помеченными дугами ^ТБ [1], взвешенные автоматы [2], конечные автоматы). Тем не менее существует множество вычислительных процессов, естественным образом представляемых графами с помеченными вершинами (в программировании, робототехнике [3], верификации моделей [4]). В данной работе исследуется модель информационной системы как системы взаимодействующих объектов: агента и его операционной среды [5]. Операционная среда представляется в виде топологической модели, т.е. графа с помеченными вершинами.
Одной из центральных задач анализа операционной среды является построение ее карты, т. е. восстановление графа среды [3]. Причем построенная карта должна быть пригодной для дальнейшей навигации агентов. В данной работе под навигацией понимается перемещение агента (робота, поисковой программы и т. п.) из текущей области его операционной среды в заданную ее область. Будем считать карту пригодной для навигации, если на основании описания пути по карте агент, получающий минимум локальной информации о среде, может пройти этот путь в среде.
1. ПОСТАНОВКА ЗАДАЧИ
Мобильный агент установлен в произвольную вершину неизвестного ему графа, все вершины которого не помечены или, что то же самое, помечены одной и той же меткой. Требуется разработать алгоритм перемещений агента по графу и разметки пройденных вершин, который позволяет восстановить граф. Причем полученная разметка должна способствовать навигации агента по графу.
К настоящему времени известно довольно много методов восстановления графов [6]. Однако эти методы, как правило, предполагают разметку всех вершин графа одной и той же меткой, что неприемлемо для последующей навигации. Тривиальным методом решения поставленной задачи является восстановление графа с разметкой каждой его вершины уникальной меткой. В работе предложен алгоритм, в котором на основе анализа структуры графа уменьшается число различных меток.
© Сапунов С. В., 2015