Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ekzamen_mm.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
878.59 Кб
Скачать
  1. Алгоритм Прим, Краскал (назначение, пошаговая реализация).

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

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

Алгоритм Прима: Шаг 1. Выбираем Г1 из множества Г, вершинами которого являются вершины графа и который имеет 1 ребро, выбранное из рёбер графа Г, имеющее минимальный вес. На каждом последующем шаге к уже построенному графу добавляется 1 ребро. Шаг k. Если подграф Гk-1 уже построен, то граф Гk из множества Г получается из Гk-1 добавлением ребра L, обладающего следующими свойствами: 1. L – инцидентно какому-либо ребру Гk-1 2. При добавлении L к Гk-1 не образуется циклов 3. L имеет минимальный вес среди рёбер, удовлетворяющих свойствам 1 и 2.

Алгоритм Краскала: Шаг 1. Тот же, что и в алгоритме Прима. Шаг k. Если подграф Гk-1 уже построен, то граф Гk из множества Г получается из Гk-1 добавлением ребра L, обладающего следующими свойствами: 1. При добавлении L к Гk-1 не образуется циклов 2. L имеет минимальный вес среди рёбер, удовлетворяющих свойству 1.

  1. Алгоритм Флойда (назначение, пошаговая реализация).

Задача нахождения кратчайших цепей между всеми парами узлов в сети. Алгоритм Флойда.

Рассмотрим сеть, каждой дуге (u,v) которой поставлена в соответствие действительное число l(u,v), называемое длиной дуги. В зависимости от конкретного приложения это число может быть мерой физического расстояния, времени, стоимости или другого параметра. Длиной цепи называется сумма длин, взятая по всем дугам этой цепи.

Алгоритм Флойда:

  • Шаг 0: пронумеруем вершины графа G натуральными числами 1..n. обозначим через l0 матрицу, элементами которой являются длина дуги (если существует – число, нет – диагональные элементы = бесконечность). Введем матрицу S0 матрица будет размерности m на n. элементы ().

  • Шаг 1: пусть матрицs Lp и Sp найдены. Выделим элементы P строки и столбца матрицы Lp. Назовем эти множества элементов базовой строкой и базовым столбцом соответственно.

  • Шаг 2:Построим матрицы Lp+1 и Sp+1 по следующим правилам: элементы базовой строки и базового столбца переписываем без изменений; если Lp > Lp+1 + Lp, то Lp+1 = Lp+Lp+1, Sp+1 = Sp, в противном случае, Lp+1 = Lp, Sp+1 = Sp.

  • Шаг 3: алгоритм заканчивает свою работу когда построены матрицы Ln и Sn. Элемент Ln равны длине кратчайшей цепи из узла I в узел J а элементы Sn есть узел стоящий после узла I в этой цепи.

  • Замечание 1: если I элемент базового столбца = бесконечности, то для этой строки шаг 2 выполнять не нужно.

  • Замечание 2: если J элемент базовой строки = бесконечность, то не нужно выполнять шаг 2 для этой строки

  1. Алгоритм Форда-Фалкерсона (назначение, пошаговая реализация).

Сеть – конечный граф без циклов и петель, ориентированный в одном общем направлении от вершины S, являющейся истоком графа, к вершине Т, являющейся стоком графа. Максимальное количество вещества cij, которое может пропустить ребро I,j в единицу времени, называется его пропускной способностью. Количество вещества ij, проходящее через ребро ijв единицу времени называется потоком по ребру fij.

Свойства потоков по ребрам:

         Поток по каждому ребру не превышает его пропускную способность

         Количество вещества притекающего в вершину = количеству вещества вытекающего из нее.

Общее количество вещества, исходящего из истока s совпадает с общим количеством вещества, поступающего в сток t, и называется мощностью потока в сети.

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

Теорема Форда-Фалкерсона: мощность максимального потока пропущенного в сети = минимальной пропускной способности разреза (т.к. учитываются только прямые дуги)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]