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

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 16.07.2018
Размер файла 225,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Кондратенко Владислав Евгеньевич, студент

Фадеева Марина Викторовна, старший преподаватель

Волгоградский государственный технический университет

Введение

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

Алгоритмы поиска кратчайших путей на графах нашли свое применение в различных областях и сферах деятельности человека. Такие алгоритмы используются в картографических сервисах, при построении пути GPS-навигатора [7], для представления и анализа дорожной сети [8] и во многих других областях [1,9, 11-14]. При этом в настоящее время существует большое число алгоритмов и подходов, которые решают эту задачу. Кроме того, в большинстве своем алгоритмы можно логически разделить на два класса -- алгоритмы поиска кратчайшего расстояния от одной вершины до всех остальных и алгоритмы поиска кратчайших расстоянии между каждой парой вершин [1, 6].

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

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

Для достижения поставленной цели были решены следующие исследовательские задачи:

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

· Составить математическое описание информационной системы поиска кратчайшего пути в графе с использованием параллельных алгоритмов.

· Выполнить программную реализацию информационной системы поиска кратчайшего пути в графе с использованием параллельных алгоритмов.

· Проверить эффективность реализованных алгоритмов информационной системы поиска кратчайшего пути в графе с использованием параллельных алгоритмов [2].

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

Сначала был выполнен анализ основные понятия теории построения графов, приведены примеры графов различного вида. Множество X = { x1, x2,..., xk,... } и набор E пар объектов вида { xi, xj } или (xi, xj) из множества X называется графом и обозначается обычно символом G.

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

Начальной информацией для проблемы поиска кратчайшего пути обычно является исходных взвешенный граф $G=(V,R)$, который содержит $n$ вершин, задан неотрицательный вес. Предполагается, что граф ориентированный, т.е. если из некоторой вершины $i$ существует ребро в вершину $j$, то из этого не следует и обратное наличие ребра из $j$ в $i$. В том случае, если вершины все же соединены взаимообратными ребрами, веса, которые им приписаны, могут и не совпадать. Далее необходимо рассмотреть задачу, в которой для заданного графа G необходимо найти минимальные длины путей между каждой парой вершин графа.

В заключении был выполнен анализ применение алгоритмов поиска кратчайшего пути в графах. Самым распространенным применением алгоритмов поиска кратчайшего пути в графе является их применение в системах навигации для построения маршрутов между несколькими точками, обозначающими физические объекты. Поэтому в данном разделе были рассмотрены следующие системы: Сервис GraphOnline, Пакет утилит Graphviz, Система neo4J, Система GraphX [1].

Критериями для выполнения сравнительного анализа программных продуктов, были выбраны следующие:

A1 - задание информации о вершинах графа текстом;

A2 - задание связей между вершинами визуально;

A3 - задание матрицы смежности вершин графа;

A4 - поиск и визуализация кратчайшего пути в графе;

A5 - оценка точности алгоритмов поиска кратчайшего пути.

Для вычисления весов критериев можно использовать аналитическую иерархическую процедуру Саати [3, 5, 10]. Заданная матрица парных сравнений, вычисленные величины средних геометрических и весов критериев представлены в таблице 1.

Таблица 1 - Матрица парных сравнений, средние геометрические и веса критериев

A1

A2

A3

A4

A5

Среднее геометрическое

Веса критериев

A1

1

3

1/3

1/5

1/7

0,49

0,068824

A2

1/3

1

1/3

1/5

1/5

0,34

0,047437

A3

3

3

1

1/3

1/5

0,90

0,126527

A4

5

5

3

1

1/3

1,90

0,266773

A5

7

5

5

3

1

3,50

0,490439

Сумма

7,14

1

Диаграмма весовых коэффициентов для выбранных критериев A1, A2, A3, A4, A5 представлена на рисунок 1.

Рисунок 1. Весовые коэффициенты критериев качества

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

Суммы столбцов матрицы парных сравнений: R1=16.33; R2=17; R3=9.67; R4=4.73; R5=1.88.

Путем суммирования произведений сумм столбцов матрицы на весовые коэффициенты альтернатив рассчитывается вспомогательная величина L = 5.34. Индексом согласованности ИС = (L-N)/(N-1) = 0.08.

Значение величины случайной согласованности для размерности матрицы парных сравнений: СлС = 1.12.

