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

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

CC BY
1396
140
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ ПОИСКА КРАТЧАЙШЕГО ПУТИ / ALGORITHM OF SEARCH OF THE SHORTEST WAY / МОДЕЛИРОВАНИЕ / MODELING

Аннотация научной статьи по математике, автор научной работы — Клочкова Екатерина Николаевна.

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

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

Substantiation of a choice of algorithm of search of a way for the decision of problems of construction of a route to destination

The opportunity of construction of an optimum route to a place of occurrence of an extreme situation is considered, using various ways of movement. The offered approach allows to take into account characteristics of district on which the way will be laid, and depending on it and the way of movement gets out.

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

ТЕХНИЧЕСКИЕ НАУКИ

УДК 004.421.2 ББК 22.12

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

ЕКАТЕРИНА НИКОЛАЕВНА КЛОЧКОВА,

старший преподаватель кафедры информационной безопасности учебно-научного комплекса информационных технологий Московского университета МВД России имени В.Я. Кикотя Научная специальность 05.11.16 - информационно-измерительные

и управляющие системы E-mail: e_maks2000@mail.ru

Citation-индекс в электронной библиотеке НИИОН

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

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

Annotation. The opportunity of construction of an optimum route to a place of occurrence of an extreme situation is considered, using various ways of movement. The offered approach allows to take into account characteristics of district on which the way will be laid, and depending on it and the way of movement gets out.

Keywords: algorithm of search of the shortest way, modeling.

Введение

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

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

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

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

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

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

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

ТЕХНИЧЕСКИЕ НАУКИ

Математически, вся рассматриваемая местность может быть представлена в виде направленного графа.

G: = (У,Е),

где, V - это множество вершин или узлов;

Е - это множество рёбер графа.

Вершины V представляют собой перекрестки, пересечения дорог, ребра Е - объединяющие их участки дорог. Каждой грани графа назначается своя стоимость, соответствующая «стоимости» перемещения по грани, заданная при постановке задачи.

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

Сравнение алгоритмов поиска кратчайших путей на графе

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

На данный момент общеизвестными являются следующие алгоритмы поиска пути:

• поиск в ширину, двунаправленный поиск в ширину;

• поиск в глубину, алгоритм последовательных приближений при поиске в глубину (IDDFS);

• алгоритм «лучший-первый»;

• алгоритм поворота Креша;

• алгоритм «разделяй и властвуй»;

• алгоритм Дейкстры;

• алгоритм А*.

В таблице приведен краткий сравнительный обзор данных методов.

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

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

Таблица

Сравнительный анализ алгоритмов поиска пути

Нахождение Обход препят- Направление по- Оценка стоимости Эффективность

пути ствия иска местности поиска

Алгоритм «По- Найденный Препятствие об- Равномерный Все шаги равны, Поиск неэффектив-

иск в ширину» путь кратчайший ходит поиск во все стороны ортогональные и диагональные. ный

Алгоритм Найденный Препятствие об- Равномерный Хорошая адаптация Поиск неэффектив-

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

Алгоритм «По- Может путать- Препятствие об- Поиск идет в на- Может учитываться Скорость нахожде-

иск в глубину» ся, не всегда ходит правлении цели, длина пройденного ния пути во многом

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

Алгоритм Найденное Препятствие Поиск идет по Не принимает во Принимает во

«Лучший-пер- решение не обходит, но прямой к цели внимание накоплен- внимание знания о

вый» является оптимальным. найденный путь не прямой, а изгибается вокруг препятствия ную стоимость пути пространстве поиска для направления своих усилий. Быстро находит решение.

Алгоритм Найденное Возможно, мож- Поиск идет по Не принимает во Не предназначен

«Разделяй и решение не но обойти мел- прямой к цели внимание накоплен- для работы на пере-

властвуй» является оптимальным. кие препятствия ную стоимость пути или стоимость местности сеченной местности

ТЕХНИЧЕСКИЕ НАУКИ

Алгоритм Не всегда на- Не отрабатывает Поиск идет по Не принимает во Поиск неэффектив-

Креша ходит решение препятствие, особенно, если оно и-образной формы прямой к цели внимание накопленную стоимость пути или стоимость местности ный

Алгоритм А* Всегда нахо- Обходит любое Поиск идет по При построении Гарантировано на-

дит оптималь- препятствие, прямой к цели пути учитывает ходит оптимальный

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

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

Описание алгоритма А*

Данный алгоритм был впервые описан в 1968 г. Питером Хартом, Нильсом Нильсоном и Бертрамом Рафаэлем.

Этот эвристический поиск сортирует все узлы по приближению наилучшего маршрута идущего через этот узел. Типичная формула эвристики имеет вид:

