Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Задача о кратчайших путях.

Совершенная дизъюнктивная нормальная форма. | Совершенная конъюнктивная нормальная форма. | Минимизация ДНФ. | Табличный способ задания. | Графический способ задания. | Логика предикатов. Кванторы. | Пример тождественно истинного предиката: . | Элементы теории графов. | Матрицы графов. | Некоторые общие понятия теории графов. |


Читайте также:
  1. Cитуационная задача.
  2. Cитуационная задача.
  3. Cитуационная задача.
  4. А. ЗАДАЧАЛА ЧЕЛОВЕКА.
  5. Анализ экономико-финансовых показателей предприятия. Общие сведения о задачах
  6. Введите перечень работ, установите длительность и связи между задачами
  7. Вторая позиционная задача (построение линии пересечения плоскостей общего положения)

Пусть дан граф с неотрицательными весами на дугах. Представляют интерес две задачи:

  1. Какова длина кратчайшего пути, ведущего из одной вершины в другую? Каков этот путь?
  2. Каковы длины кратчайших путей от выделенной вершины до всех остальных вершин графа?

Алгоритм, который будет описан, называется алгоритмом Дейкстры. Дейкстра Еусгер родился в 1930 году в Нидерландах. Считается одним из основоположников программирования как учебной дисциплины. С 1984 года работает в Техасе.

Согласно алгоритму отыскивается кратчайшее расстояние от вершины v0 к вершине z простого взвешенного графа G(V, E). Если граф не является простым, то его можно сделать таковым, отбрасывая все петли заменяя каждое множество параллельных ребер кратчайшим ребром (ребром с наименьшим весом). Обозначим через wi j - вес ребра (vi, vj). Начинаем от вершины v0 и просматриваем граф в ширину, помечая вершины vi значениями-метками их расстояний от v0. Метки могут быть временными или окончательными

Временная метка вершины vj – это минимальное расстояние от вершины v0 до вершины vj, когда в определении пути на графе учитываются не все маршруты из v0 в vj.

Окончательная метка – это минимальное расстояние от вершины v0 до вершины vj. Таким образом, в каждый момент времени работы алгоритма некоторые вершины будут иметь окончательные метки, а некоторые – временные. Алгоритм заканчивается, когда вершина vn получит окончательную метку, т.е. расстояние от v0 до z..

Каждой вершине vk присваивается упорядоченная пара (m(vk), vr). Первая координата этой пары является меткой вершины vk, а вторая координата – предыдущую вершину пути от v0 к vk.

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

1. Когда вершина vk получит постоянную метку m(vk) каждой вершине vj, смежной к vk, присваивается новая временная метка m(vj), равная минимуму между ее старой временной меткой и числом (wk j + m(vk)).

2. Смежная с vk вершина, получившая наименьшую временную метку, делается постоянной (имеет постоянную метку).

3. Если вершина z не имеет постоянной метки, то возвращаемся к пункту 1.

4. Если z имеет постоянную метку m(z), то эта метка является кратчайшим расстоянием от v0 к z

5. Для нахождения пути надо рассмотреть постоянные метки в обратном направлении от z к v0.

П р и м е р.

 

Рассмотрим пример варианта поиска кратчайшего пути поиска кратчайшего пути на графе, представленном на рисунке.

. 10 z

5 2

v 1 v4

7 1 8 3 6

3 3 5

 

 

v0 2 v2 5 v3 7 v5

 

 

Процесс назначения меток вершинам графа на каждом шаге представляется в виде таблицы.

 

 

 

Рамочками выделены окончательные метки, т.е. расстояние от них до v0 (вторая координата – номер предыдущей вершины). По такой таблице легко восстановить путь перемещения от v0 к z и обратно. Кратчайшим путем является перемещение v0, v2, v1, v3, v4, z. Кратчайшее расстояние равно 11.


Дата добавления: 2015-07-20; просмотров: 54 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Взвешенные графы и алгоритмы поиска кратчайшего пути.| Понятие автомата.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)