- Дипломы
- Курсовые
- Рефераты
- Отчеты по практике
- Диссертации
Алгоритм Дейкстры
| Код работы: | W011834 |
| Тема: | Алгоритм Дейкстры |
Содержание
НИС Введение в специальность
1
Алгоритм Дейкстры
Свинцицкая Е.Б., руководитель: Белов А.В.
Аннотация.
Фаил является отчетом по работе, проделаннои в рамках научно-исследовательского семинара ?Введение в специальность?. Целью данной работы является изучение алгоритма Дейкстра, раз-работка и оттестрирование программы, которая формирует наиболее короткий путь из вершины А в вершину В.
Для цитирования: Свинцицкая Е.Б., "Алгоритм Дейкстры", НИС, 0:0 (2000), 1–0.
Об авторах:
Свинцицкая Екатерина Борисовна, студент,
НИУ ВШЭ МИЭМ им. А.Н.Тихонова
ул. Мясницкая, 20, г.Москва, Россия, 101000
e-mail: ebsvintsitskaya@edu.hse.ru
Белов Александр Владимирович, канд. техн. наук, доцент,
НИУ ВШЭ МИЭМ им. А.Н.Тихонова
ул. Мясницкая, 20, г.Москва, Россия, 101000
e-mail: avbelov@hse.ru
Введение
Главной задачей данного исследовательского проекта является написание програм-мы , которая реализует нахождение кратчайшего пути между двумя вершинами графа с помощью алгоритма Дейкстры, также известного как алгоритм расстанов-ки меток. Программа написана на языке СИ (используется Visual Studio 2017). В первой части рассматривается актуальность и история данной теории, далее по-дробно описывается суть алгоритма Дейкстры. Третья часть содержит описание программы, в четвертой рассказывается о влиянии алгоритма на развитие теории графов. В заключении будет сказано об основных результатах проделанной работы.
1. История появления и актуальность алгоритма Дейкс-тры
Данный алгоритм изобрел нидерландский ученый Эдсгер Вибе Дейкстра в 1959 году. За достижения в области динамического программирования и теории графов был удoстоен премии Тьюринга.
Раздел дискретной математики, изучающий графы, применяется в решении за-дач, связанных с геоинформационными системами, со строительством дорог, с се-тевыми коммуникациями и другими сферами жизни людей.
Актуальность теории нахождения минимального расстояния растет , поскольку ранее алгоритм Дейкстры и ему подобные использовались только при вычислении
1
2 НИС Введение в специальность
оптимального пути из одного пункта в другой. Тогда как в настоящее время ал-горитмы нахождения кратчайшего пути широко используются в решении задач в таких областях как система автопилота, картографические сервисы, передача ин-формационных пакетов в интернет и многих других.
2. Метод Дейкстры и область его применения
Граф G – объект, который состоит из двух конечных множеств:
1. Множество вершин V
2. Множество ребер E
G = (V, E) [1]
Ребро соединяет две вершины графа, которые называются концевыми вершина-ми этого ребра. Для каждого ребра концевые вершины разные (то есть не суще-ствует петель в графе). Две вершины могут быть соединены лишь одним ребром или не соединены.
Этот алгоритм применяется только для связных графов, не имеющих ребер от-рицательного веса. Но это замечание не уменьшает популярность алгоритма, так как в большинстве практических случаях данное условие выполняется. [2]
Примечание: Связный графом называется граф, в котором любые две вершины можно соеденить между собой.
Метод основан на присваивании вершинам временных меток, которые обознача-ют верхний предел длины пути от исходной вершины до рассматриваемой (предел длины пути стремится к бесконечности). На каждом шаге итерационной процедуры величины этих меток уменьшаются, и одна из временных меток переходит в ста-тус постоянной. Когда метка становится постоянной, она равна точной наименьшей длине пути от начальной вершины до текущей.
1. Первый шаг. (Инициализация меток)
Метке исходной вершины присваивается значение 0 и статус посещенной, осталь-ным меткам – статус не посещенной и число, стремящееся к бесконечности (максимально большое). Этим мы показываем, что расстояния от исходной вершины до остальных еще не известны. Пусть A – исходная вершина, A = p (p – номер вершины с посещенной меткой)
2. Второй шаг. (Обновление меток)
Изменяем метки соседей вершины с постоянной меткой: Пусть l(Xi) – значе-ние длины от исходной вершины то текущей i ; m[p][ Xi] – расстояние между текущей вершиной и вершиной с посещенной меткой; Тогда l[i] = minimal(l[i], l[p] + m[p][i]);
3. Третий шаг. (Меняем статус метки на ?посещенный?)
Среди всех вершин, которые имеют не посещенные метки, выбираем ту, у ко-торой она минимальна (точку, расстояние до которой является минимальным) и меняем ее метку на ?посещенную?. Тогда p = Xi .
2
НИС Введение в специальность
3
4. Четвертый шаг.
Четвертый шаг. Пусть B – конечная вершина. Тогда если p = B, следовательно l(B) – длина минимального пути, если нет – переходим ко второму шагу.
Подробный алгоритм можно изучить в книге "Теория графов. Алгоритмический подход"(Глава 8, пункт 2, 177 - 183 стр.). [3]
3. Реализация решения задачи
При создании программы были использованы некоторые стандартные функции биб-лиoтек < iostream.h>, |
Для получения полной версии работы нажмите на кнопку "Узнать цену"
| Узнать цену | Каталог работ |
Похожие работы:

