рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Кратчайшие пути в графах

Кратчайшие пути в графах - раздел Математика, ОСНОВЫ ДИСКРЕТНОЙ МАТЕМАТИКИ   Рассмотрим Следующую Задачу. В Графе Г Выделены Две Вершины: ...

 

Рассмотрим следующую задачу. В графе Г выделены две вершины: b (начальная) и e (конечная). Требуется найти все пути минимальной длины из b в e (если e достижима из b) либо установить недостижимость.

Для решения этой задачи используется очень эффективный волновой алгоритм. Идея его простая. Допустим, что по дугам графа может распространяться сигнал, причем по каждой дуге сигнал проходит за единицу времени. Выпустим в начальный момент сигнал из вершины b, будем последовательно отмечать вершины, до которых сигнал дойдет за 1,2,3,… единиц времени пока не будет отмечена вершина e. Остается отметить дуги, которые сигнал прошел по пути от b к e. При этом если в некоторый момент сигналу распространяться некуда, а вершина e не помечена, то она недостижима из b. С помощью этого подхода можно решить близкую задачу: найти длины кратчайших путей от вершины b до всех вершин графа.

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

Прямой ход. На каждом шаге алгоритма вершины графа делятся на два подмножества – помеченных и не помеченных, причем на каждом шаге некоторые вершины переходят в класс помеченных. Пометками являются текущие состояния счетчика k. Также на каждом шаге формируется множество вершин – фронт волны (ФВ).

Шаг 0. k:=0, ФВ:={b}.

Шаг 1. Вершины из множества ФВ пометить числом k.

Шаг 2. Если {eÎФВ или ФВ=Æ} то прямой ход завершен иначе шаг 3.

Шаг 3. ФВ:={uÎV: u не помечена, $vÎФВ: (v,uE}, k:= k+1. Переход к шагу 1.

Если вершина e имеет пометку (ke), то реализуем обратный ход. На каждом шаге строится множество вершин «Возврат» (В) и отмечается некоторое семейство дуг.

Шаг 4. k:=k e, В:={e}.

Шаг 5. k:=k –1; отметить дуги, ведущие из вершин с пометкой k, в вершины, принадлежащие множеству В; В:={множество начальных вершин отмеченных дуг}.

Шаг 6. Если k=0 то конец иначе переход к шагу 5.

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

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

ОПРЕДЕЛЕНИЕ 24. Взвешенным графомназывается граф, каждой дуге которого сопоставлено неотрицательное число – вес дуги. Если дуги (a,b) в графе нет, то мы будем считать, что вес дуги бесконечный. «Обычный» граф это частный случай взвешенного графа, веса дуг в котором равны 1.

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

Для практики важную роль играет следующая задача. Найти путь, соединяющий вершину b с e, для которого минимальна сумма весов дуг (вес пути). Для решения этой задачи в середине 20 века было разработано множество эффективных алгоритмов. Опишем один из них (алгоритм Дейкстры). Существенное отличие от волнового алгоритма состоит в том, что в стандартной форме алгоритм Дейкстры строит один путь минимального веса даже в том случае, если их несколько.

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

Опишем алгоритм Дейкстры более формально.

Пометку вершины с номером i будем обозначать через q(i), на каждой итерации определена вершина с номером p* (базовая вершина) - это та из вершин, которая на данной итерации приобрела постоянную пометку. Будем использовать обозначение Г(i) – это множество вершин графа, до которых можно дойти по одной дуге из вершины с номером i.

Шаг 0. Полагаем q(b)=0, пометка вершины b постоянная, p*:= b, у остальных вершин пометки временные, равные ¥.

Шаг 1 (обновление пометок). Для всех вершин из множества Г(p*) с временными пометками q(i):=min{q(i), q(p*)+c(p*,i)} (c(p*,i) – вес дуги).

Шаг 2. p*:=вершина с минимальной временной пометкой, пометка вершины p* становится постоянной.

Шаг 3. Если {p*=e или процесс невозможно продолжить} то конец иначе переход к шагу 1.

Проще всего реализовать этот алгоритм в виде таблицы.

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

 

– Конец работы –

Эта тема принадлежит разделу:

ОСНОВЫ ДИСКРЕТНОЙ МАТЕМАТИКИ

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

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Основной принцип комбинаторики
  1.1.1 . От Москвы до Уфы можно добраться поездом, самолетом или теплоходом, а от Уфы до Чишмов – поездом, автобусом или на такси. Сколькими способами можно в совокупности добраться

Размещения с повторениями
  1.2.1 . Замок в автоматической камере хранения состоит из 4 дисков, на каждом из которых написаны буквы а, б, в, г, д, е. Сколько различных кодов можно получить? 1.2.2 . В

Размещения без повторений
  1.3.1 . Сколько словарей следует издать, чтобы можно было переводить тексты непосредственно с любого из шести языков на каждый из них? А если языков десять? 1.3.2 . Каков о

Перестановки
  1.4.1 .Сколькими способами могут встать в очередь 10 человек? 1.4.2 . Каков ответ в задаче 1.3.3, если студентов 20? 1.4.3 . Каков ответ в задаче 1.3.4, если разли

Сочетания (без повторений)
  1.5.1 .В шахматном турнире участвовали 10 человек. Сколько состоялось партий, если каждая пара игроков встретилась один раз? 1.5.2 .Из колоды карт (36 штук) игрок получает

Свойства биномиальных коэффициентов
  1.6.1. Докажите, что . Сделайте это четырьмя способами: по определению, по формуле и используя результаты задач 1.5.6 и 1.5.7. 1.6.2. Докажите, что . Сдел

Разбиения множеств
  Число сочетаний можно интерпретировать как число способов, которым n-элементное множество можно разбить на два подмножества, в одном из которых m, а во втором ( ) элем

Сочетания с повторениями
  1.8.1. В магазине продаются карандаши двух видов. Сколькими способами можно купить пять штук? А если надо купить 8 карандашей 4 видов? 1.8.2. Каков ответ в задаче 1.2.4, ес

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

Производящие функции
  По биному Ньютона (задача 1.5.7) коэффициентами многочлена являются величины . 1.10.1. Каков смысл коэффициентов при zm многочленов  

Использование рекуррентных соотношений
  1.11.1. Пусть f(n.m) – число сочетаний с повторениями из n по m (задача 8.4). Проверьте, что 1.11.2. f(n.0)=1, f(

Формула включений и исключений
  1.12.1. В группе 25 студентов, 15 занимаются лыжами, 12 – коньками, 8 и тем, и другим. Сколько студентов не занимается этими видами спорта? 1.12.2. (Обобщение) Проверьте, ч

Комбинаторные величины при больших значениях параметров
  1.13.1. Докажите, что при n≥2. 1.13.2. Докажите, что биномиальные коэффициенты возрастают при возрастании k от 0 до и убывают при возрастании k о

Булеан множества
  Каждое множество порождает новое множество несколько необычным образом. ОПРЕДЕЛЕНИЕ 1. Булеаном множестваA называется совокупность всех подмножеств множества A

Прямое произведение множеств
  ОПРЕДЕЛЕНИЕ 2. Прямым произведением множествA1, A2,…, An называется множество A1´A

Отношения на множествах
  ОПРЕДЕЛЕНИЕ 3. n-арным отношением на множествеA называется подмножество G прямого произведения An. Таким образом, n-арное отношение на A

Отображения (функции)
  С понятием «функция»в некоторых частных случаях вы познакомились в школе. Приведем общее определение. ОПРЕДЕЛЕНИЕ 7. Пусть A, B - множества. Отображением(ф

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

Счетные множества
  ОПРЕДЕЛЕНИЕ 15. Множество, равномощное множеству N, называется счетным. Иными словами счетными являются такие множества, элементы которых можно занумеровать н

Некоторые свойства бесконечных множеств
  Уже отмечалось, что конечное множество не равномощно своей части, в то же время, бесконечное множество может быть равномощным своей части. Оказывается, это характеристическое

Вопросы для самопроверки
  1. Что такое объединение, пересечение, дополнение, симметрическая разность множеств? 2. Какими алгебраическими свойствами обладают операции над множествами? 3. Что

Упражнения
  1. Существуют ли такие множества A,B,C, что 2. Справедливы ли следующие утверждения для любых A,B,C? А) Если A¹B и B¹ C, то

Компьютерные представления графов
  Естественно, графы представляются в виде некоторых наборов данных. Подобных представлений существует множество, у каждого есть свои достоинства и недостатки. Общий недостаток состои

Маршруты и связность
  ОПРЕДЕЛЕНИЕ 22.Маршрутом (путем)в графе называется последовательность вида , где v – вершины, e – дуги, . Этот маршрут соединяет вершины

Деревья
  ОПРЕДЕЛЕНИЕ 25.Лесомназывается неориентированный граф без циклов. Деревомназывается связный лес. Таким образом, дерево характеризуется тремя

ПРЕДЛОЖЕНИЕ.
1. Всякие две вершины дерева можно соединить единственной цепью. 2. Если в дереве не менее двух вершин, то у него не менее двух листов. Доказательство. 1. Поскольку дерев

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

Центр дерева
  Под расстоянием d(a,b) между вершинами неориентированного графа, как и ранее, понимается минимальное число дуг в пути, соединяющем эти вершины.

Минимальное остовное дерево(остов)
  Пусть некоторое семейство пунктов требуется связать сетью дорог. Известна стоимость прокладки дороги между теми парами пунктов, для которых это возможно. Стоимость прокладки сети до

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

Гамильтоновы графы
  Понятие гамильтонова графа очень близко к понятию эйлерова графа, но между ними пропасть, как вскоре выяснится! ОПРЕДЕЛЕНИЕ 28.Цикл в графе называется г

Графовые векторы
  Понятие степени вершины было введено выше. ОПРЕДЕЛЕНИЕ 29.Графовым вектором(иногда говорят о графовом разбиении) неориентированного графа называется

Паросочетания и реберные покрытия
  ОПРЕДЕЛЕНИЕ 30.Паросочетаниемв неориентированном графе называется семейство дуг, попарно не имеющих общих вершин. Очевидно, что подмножество паросоч

Паросочетания в двудольных графах
  Двудольные графы упоминались ранее, но формального определения не было. ОПРЕДЕЛЕНИЕ 32.Граф Г называется двудольным, если множество его вершин являе

Правильная нумерация вершин графа
  ОПРЕДЕЛЕНИЕ 33.Нумерация вершин в ориентированном графе называется правильной(или топологической), если наличие дуги (vi,vj

Сетевые графики
  ОПРЕДЕЛЕНИЕ 34.Сетевым графикомназывается ориентированный взвешенный ациклический граф с единственным истоком и единственным стоком. Сетевые графики

Потоки в сетях
  Весам дуг можно дать иную интерпретацию, в результате возникает интересная и важная задача. Пусть в ориентированном взвешенном графе выделены две вершины (b – начальная и

Вопросы для самопроверки
  1. Что такое граф? Из чего он состоит? Какие виды графов вы знаете? 2. Какие вершины, дуги называются смежными? Инцидентными? 3. Какие графы называются изоморфными

Упражнения
  1. Существует ли неориентированный граф, степени всех вершин которого различны? 2. Постройте неориентированный граф, степени вершин которого равны 2,2,2,3,3,4,5. Существует

Предметный указатель
    n-арное отношение на множестве, 21 алгоритм Дейкстры, 50 алгоритм построения матрицы достижимости, 48

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги