- •Часть 2
- •Предисловие
- •Введение
- •1. Теория графов
- •1.1. Основные определения
- •1.2. Задачи поиска маршрутов (путей) в графе (орграфе)
- •1.3. Деревья и циклы
- •1.4. Транспортные сети
- •1.4.1. Поток в транспортной сети
- •1.4.2. Орграф приращений
- •Пример 1.21.
- •1.4.3. Алгоритм построения максимального потока в транспортной сети
- •Вопрос11. Укажите графы, которые всегда являются эйлеровыми:
- •Вопрос 12. Какая из нижеперечисленных формул для цикломатического числа является правильной?
- •Вопрос 13. Чему равна ?
- •Вопрос 36. Что является дополнением простого полного графа Кn?
- •Вопрос 37. Циклом называется:
- •Вопрос 38. Какой путь называется минимальным?
- •Вопрос 39. По таблице выяснить, какие из вершин являются центрами графа?
- •1.5. Сетевое планирование и управление
- •2. Теория автоматов
- •2.1. Конечные автоматы
- •2.2. Машина Тьюринга
- •3. Расчетно-графическое задание. Часть 2
- •3.1. Правила выполнения и оформления расчетно-
- •3.2. Задачи расчетно-графического задания. Часть 2
- •Пример выполнения расчетно-графического задания. Часть 2
- •Оглавление
1.4.2. Орграф приращений
Выделим для заданной транспортной сети D и допустимого потока в этой сети орграф приращений I(D, ), имеющий те же вершины, что и сеть D. Каждой дуге x = (v, )X транспортной сети D в орграфе приращений I(D, ) соответствуют две дуги: x и x` = (,v) - дуга, противоположная по направлению дуге x. Припишем дугам x = (v, )X, x` = (, v) орграфа приращений I(D, ) длину l:
т.е. орграф I(D, ) является нагруженным. При этом, очевидно, что длинна любого пути из v1 в vn орграфе I(D, ) равна либо 0, либо .
Пример 1.21.
Построить орграф приращений для данной транспортной сети и построенного полного потока в этой сети (рис. 1.30).
Решение.
Напомним, что орграф приращений имеет в два раза больше дуг, чем исходная транспортная сеть. Для дуги прямой направленность вес равен 0, если дуга не является насыщенной, - в противном случае. Для дуги обратной направленности вес равен 0, если поток по ней не равен нулю, - в противном случае. На рисунке 1.31 изображен орграф приращений, соответствующий данному потоку в исходной транспортной сети.
|
|
1.4.3. Алгоритм построения максимального потока в транспортной сети
Шаг 1. Полагаем i = 0. Пусть 0 - любой допустимый поток в транспортной сети D. (например, полный; можно начинать с нулевого потока: 0 (x), xX).
Шаг 2. По сети D и потоку i строим орграф приращений I(D, i).
Шаг 3. Находим простую цепь i, являющуюся минимальным путем из v1 в vnв нагруженном орграфе I(D, i) (например, используя алгоритм Форда - Беллмана). Если длина этой цепи равна , то поток i максимален, и работа алгоритма закончена. В противном случае увеличиваем поток вдоль цепи i на максимально допустимую величину ai> 0, где aiZ(прибавляя ее для каждой дуги xX, через которую проходит цепь i, к уже имеющейся величине потока по дуге x, если направления x и i совпадают, и, вычитая, если направления x и i противоположны).
Пример 1.22.
Выяснить является ли полный поток максимальным (рис. 1.32), если нет, то дополнить его до максимального.
|
Решение. Для решения используем алгоритм Форда-Беллмана нахождения минимального пути в нагруженном орграфе.
|
Построим матрицу длин дуг C(D) и -матрицу (табл. 1.4).
Таблица 1.4
|
v1 |
v2 |
v3 |
v4 |
v5 |
v6 |
|
|
|
|
|
|
|
v1 |
|
|
0 |
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
v2 |
0 |
|
|
|
0 |
|
|
|
|
0 |
0 |
0 |
0 |
v3 |
0 |
0 |
|
0 |
0 |
|
|
|
0 |
0 |
0 |
0 |
0 |
v4 |
|
0 |
0 |
|
|
0 |
|
|
|
|
|
|
0 |
v5 |
|
0 |
0 |
|
|
0 |
|
|
|
|
0 |
0 |
0 |
v6 |
|
|
|
0 |
0 |
|
|
|
|
|
|
0 |
0 |
Поскольку
,
то существует нулевой путь из источника
v1
в сток v6.
Значит, полный поток не является
максимальным. Дополним его до максимального.
Для этого найдем путь нулевой длины:
Получаем, что k1 = 4. Таким образом, минимальное число дуг в пути среди всех нулевых путей из v1вv6 в орграфе приращений равняется 4. Определим теперь последовательность номеров i1, i2, i3, i4, i5,где i1 = 6.
Получаем, что в качестве такой последовательности надо взять номера 1, 3, 2, 5, 6, так как
Тогда v1v3v2v5v6 – искомый нулевой путь из v1вv6 . Дуги, совпадающие по направлению с дугами исходной транспортной сети помечаем знаком «+», не совпадающие – знаком «-».
Получаем,
Теперь необходимо найти величину,
которую будем перемещать по полученному
контуру. Для этого, каждому ребру в
контуре поставим в соответствие число
(i,
j),
которое находим по следующему правилу:
если направление ребра (i,
j)
в контуре
совпадает с направлением ребра x
в транспортной сети, то (i,
j)=с(х)-(х);
если направление ребра в контуре не
совпадает с направлением ребра в
транспортной сети, то (i,
j)=(х).
Итак, из чисел (i,
j)
найдем
минимальное:
min{8-2=6, 2, 6-2=4, 9-4=5}=2.
|
Перемещаем по контуру 2. В результате получаем поток, изображенный на рисунке 1.33. Заметим, что в полученной транспортной сети не существует пути из источника в сток, по которому возможно пройти. Следовательно, построенный поток в транспортной сети является полным и = 11. Проверим, является ли он максимальным. |
Построим матрицу длин дуг C(D) и -матрицу (табл. 1.5).
Таблица 1.5
|
v1 |
v2 |
v3 |
v4 |
v5 |
v6 |
|
|
|
|
|
|
|
v1 |
|
|
0 |
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
v2 |
0 |
|
0 |
|
0 |
|
|
|
|
|
|
|
|
v3 |
0 |
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
v4 |
|
0 |
0 |
|
|
0 |
|
|
|
|
|
|
|
v5 |
|
0 |
0 |
|
|
0 |
|
|
|
|
|
|
|
v6 |
|
|
|
0 |
0 |
|
|
|
|
|
|
|
|
Так
как
,
то нулевого пути из v1
в v6
не существует. Значит, поток
является максимальным.
Проверочный тест по теме «ТЕОРИЯ ГРАФОВ»
Вопрос 1.Чему равно цикломатическое число графа
|
|
Вопрос 2.Чему равно цикломатическое число графа |
|
Вопрос 3.Чему равно цикломатическое число графа
|
|
Вопрос 4.Чему равно цикломатическое число графа |
|
Вопрос 5.Чему равно цикломатическое число графа |
|
Вопрос 6.Чему равно цикломатическое число графа |
|
Вопрос 7.Чему равно цикломатическое число графа |
|
Вопрос 8.Чему равно цикломатическое число графа |
|
Вопрос 9.Чему равно цикломатическое число графа |
|
Вопрос 10.Чему равно цикломатическое число графа |
|
