Самостоятельная работа на тему: > Студент группы №233-21 Ат-Сервис Факультета "Компьютерный инжиниринг " Ражабов Хаётжон Проверил


Download 139.58 Kb.
bet1/5
Sana03.02.2023
Hajmi139.58 Kb.
#1156430
TuriСамостоятельная работа
  1   2   3   4   5
Bog'liq
САМОСТОЯТЕЛЬНАЯ РАБОТА


Министерство по развитию информационных технологии и коммуникации Республики Узбекистан


Ташкентский Университет информационных технологии имени Мухаммада ал-Хоразми
Предмет: <<Структуры данных и алгоритмы>>
САМОСТОЯТЕЛЬНАЯ РАБОТА
На тему: <<Нахождение кратчайших путей в графах. Алгоритм Беллмана-Форда>>


Выполнил:
Студент группы №233-21 Ат-Сервис
Факультета “Компьютерный инжиниринг ”
Ражабов Хаётжон
Проверил:
Мухсинов Ш.Ш

Ташкент 2022


САМОСТОЯТЕЛЬНАЯ РАБОТА
На тему: Нахождение кратчайших путей в графах. Алгоритм Беллмана-Форда.


План:

Алгоритм Форда-Беллмана.

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

  2. Реализация.

  • Простейшая реализация.

  • Улучшенная реализация.

  • Восстановление путей.

3. Доказательство алгоритма.

4. Случай отрицательного цикла.


5. Задача






Алгоритм Форда-Беллмана.




Пусть дан ориентированный взвешенный граф  с  вершинами и  рёбрами, и указана некоторая вершина  . Требуется найти длины кратчайших путей от вершины  до всех остальных вершин.
В отличие от алгоритма Дейкстры, этот алгоритм применим также и к графам, содержащим рёбра отрицательного веса. Впрочем, если граф содержит отрицательный цикл, то, понятно, кратчайшего пути до некоторых вершин может не существовать (по причине того, что вес кратчайшего пути должен быть равен минус бесконечности); впрочем, этот алгоритм можно модифицировать, чтобы он сигнализировал о наличии цикла отрицательного веса, или даже выводил сам этот цикл.
Алгоритм носит имя двух американских учёных: Ричарда Беллмана (Richard Bellman) и Лестера Форда (Lester Ford). Форд фактически изобрёл этот алгоритм в 1956 г. при изучении другой математической задачи, подзадача которой свелась к поиску кратчайшего пути в графе, и Форд дал набросок решающего эту задачу алгоритма. Беллман в 1958 г. опубликовал статью, посвящённую конкретно задаче нахождения кратчайшего пути, и в этой статье он чётко сформулировал алгоритм в том виде, в котором он известен нам сейчас.
Пусть дан ориентированный взвешенный граф  с  вершинами и  рёбрами, и указана некоторая вершина  . Требуется найти длины кратчайших путей от вершины  до всех остальных вершин.
В отличие от алгоритма Дейкстры, этот алгоритм применим также и к графам, содержащим рёбра отрицательного веса. Впрочем, если граф содержит отрицательный цикл, то, понятно, кратчайшего пути до некоторых вершин может не существовать (по причине того, что вес кратчайшего пути должен быть равен минус бесконечности); впрочем, этот алгоритм можно модифицировать, чтобы он сигнализировал о наличии цикла отрицательного веса, или даже выводил сам этот цикл.
Алгоритм носит имя двух американских учёных: Ричарда Беллмана (Richard Bellman) и Лестера Форда (Lester Ford). Форд фактически изобрёл этот алгоритм в 1956 г. при изучении другой математической задачи, подзадача которой свелась к поиску кратчайшего пути в графе, и Форд дал набросок решающего эту задачу алгоритма. Беллман в 1958 г. опубликовал статью, посвящённую конкретно задаче нахождения кратчайшего пути, и в этой статье он чётко сформулировал алгоритм в том виде, в котором он известен нам сейчас.



Download 139.58 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling