Научная статья на тему 'РАСПАРАЛЛЕЛИВАНИЕ ВЫЧИСЛЕНИЙ ПРИ ПОСТРОЕНИИ ПУТИ РОБОТА С ПОМОЩЬЮ МОДИФИЦИРОВАННОГО АЛГОРИТМА МУРАВЬИНЫХ КОЛОНИЙ'

РАСПАРАЛЛЕЛИВАНИЕ ВЫЧИСЛЕНИЙ ПРИ ПОСТРОЕНИИ ПУТИ РОБОТА С ПОМОЩЬЮ МОДИФИЦИРОВАННОГО АЛГОРИТМА МУРАВЬИНЫХ КОЛОНИЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
96
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
распараллеливание / роботы / построение маршрута / методы оптимизации / муравьиные алгоритмы / простой муравьиный алгоритм / параллельные вычисления / parallelization / robots / routing / optimization methods / ant algorithms / simple ant algorithm / parallel computing

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Благовещенская Екатерина Анатольевна, Гарбарук Виктор Владимирович, Кударов Руслан Серикович, Микулик Илья Игоревич

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Благовещенская Екатерина Анатольевна, Гарбарук Виктор Владимирович, Кударов Руслан Серикович, Микулик Илья Игоревич

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

PARALLELIZATION OF CALCULATIONS OF ROBOT PATH PLANNING USING A MODIFIED ANT COLONY ALGORITHM

The paper investigates the possibility of parallel implementation of the ant colony method for solving the problem of robot route planning. A simple ant colony algorithm with a modified distance heuristic is considered as the algorithm under study. It is shown that parallelization of the algorithm leads to an improvement in the result in terms of the algorithm's execution speed.

Текст научной работы на тему «РАСПАРАЛЛЕЛИВАНИЕ ВЫЧИСЛЕНИЙ ПРИ ПОСТРОЕНИИ ПУТИ РОБОТА С ПОМОЩЬЮ МОДИФИЦИРОВАННОГО АЛГОРИТМА МУРАВЬИНЫХ КОЛОНИЙ»

УДК 004.896

doi:10.18720/SPBPU/2/id20-155

Благовещенская Екатерина Анатольевна1,

д-р физ.-мат. наук, заведующий кафедрой «Высшая математика»;

Гарбарук Виктор Владимирович1, канд. техн. наук, профессор кафедры «Высшая математика»;

Кударов Руслан Серикович3, канд. техн. наук, доцент кафедры «Высшая математика»;

Микулик Илья Игоревич4, инженер-программист

РАСПАРАЛЛЕЛИВАНИЕ ВЫЧИСЛЕНИЙ ПРИ ПОСТРОЕНИИ ПУТИ РОБОТА С ПОМОЩЬЮ МОДИФИЦИРОВАННОГО АЛГОРИТМА МУРАВЬИНЫХ КОЛОНИЙ

113

' ' Петербургский государственный университет путей сообщения Императора Александра I, Санкт-Петербург, Россия,

1 13

kblag1001@yahoo.com, vmkaf@pgups.ru, r.s.kudarov@gmail.com 4 ООО «СВД Встраиваемые Системы», Санкт-Петербург, Россия,

4 guess_97@mail.ru

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

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

Ekaterina A. Blagoveshchenskaya1,

Doctor of Physics and Mathematics, Head of Mathematics Department;

Victor V. Garbaruk1,

Candidate of Technical Sciences, Professor of Mathematics Department;

Ruslan S. Kudarov3,

Candidate of Technical Sciences, Ass. Professor of Mathematics Department;

Ilya I. Mikulik4, Engineer-programmer

PARALLELIZATION OF CALCULATIONS OF ROBOT PATH PLANNING USING A MODIFIED ANT COLONY ALGORITHM

113

' ' Emperor Alexander I St. Petersburg State Transport University,

St. Petersburg, Russia,

1 13

kblag1001@yahoo.com, vmkaf@pgups.ru, r.s.kudarov@gmail.com,

4 Russia, Saint Petersburg, OOO «SVD Software», guess_97@mail.ru

Abstract. The paper investigates the possibility of parallel implementation of the ant colony method for solving the problem of robot route planning. A simple ant colony algorithm with a modified distance heuristic is considered as the algorithm under study. It is shown that parallelization of the algorithm leads to an improvement in the result in terms of the algorithm's execution speed.

Key words: parallelization, robots, routing, optimization methods, ant algorithms, simple ant algorithm, parallel computing.

Введение

С каждым годом наблюдается тенденция роста мощности вычислительных устройств. Это эмпирическое наблюдение характеризуется законом Мура. Производительность современных компьютеров характеризуется не только вычислительной мощностью одного процессора, но и количеством вычислительных устройств. Также возрастает интерес к суперкомпьютерам - устройствам, являющимся множеством вычислительных кластеров, соединенных высокоскоростной магистралью. Вместе с техническими возможностями растет и теоретическая алгебраическая база. В работе [3] продемонстрирована возможность применения алгоритмов прямых разложений абелевых групп к задачам распараллеливания. В связи с этим, актуальной является задача распараллеливания алгоритмов. Достаточно популярными являются алгоритмы, целью которых является решение задач оптимизации. Примером таких алгоритмов служит алгоритм муравьиных колоний (ant colony optimization). В работе рассмотрено распараллеливание метода муравьиных колоний в приложении робототехники. Метод используется при решении задачи планирования пути робота в сложной среде. Задача планирования состоит в том, чтобы найти оптимальный или близкий к оптимальному свободный от препятствий путь от начальной позиции робота до его цели.

1. Постановка задачи

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

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

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

2. Описание алгоритма

Для применения муравьиного алгоритма к решению некоторой задачи необходимо, прежде всего, определить [5]:

1. Правило перехода на следующую вершину графа (величину смещения к).

2. Формула коррекции искусственного феромона.

3. Тип и параметры муравьиного алгоритма.

Рассматривается простой муравьиный алгоритм (ПМА), в котором переопределено правило перехода с текущей вершины на следующее. Это правило учитывает две эвристические характеристики: эвристику по расстоянию и эвристику по высоте. Согласно [4, 5], алгоритм включает следующий набор действий:

1. Определить параметры: а, в, пк, то , а также параметры, отвечающие за откладывание и испарение феромонов. Определить правило изменения концентрации феромона.

2. Поместить пк муравьев на соответствующие вершины.

3. Для каждой дуги задать случайное количество феромона тгу(0) < т0.

4. Пока не выполнен критерий останова:

4.1. Для каждого муравья к = 1... пк:

4.1.1. хк (?) = 0.

4.1.2. Пока полный путь не построен:

в текущей вершине I выбрать следующую вершину _/ согласно вероятности, определяемой как:

рк () = *Ь (Ни (Ни () Ри () Ет- (()п! (()пМи (()

хк (?)=хк (?) и а д

4.1.3. Вычислить / (хк(?)).

4.2. Для каждой дуги графа (/,_/) вычислить испарение феромона и новую концентрацию.

3. Описание эвристики

Характеристики муравьиного алгоритма можно значительно улучшить путем включения эвристической информации при выборе следующей дуги [5]. Если эвристическая информация отсутствует или нет необходимости в ее использовании, можно определить коэффициент в = 0. Однако в таких условиях алгоритм менее устойчив: даже при одних и тех же параметрах результат выполнения алгоритма может значительно меняться. Эвристическая информация помогает [2] муравьям быстрее найти цель, но

не всегда самым оптимальным путем. Для того чтобы решить проблему блуждания муравья (случайного поиска цели), можно использовать гибридные алгоритмы. В таком случае эвристическая составляющая вычисляется с помощью других алгоритмов оптимизации, таких как A*, имитация отжига и другие [1, 2]. В работе [4] предложен способ вычисления эвристики без использования других алгоритмов оптимизации.

Эвристика представляет собой матрицу H той же размерности, что и матрица весов. Каждый элемент этой матрицы nij - является числом из

диапазона [0,1]. Чем больше значение Пу , тем больше вероятность ребра

(i, j) попасть в построенный путь. Самый простой выбор эвристики определяется следующим образом: Пу = 1/ dj , где dj - длина (вес) ребра (i, j),

разность высот вершин.

Модернизированное правило перехода использует два параметра эвристики: эвристика по расстоянию nd и по высоте - nh . Эвристика по

высоте позволяет муравьям быстрее находить путь, кратчайший по высотам, а эвристика по расстоянию - быстрее находить целевую вершину. Если принять, что разность высот вершин diJ е[0,1], то nh = 1- dj . В таком случае, параметр будет штрафовать вершины, разность высот которых велика. Вероятность выбора вершины с более гладким переходом повышается.

Предложенное в работе вычисление матрицы эвристики по расстоянию происходит по следующему алгоритму:

1. Присвоить целевой вершине t числоmt = 2n-1, n - размер карты.

2. Для каждой вершины по соседству с текущей, которой не присвоено число, присвоить число m = mt -1.

3. Приступить к вершинам, к которым только что было присвоено число.

4. Выполнять пп. 2, 3 пока каждой вершине не будет присвоено число.

Вычисление параметра nh происходит непосредственно на этапе выбора вершины. Алгоритм вычисления nh :

1. Получить номера mi каждой из вершин-кандидатов для перехода.

2. Найти минимум mn = min [mt ] .

3. Для каждого значения mt = mt - mn.

2mi

4. Вычислить значение эвристики цы =-—.

22 к

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

4. Параллельная реализация

Известно, что муравьиные алгоритмы хорошо распараллеливаются [5], так как поиск цели каждого муравья на одной итерации не зависит от результатов поиска других муравьев. Так как рассматриваемый метод не является гибридным, а значит, исключается возможность появления различных новых зависимостей, можно сделать вывод, что алгоритм имеет параллельную реализацию. Пункт 4.1 алгоритма (см. п. 2) предполагает выполнения действия в цикле для каждого муравья-агента. Однако область данных не имеет защищенных точек доступа, то есть несколько муравьев может одновременно выполнять действия основного цикла. Таким образом, алгоритм распараллеливается по данным. Каждый вычислительный кластер p реализует пункт 4.1 алгоритма, определяя nk = nkp.

Заключение

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

Список литературы

1. Akka K., Khaber F. Mobile robot path planning using an improved ant colony optimization. International Journal of Advanced Robotic Systems. 2018. DOI: 10.1177/1729881418774673.

2. Dai X., Long S., Zhang Z., Gong D. Mobile Robot Path Planning Based on Ant Colony Algorithm with A* Heuristic Method. Front. Neurorobot. 2019. Vol. 13:15. DOI: 10.3389/fnbot.2019.00015.

3. Благовещенская Е.А., Зуев Д.В., Кузнецова И.В., Тихомиров С. А. Приложения алгоритмов прямых разложений абелевых групп без кручения к задачам распараллеливания вычислительных и конструктивных процессов // Международные Кол-могоровские чтения-XIV, посвященные 100летию профессора ЗА Скопеца. 2017. С. 38-40.

4. Микулик И.И. Построения пути робота с помощью алгоритма муравьиных колоний с модернизацией эвристики. // Неделя науки СПбПУ. 2019. С. 230-232.

5. Скобцов Ю.А., Федоров Е.Е. Метаэвристики: монография. Донецк: Издательство «Ноулидж», 2013. 426 с.

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