м = g(S) + ^^, (1)

где, g(S) - реальная текущая стоимость узла 5";

h(S) - эвристическая функция, которая оценивает стоимость наилучшей последовательности действий, начинающейся с узла 5 и заканчивающейся решением.

Рис.1. Примеры работы Алгоритма А*.

Следовательно, /(5) является мерой стоимости решений, «подчиненных» ситуации S, т. е. решений, включающих то же подмножество исходных действии, что и 5. Так, когда каждому действию соответствует элементарная стоимость/(Б^Б^а), представляющая собой стоимость перехода из в Б2 с помощью действия а, функция g(S) равна сумме стоимостей действии, которые надо выполнить, чтобы дойти до данной точки от исходного узла 5. Так как стоимости предполагаются положительными, функция g(S) будет строго аддитивной.

В начале работы раскрывается начальный узел, затем просматриваются узлы, смежные с начальным; выбирается тот из них, который имеет минимальное значение /(5), после чего этот узел раскрывается. На каждом этапе алгоритм оперирует с множеством путей из начальной точки до всех ещё не раскрытых (листовых) вершин графа («множеством частных решений»), которое размещается в очереди с приоритетом. Приоритет пути определяется по значению (1).

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

Пример решения задачи поиска оптимального пути с помощью алгоритма А*

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

Рассмотрим пример работы алгоритма А*, опираясь на растровую модель пространственных данных. В растровой модели данных каждая ячейка соответствует участку на местности с учетом масштаба. Матрица ячеек называется сеткой. Для описания земной поверхности используется показатель «высота над уровнем моря», который задается и хранится для каждой из ячеек. Это значение представляет не всю ячейку, а только центральную ее точку. Набор центральных точек ячеек в сетке называется решеткой. Решетка поддерживает точные поверхностные вычисления.

Рассмотрим пример практического использования алгоритма А*. Пусть, нам необходимо попасть из точки А в точку В (рис. 2), используя оптимальный маршрут.

По имеющейся растровой модели рельефа мы можем судить о местности. В нашем случае будем работать с тремя типами местности: местность типа 1 - белые клетки; местность типа 2 - серые клет-

ТЕХНИЧЕСКИЕ НАУКИ

ки; местность типа 3 - темно-серые клетки. Зная тип местности, можно судить о стоимости перехода между ячейками.

Рассчитанные значения/для соседних с начальной клеток приведены на рис. 3.

А

В

1-М .=■ 1 4*1 8 = 15 1 4*1

1-Н * = 2 1-М 8 = - 1 +>1

1-Ц * = 3 1-Н 8 = 2 1 "Н

g = 2 g = 1,5 g = 1

А

В

Рис. 2. Растровая модель рельефа со стоимостью перехода между местностями различных типов

В качестве эвристической функции h(S) предположим следующий вариант ее оценки:

И(Б) = К(х,у,хьук) • ^(Б)) =

= _и - х)2 + (у - у) ) • ( g ^) ) , (2)

где, R(x, у, хк, ук) - геометрическое расстояние между начальной точкой маршрута с координатами (х, у) и конечной точкой (хк, у );

1,5 - средняя величина затрат на передвижение между различными участками местности.

Работа алгоритма по поиску оптимального пути заключается в следующем. Начинаем со стартовой точки А и добавляем ее в «открытый список» клеток, которые нужно обработать. В данный момент есть только один элемент в списке, но позже будут добавлены еще. Список содержит клетки, которые находятся вдоль пути и через которые в дальнейшем, возможно, будет проложен маршрут, т.е. это список клеток, которые необходимо проверить.

Ищем доступные или проходимые клетки, граничащие со стартовой точкой, игнорируя клетки с непроходимой областью, и добавляем их в открытый список. Для каждой из этих клеток сохраняем точку А, как «родительскую клетку». Эта родительская клетка важна для отслеживания нашего пути.

Удаляем стартовую точку А из открытого списка и добавляем ее в «закрытый список» клеток, которые проверять больше не нужно.

Дальше выбираем одну из соседних клеток в открытом списке, имеющую меньшую стоимость /(Б), и фактически повторяем вышеописанный процесс. Для определения стоимости /(Б') воспользуемся формулой (1), к(Б) - по формуле (2), а g(S) - стоимость передвижения из стартовой точки А к данной клетке определяется исходя из начальных данных (рис. 2).

Рис. 3. Пример решения задачи нахождения оптимального пути с помощью алгоритма А*

Далее поиск ведется следующим образом:

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

а) ищем в открытом списке клетку с наименьшей стоимостью /(Б). Делаем ее текущей клеткой. На рис. 3 видно, что клеткой с наименьшей стоимостью /(Б) является ячейка под номером 4;

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

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

• если клетка еще не в открытом списке, то добавляем ее туда. Рассчитываем стоимости /(Б), g(S), к(Б) текущей клетки (на рис. 3 клетки 10,11,12);

• если клетка уже в открытом списке, то проверяем, не дешевле ли будет путь через данную ячейку; для сравнения используем стоимость g(S). Более низкая стоимость g(S) означает, что путь будет дешевле. Если это так, то прокладываем маршрут через эту клетку и пересчитываем для нее стоимости g(S), /(Б);

г) алгоритм прекращает работу, если в открытый список добавили целевую клетку (в этом случае путь найден) или открытый список пуст, но мы не дошли до целевой клетки (путь отсутствует);

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

Полное решение задачи приведено на рис. 3.

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

Существующий алгоритм А* не решает полностью нашей задачи, так как он предназначен только

ТЕХНИЧЕСКИЕ НАУКИ

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

Для того, чтобы учесть сделанные замечания, мы предлагаем осуществить некоторую оптимизацию Алгоритма А*. Ее суть может быть сведена к следующему: созданный алгоритм А* должен иметь возможность находить оптимальный путь, учитывая разнородные методы перемещения, т.е. необходимо задать требуемые данные для расчета не только затрат на передвижение, но и оценки возможности преодоления пути, пользуясь тем или иным способом перемещения. Для этого алгоритму необходимо знать некоторые характеристики местности, по которой будет прокладываться путь и тогда он сможет оценить возможность перемещения по пути вдоль пересеченной местности каким-либо способом, и, соответственно, выполнить расчеты, характеризующие затраты на преодоление этого пути для применяемого метода. В нашем случае закладывается возможность передвижения на автомобиле и пешком. При передвижении на автомобиле основными препятствиями будут крутой подъем (более 30 градусов), спуск (более 20 градусов), а также угол поперечной статической устойчивости. Таким образом, учитывая эти параметры, алгоритм уже сможет определить, преодолимо ли препятствие для автомобиля или нет. В случае не возможности преодоления препятствия на автомобиле алгоритм меняет способ передвижения, и достраивает маршрут исходя из нового способа перемещения. При построении пути необходимо учитывать также его безопасность для автотранспорта и человека. Основное отличие нового алгоритма будет состоять в том, что он будет использовать не одну эвристическую функцию, а две, характеризующие данные методы перемещения.

Выводы:

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

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

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

Литература

1. Геоинформатика. В 2 кн. Кн. 1: Учебник для студ. высш. учеб. заведений / Под ред. В.С. Тикунова. 2-е изд., перераб. и доп. М.: Издательский центр «Академия», 2008.

2. Королев Ю.К. Общая геоинформатика. Ч. I. Теоретическая геоинформатика. Вып. 1, СП ООО Дата+, 1998.

3. Лорьер Ж.-Л. Системы искусственного интеллекта. М.: Мир, 1991.

4. Нильсон Н. Искусственный интеллект методы поиска решений. М.: Мири, 1973.

5. Vector vs. Raster-based Algorithms for Cross Country Movement Planning, Joost van Bemmelen, Wilko Quak, Marcel van Hekken, and Peter van Oosterom, TNO Physics and Electronics Laboratory, P.O. Box 96864, 2509 JG The Hague, The Netherlands.

6. J.S.B. Mitchell and C.H. Papadimitrou. The weighted region problem: Finding shortest paths through a weighted planar subdivision. Journal of the Association for Computing Machinery, 38(1):18-73, January 1991.

References

1. Geoinformatics. In 2 books. Vol. 1: A Textbook for students. Executive. Proc. institutions / Ed. VS. Tikunova. 2nd ed., rev. and add. Moscow: Publishing Center "Academy", 2008.

2. Korolev J.K. Total geoinformatics. Part I. Theoretical geoinformatics. Issue 1 JV Data +, 1998.

3. Lorer J.L. Artificial intelligence systems. M.: Mir, 1991.

4. Nilsson N. Artificial Intelligence techniques to find solutions. - M.: Miri, 1973.

5. Vector vs. Raster-based Algorithms for Cross Country Movement Planning, Joost van Bemmelen, Wilko Quak, Marcel van Hekken, and Peter van Oosterom, TNO Physics and Electronics Laboratory, PO Box 96864, 2509 JG The Hague, The Netherlands.

6. J.S.B. Mitchell and C. H. Papadimitrou. The weighted region problem: Finding shortest paths through a weighted planar subdivision. Journal of the Association for Computing Machinery, 38 (1): 18-73, January 1991.

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