Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по прикладной математике1.doc
Скачиваний:
46
Добавлен:
02.05.2014
Размер:
118.27 Кб
Скачать

5. Алгоритм и построение графов.

Существует множество вариантов алгоритмов построения графов. Перечислим некоторые из них:

  • Максимальные потоки в сети:

  • Алгоритм нахождение увеличивающей цепи;

  • Алгоритм отыскания максимального потока в сети.

  • Задачи о кратчайшем пути между двумя вершинами графа:

  • Алгоритм поиска кратчайшего пути.

  • Алгоритм построения деревьев:

  • Алгоритм построения минимального покрывающего дерева.

  • Задачи сетевого планирования:

  • Алгоритм получения правильной нумерации вершин;

  • Алгоритм расчета ранних сроков начал и окончаний работ;

  • Алгоритм построения критического пути;

  • Алгоритм вычисления поздних сроков наступления событий.

Рассмотрим один из алгоритмов:

Алгоритм отыскания максимального по­тока в сети:

Данный алгоритм, использующий увеличивающие цепи, называется алгоритмом Форда. Он состоит из следую­щих шагов.

1. Выбирают некоторый поток f (а) из s в t (напри­мер, f (а) ≡ 0).

2. Находят классы увеличивающих (А+) и уменьшаю­щих (А-) дуг.

3. Применяют алгоритм поиска увеличивающей цепи из s в t. Если такой цепи нет, то поток f - максималь­ный. Если цепь С найдена, то перейти к шагу 4.

4. Находят min (Δf (α)), min f (α).

5. Пусть δ > 0 – наименьшее из этих чисел.

6. Увеличивают поток вдоль цепи С на δ и пере­ходят к шагу 2.

Очевидно, что построенный таким образом поток удов­летворяет следующим условиям:

f (α) ≤ с(α), div f (p)=0 при p = s, p=t.

Этот поток является максимальным. Если начальные дан­ные целочисленны, то выполнение алгоритма Форда за­вершается за конечное число шагов.