Значение отношения согласованности ОС=ИС/СлС = 0.075. не превышает 0.2, поэтому уточнение матрицы парных сравнений не требуется.

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

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

Значения весовых коэффициентов ai соответствующие функциональным возможностям продуктов:

1. задание информации о вершинах графа текстом a1=0.069;

2. задание связей между вершинами визуально a2=0.047;

3. задание матрицы смежности вершин графа a3=0.13;

4. поиск и визуализация кратчайшего пути в графе a4=0.27;

5. оценка точности алгоритмов поиска кратчайшего пути a5=0.49. где .

Вычислим (по введенной шкале) количественные значения функциональных возможностей $X_{ij}$ (таблица 2). Определим интегральный показатель качества для каждого программного продукта [4].

Таблица 2. Интегральные показатели качества

Критерии

Весовые коэф-ты

Программные продукты

Базовые знач-я

Разраба-тываемая система

GraphOnline

Graphviz

neo4J

GraphX

a1

0,068824

6

5

5

4

5,4

7

a2

0,047437

5

6

3

3

4,4

5

a3

0,126527

4

4

4

5

3,8

6

a4

0,266773

6

6

3

5

5,2

6

a5

0,490439

2

2

0

2

2,2

5

Интегр. показ-ль качества Q

2,912909

2,844085

1,656735

5,02484

3,5273604

5,530948

Построим лепестковую диаграмму интегрального показателя качества каждого программного продукта (рисунок 2).

Рисунок 2. Лепестковая диаграмма интегральных показателей качества программных продуктов

алгоритм кратчайший путь граф

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

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

На рисунке 4 показана диаграмма верхнего уровня процесса «Поиск кратчайшего пути в графе».

Рисунок 4. Диаграмма верхнего уровня процесса «Поиск кратчайшего пути в графе».

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

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

Исполнителями процесса являются пользователь ИС и информационная система (ИС*).

Управление процессом осуществляется на основании математической модели алгоритмов поиска кратчайшего пути.

Поиск кратчайшего пути в графе осуществляется в пять этапов:

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

2. заполнение матрицы смежности графа» - на данном этапе выполняется заполнение матрицы связей вершин графа;

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

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

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

На рисунке 5 показана детализация процесса «Поиск кратчайшего пути в графе».

Рисунок 5. Декомпозиция диаграммы А1 «Поиск кратчайшего пути в графе».

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

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

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

1. ИЗОТОВА Т.Ю. Обзор алгоритмов поиска кратчайшего пути в графе // Новые информационные технологии в автоматизированных системах. 2016. №19 С.341-344.

2. ФамКонгТханг, Нгуен Ван Хьеу Построение алгоритма поиска кратчайшего пути на расширенном графе // Известия ТулГУ. Технические науки. 2013. №11 С.367-372.

3. Морозов А.О., Рыбанов А.А. Экспертная оценка программных продуктов для расчета метрических характеристик физической схемы базы данных // Современные научные исследования и инновации. 2015. № 1-1 (45). С. 97-102.

4. Рыбанов А.А., Макушкина Л.А. Технология определения весовых коэффициентов сложности тем дистанционного курса на основе алгоритма Саати // Открытое и дистанционное образование. 2016. № 1 (61). С. 69-79.

5. Рыбанов А. Определение весовых коэффициентов сложности тем учебного курса на основе алгоритма Cаати // Педагогические измерения. 2014. № 4. С. 21-28.

6. Рыбанов А.А., Усмонов М.С.О., Попов Ф.А., Ануфриева Н.Ю., Бубарева О.А. Информационные системы и технологии/Научный ред. И. А. Рудакова/Центр научной мысли (г. Таганрог). Москва, 2013. Том Часть 4. -90 с.

7. Моисеев Ю.И., Билялов М.Х., Рыбанов А.А. Система идентификации водителя на примере туристического междугороднего автобуса Волжанин 5285//Вестник магистратуры. 2013. № 5 (20). С. 63-67.

8. Лебединский А.И., Рыбанов А.А. Автоматизация мониторинга топлива в резервуарах азс на базе измерительного комплекса "Струна" с целью повышения эффективности принимаемых решений специалистом отдела логистики//Молодой ученый. 2014. № 7. С. 35-40.

