- •1. Таблицы истинности.
- •2. Электрическая цепь с одной электрической лампой и ключами.
- •3. Конспект.
- •1. Определение графов
- •2. Виды графов.
- •2.1 Деревья.
- •2.2 Лес.
- •2.3 Разрезы.
- •3. Пути (циклы) графов.
- •3.1 Эйлеровы графы.
- •3.2 Гамильтоновы графы.
- •3.3 Ориентированные графы.
- •4. Матрицы графов.
- •5. Алгоритм и построение графов.
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.
Этот поток является максимальным. Если начальные данные целочисленны, то выполнение алгоритма Форда завершается за конечное число шагов.