9. Rybanov A., Tretyakova V. Application of Fitts's law to the assessment of users' skills of work with computer devices of targeting//Pedagogical and psychological problems of the modern society: scientific approaches to the study and overcoming practices 2nd edition: research articles. Science editor: A. Burkov.San Francisco,California,USA, 2015. С. 39-47.

10. Кондрацкий Д.Е., Рыбанов А.А. Исследование методов и алгоритмов автоматизированной системы оценки альтернативных вариантов методом Т.Саати//NovaInfo.Ru. 2016. Т. 3. № 46. С. 107-116.

11. Морозов А.О., Рыбанов А.А. Разработка автоматизированной системы расчета метрических характеристик mysql базы данных на основе концептуального графа физической схемы//NovaInfo.Ru. 2015. Т. 2. № 34. С. 34-48.

12. Рыбанов А.А. Оценка сложности физической схемы реляционной базы данных//Современная техника и технологии. 2014. № 9 (37). С. 26-30.

13. Рыбанов А.А., Морозов А.О. Автоматизация расчета метрических характеристик физических схем баз данных на основе концептуальных графов//Молодой ученый. 2014. № 9 (68). С. 26-30.

14. Рыбанов А.А., Фатеенков М.М. Разработка и анализ хранимой процедуры для получения глубины дерева связей таблицы и схемы базы данных//NovaInfo.Ru. 2015. Т. 1. № 34. С. 41-55.

Размещено на Allbest.ru


Подобные документы

  • Разработка алгоритма реализации на ЭВМ процесса поиска кратчайшего пути в графе методом Дейкстры. Программная реализация алгоритма поиска кратчайшего пути между двумя любыми вершинами графа. Проверка работоспособности программы на тестовых примерах.

    реферат [929,8 K], добавлен 23.09.2013

  • Алгоритм сортировки Шейкер: математическое описание задачи и описание алгоритма. Алгоритм покрытия: построение одного кратчайшего покрытия. Описание схемы и работы алгоритма на графах: нахождение кратчайшего пути. Контрольные примеры работы алгоритмов.

    курсовая работа [43,8 K], добавлен 19.10.2010

  • Исследование методов решения задачи о ходе коня. Описание алгоритмов для итеративной и рекурсивной программ. Генерация перестановок элементов по индексам. Построение эйлерова цикла на графе. Поиск кратчайшего пути на графе. Программная реализация задачи.

    курсовая работа [411,6 K], добавлен 25.04.2013

  • Алгоритм поиска по первому наилучшему совпадению на графе. Основные классы для поиска пути в лабиринте. Тестирование нахождения кратчайшего пути в лабиринте. Порядок обхода вершин. Тестирование поведения программы при отсутствии пути в лабиринте.

    курсовая работа [888,7 K], добавлен 19.12.2013

  • Графы: определения, примеры, способы изображения. Смежные вершины и рёбра. Путь в ориентированном и взвешенном графе. Матрица смежности и иерархический список. Алгоритм Дейкстры - алгоритм поиска кратчайших путей в графе. Работа в программе "ProGraph".

    презентация [383,8 K], добавлен 27.03.2011

  • Описание алгоритма сортировки с двоичным включением, выбор структур данных. Пример сортировки массива, отсортированного случайным образом. Алгоритм покрытия по методу "Построение одного кратчайшего покрытия". Волновой алгоритм поиска длиннейшего пути.

    курсовая работа [78,2 K], добавлен 24.09.2010

  • Задача о кратчайшем пути как одна из важнейших классических задач теории графов. Общий обзор трех наиболее популярных алгоритмов для решения задачи о кратчайшем пути. Написание программы, которая реализует алгоритм Дейкстры и алгоритм Форда-Беллмана.

    курсовая работа [2,1 M], добавлен 23.06.2014

  • Цель маршрутизации - доставка пакетов по назначению с максимизацией эффективности. Построение алгоритмов поиска кратчайшего пути маршрутизации, расчёт пути с минимальным количеством переходов. Характеристики протокола RIP и построение маршрутных таблиц.

    курсовая работа [74,1 K], добавлен 26.08.2010

  • Разработка программного продукта для поиска максимально удалённых вершин в графе. Характеристика ориентированного, смешанного и изоморфного графов. Обзор способов представления графа в информатике. Алгоритм поиска пути. Графический интерфейс программы.

    курсовая работа [384,0 K], добавлен 10.01.2015

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

    реферат [39,6 K], добавлен 06.03.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.