math-st854_7 / Вся высшая математика. Том 7_Краснов, Киселев и др_Учебник_2006 -208с
.pdf126 ---Гпuа LXX.Введение в теорию rрафов
в соответствующих вершинах и лежащими в соответствующих плоскостях, при этом для изображения петель будем брать окружности, касающиеся l, а для остальных ребер - полуокружности..,. . Ясно, что данная ·конструкция дает требуе мую укладку графа.
Теорема 1 6. Граф является планарным тогда и только тогда, когда он укладывается
на сфере. |
' |
Необходимость. |
Имея укладку графа на сфере, выберем на сфере точку N так, |
чтобы она не совпадала ни с одной из вершин и не лежала ни на одном из ребера.
Через противоположную точку сферы проведем к ней касательную плоскость и осуществим стереографическую проекцию сферы на данную плоскость с центром
в точке N : каждаяа .точка Т сферы проецируется в точку пересечения луча NT с плоскостью При данном отображении жордановал кривая на сфере переходит в жордановую кривую на плоскости. Стереографическая проекция устанавливает взаимно .однозначное соответствие между сферой с выколотой точкой N и плоскостью; nоэтому граф, nолученный при проектировании, - плоский (его ребра имеют общие точки только в соответствующих вершинах) и изоморфен исходному графу, который, таким образом, ямяется планарным.
Достаточность доказывается обратным ходом рассуждений. ..,.
§ 1 1 . Формула Эйлера
Связным множеством (на плоскости) называется такое множество, любые две точ ки которого !>fОЖНо соединить жордановой кривой, целиком лежащей в данном множестве. Примеры связных множеств: многоугольник, круг, кольцо. Пример несвязного (т. е. не являющегос.э: связным) множества: объединение двух непересе кающихся кругов. Грань плоского графа - связная часть плоскости, ограниченная ребрами графа и не содержащая внутри себя других ребер. Среди всех граней графа
ровно одна является неограниченной, ее называют внешней. Граф, изображенный
на рис. 25 а, имеет три грани, внешняя грань помечена цифрой 3. У плоского ациклического графа только одна грань - внешняя. Заметим, чть планарный граф можно так изобразить на плоскости, что внешней будет любая его наперед заданная
грань. Вот как это можно сделать. От nроизвольной плоской укладки данного графа следует перейти к сферической (проектируя плоскость вместе с плоским
графом на какую-либо сферу, касающуюся плоскости); далее осуществить стерео
графическую |
проекцию с центром во внутренней точке выбранной грани, |
при |
этом данная |
грань перейдет во внешнюю грань полученного плоского графа. |
|
На рис. 25 приведено три варианта плоской укладки одного и того Же графа. |
|
Теорема 17 (Л. Эйлер, 1758 г.). Для любого связного плоского графа справедливо соот
ношение
n - m + f = 2, |
( 1) |
где n, т, f - число вершин, ребер, граней соответственно.'
128 ---1'!18118LXX. ме 1 теорм10 rрафов
Следствие 3. Для любого простого связного планарного графа с n 3 вершинами и т
ребрами выполняется неравенство т 3n - 6.
<111Рассмотрим какую-нибудь плоскую укладку рассматриваемого графа. Если в графе всего два ребра, то выполнение неравенства проверяется непосредственно;
поэтому будем считать, что т 3 . Пусть у (плоского) графа f граней, а i-я грань
ограничена тi ребрами (i = 1, . . . , f). Поскольку в рассматриваемом графе нет
петель и кратных ребер, . а ребер не меньше 3, то V i тi 3 и
Lf: тi 3/. i=l
Если ребро графа является мостом, то оно входит в границу только внешней грани, в противном случае ребро входит в границу ровно дВух граней. Значит, при вычислении суммы 2:i тi каждое ребро графа учитывается не более двух раз и
|
Lf: mi 2m. |
|
|
|
i=l |
|
|
Следствием полученных оценок для 2: mi является неравенство |
3f 2m , или, |
||
с учетом формулы Эйлера; 3(m · |
n + 2) 2m, |
откуда т 3n - 6 . |
_. |
Следствие 4. В любом простом планарном графе есть вершина степени не больше 5.
<111Достаточно доказать утверждение для простого плоского связного ·графа |
||
G (V, Е), в котором число вершин больше 6. |
Испольgуя предыдушее след- |
|
ствие (вместе с его обозначенияМи), имеем: т 3n 6. Предположим противное |
||
тому, что требуется доказать: V Vi Е V р(щ) 6 ; |
тогда, применяя лемму о руко |
|
пожатиях, получим: |
|
|
n |
|
|
2m = L: р(щ) 6n, |
||
i=l |
|
|
или т 3n, что противоречит следствию 3. _. |
|
|
Следствие 5. Граф К5 не является планарным. |
|
|
<111Действительно, в полном графе Ks n = 5 вершин й т = С = 10 ребер_.; неравенство следствия 3 не выполняется - стало быть, граф К5 не планарен.
Следствие 6. Граф К3,3 не является планарным.
<111В полном двудольном графе Кз,з n = 6 вершин и т = 9 ребер; если бы этот |
|
граф был Планарным, то его плоская укладка содержала бы f |
т - n + 2 = 5 |
130 -------------------Глава LXX.. Введение в теорию графов
Рис. 28. Орrраф его основание
(неориентированный) граф (V, Е) , который получаетСя из G заменой дуг ребрами
(каждая дуга (и, v) заменяется ребром {и, v}). Пример - на рис. 28. Орграфы
называются изоморфными, если существует изо орфизм между их основаниями, сохраняющий порядок вершин на каждой дуте.
Через Г(v) обозначим множество вершин, к которым ведут дуги с началом
в вершине v: Г(v) = {и Е V 1 (v, и) Е А}. Число таких дут называют полустепенью исхода вершины v: p(v) = IГ(v)l. Вершину с нулевой полустепенью исхода
называют стоком. |
. |
|
. Через г-1(v) |
обозначим множество вершин, из которых ведут дуги к вершине |
|
v: г-1(v) = {и Е V 1 (и, v) Е А}. Число таких дуг называют полустепенью захода |
||
вершины v: {t(v) = IГ-1(v)l. Вершину с нулевой полустепенью захода называют |
||
источником. |
|
|
Степенью вершины орграфа называют сумму полустепеней исхода и захода: |
||
|
. |
способами число дут орграфа (V, А), |
р |
||
р(v) = +р-(v) + --:+(v). Подсчитав двумя |
||
получим следующее утверждение. |
|
|
Лемма о рукопожатиих для орграфов |
|
|
|
IAI = 2:p(v) = L{l(v). |
|
|
vEV |
vEV |
Вполне очевидным образом переносятся на случай ориентированных графов такие понятия (извесцrые по предыдущим параграфам этой главы), как смежность вершин, матрица смежности, простой граф и многие другие. Термин маршрут
заменим термином путь. Итак, путь в орrрафе - Последовательность дуг вида
которую будем записывать также в виде v0 -+ v1 -+ . . . -+ Vm и называть путем из Vo в Vm .
§ 1 4. Нахождение кратчайших путей в орграфе
Пусть G = (V, А) - взвешенный орграф, т. е. каждой его дуге |
е = (и, v) Е А |
||||
весом. Вес пути Р - сумма весов его дуг: |
J.t( |
= J.t( |
|
v), |
называемое ее |
поставлено в соответствие неотрицательное число |
е) |
и, |
|
||
J.t(P) = LJ.t(e). |
|
|
|
|
|
еЕР |
|
|
|
|
|
Кратчайшим путем из вершины s в вершину t назовем путь минимального веса, |
|||||
ведущий из s в t, а под расстоянием между вершинами s и t |
будем понимать вес |
§ 14. HaxoJfД811118кратч Аwмх nутей 1 орrра |
------------ |
||
а фе |
|
1 |
31 |
|
|
|
|
этого пути: |
р : 8-+. . .-+t |
|
|
d(8, t) |
р.(Р). |
|
|
= min |
|
Вес тривиального (т. е . не содержащего дуг) пути считаем равным нудюо о . , поэтому d(8, 8) О . Если не существует пути из 8 в t, то полагаем: d(8, t) = Очевидна
практическая значимость задачи нахождения кратчайших nутей в ориентирован-
ном rрафе.
-
Алгоритм Е. Дейкстры (1 959 г.)
Данный алгоритм находит кратчайшие пути от произвольной фиксированной вер шины орrрафа. Алгоритм представляет собой ,итерационную процедуру, на каждом шаге которой каждой вершине v сопоставляется пометка l(v) , которая является8 либо постоянной и равной при этом расстоянию d(8, v) от начальной вершины до данной вершины, либо временной - числом, являющимся оценкой: сверху для d(8, v) . В результате каждой итерации оценки уточняются, и при этом ровно одна
временная пометка (а именно - наименьшая) переходит из разряда временных в разряд постоянных (после чего уже не меняется) .
Перед первой итерацией начальная верШина имеет постоянную пометкуо о . 1(8) = О, у остальных вершин nометки временные и nолагаются равными Итерация алгоритма состоит в просмотре вершин v с временными пометками, к которым ведут дуги из вершины р - вершины, последней получившей по стоянную пометку (для первой итерации р = 8). Пусть а l(p) + р.(р, v ) . Если окажется, что l(v) > а , то а . будет новым значением l(v) (временная пометка данной вершины уменьшаетсЯ) .
Алгоритм заканчивает рабоТу, когда заданная конечная вершина t получает постоянную пометку.
Более детальное описание алгоритма (с использованием конструкций Си,
а также математической символики) -:- на рис. 29 (c. l32).
·Обоснование коррекТности алгоритма Дейкстры
Алгоритм работает таким образом, что после каждой итерации пометка каждой вершины v есть вес кратчайшего из тех путей из 8 в v, в которых предпоследняя
вершина имеет постоянную пометку. Пусть после очередной итерации вершина v* получает постоянную пометку. Достаточно доказать, что кратчайший путь из 8 в v*
проходит через вершиныs с постоянными пометками. Предположим противное: кратчайший путь Р из в v* проходит через некоторую вершину с временной
nометкой:
Р : s -+ s1 -+ . . . - +·8k -+ w -+ . . . -+ v*,
пусть w - nервая такая вершина. Тогда
р.(Р) = 2:::р.(е) > р.(8, 81) + . . . + p.(8k, w). |
|
|
еЕР |
|
|
Таким образом, существует путь из 8 в w , проходящий только через вершины |
||
с nостоянными nометками и имеющий меньший вес, чем nуть из |
8 |
в v* , что |
противоречит выбору v• .
132 -------------------Гnава LXX. теорwо rрафов |
||
|
|
Вмдение 1 |
1* Нахождение кратчайшеrо пу-rи между двумя: вершииами (s и t) *1 |
||
1* |
V - множество вершииrрафа |
*1 |
1* |
s - начальная: вершииа |
*1 |
1* t - ковечвая: вершива |
*1 |
|
1* |
l - пометки вершин |
*1 |
1* |
Расставовка начальных пометок *1 |
|
l (s ) =O; |
|
|
for (v EV) if (v ! =s) l (v)=oo ; |
|
|
1* |
М множество временных пометок *1 |
|
M=V\{ s } ; |
|
|
1* |
р - вершииа , последвей получившая: постоя:нвую пометку *1 |
p=s ;
while (р ! =t)
{
for (vE М n Г(р))
{
a=l (p) +p. (p,v) ; if (a<l(v) )
{ 1* fJ(v) - :вершииа, из которой идет дуrа в V*/ 1* (в кра-rчайшем пути) *1 l (v) =a; O(v)=p ;
}
}
l (v* ) =minl (v) ;
vEM
1* пометка v* стая:овится: постоя:нвой *1
М=М\{v* } ; p=v* ;
}
d(s ,t)=l (t) ; 1* расстояние между s и t ; *1
1* кратчайший путь : s - + . .. -+ iJ(O(t)) -+ O(t) -+ t *1
Рис. 29. Алгоритм Дейкстры нахождения кратчайшего пути в орrрафе
Трудоемкость алгоритма Дейкстры
Пусть граф содержит n вершин. На каждой итерации число сложений не превы Шает количества временных пометок, которое в начале работы алгоритма равно n 1, а с каждой итерацией уменьшается на единицу. Таким образом, общее число сложений не более
(n -1) + (n - 2) + . . . +1 = n(n --1) . 2
Операции сравнения выполняются как при пересчете пометок, так и при нахо ждении минимальной временной пометки; нетрудно подсчитать, что их число не превосходит n(n -1) . Таким образом, трудоемкость алгоритма оценивается как
§ 14. |
Нахождение кратчаilwих nyтeil в орграфе ---------------133 |
||||||||||||
|
|
|
|
Табnица 3 |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
итерация \вершина |
1 |
|
2 |
|
3 |
4 |
5 |
6 |
|
р |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о |
'@] |
|
00 |
|
00 |
00 |
00 |
00 |
|
1 |
|
|
|
1 |
- |
|
6 |
|
ш |
00 |
00 |
00 |
|
3 |
|
|
|
2 |
- |
|
5 |
|
- |
7 |
ш |
00 |
|
5 |
|
|
|
3 |
- |
|
ш |
|
- |
6 |
- |
7 |
|
2 |
|
|
|
4 |
- |
|
- |
|
-- |
[§] |
- |
7 |
|
4 |
|
|
|
5 |
- |
|
- |
|
- |
- |
- |
ш |
|
6 |
|
|
O(n2 ) операциЙ. Известна модификация алгоритма Дейкстры, имеющая трудоем |
|||||||||||||
кость О(т log2 n) (т - число дуг) . |
|
|
|
|
|
|
|
|
|
||||
|
Для того, чтобы найти расстояния от заданной вершины s до всех остальных |
||||||||||||
вершин орrрафа, алгоритм с рис. 29 модифицируется следующим |
образом: |
|
|
|
|||||||||
• |
условие продолжения итераций р ! |
=t заменяется на М# J 2 i . |
|
|
|
|
|
||||||
|
Пример. Работа алгоритма для графа, изобра |
|
|
|
|
|
|
|
|||||
|
женного на рис. 30 (рядом с каждой дугой про |
|
|
|
|
|
|
|
|||||
|
ставлен ее вес), показана в rабл. 3 (элементы |
|
|
|
|
|
|
|
|||||
|
таблицы - за исключением первого и послед |
|
|
|
|
|
|
|
|||||
|
него столбца - пометки вершин графа; в рамку |
|
|
|
|
|
|
|
|||||
|
заключены постоянные пометки вершин). |
|
|
|
|
|
|
|
|||||
|
Анализ та лицы показывает, что кратчай |
|
|
|
|
|
|
|
|||||
|
ший путь от 1 вершины к 6 |
вершине таков: |
|
Рис. 30 |
|
|
|
||||||
|
1 -+ 3 -+ 5 - +6 . |
|
|
|
|
|
|
|
|
|
Нахождение расстояний между всеми парами вершин орграфа
В принципе, данную задачу можно решить n-кратным выполнением алгоритма Дейкстры, где n - количество вершин графа. Однако существуетпримерно вдвое менее трудоемкий алгоритм, разработанный Р. Флойдом.
Алгоритм Р. Флойда (1 962 г.)
Строится последовател_ьность матриц C(k) = (с )) , где с<о) - матрица весов дуг
графа, т. е. для всех i и j с: ) = JL(щ, Vj) (если в графе нет дуги (щ, Vj) , то полагаем:
JL(Vi, v1) = оо), а при k = 1 , . . . , n с ) - д лина кратчайшего пути из Vi в Vj такого,
что в качестве промежуточных вершин могут бытьлишь v1 , v2, . . . , vk. Очевидно, что c j) - искомое расстояние между вершинами Vi и Vj . Несложно по индукции
ДОКаЗаТЬ СЛедующую рекуррентную формулу, ПОЗВОЛЯЮЩую ПО матрице C(k-1) построить матрицу C(k) :
c(kij) - mш. {c(kij-1), ci(kk-1) + ck(kj-1)}.
Действительно, кратчайший путь из Vi в Vj (где в качестве промежуточных вер шин могут использоваться лишь v1 , v2, . . . , vk) либо содержит вершину vk , либо
134 -- r.nua LXX.ВвеАенме • тtOJIМIO rрафоа
не содержит. В nервом случае он имеет вес c(ijk-1) (так как при этом промежу- |
||||||||
точными вершинами могут быть только v1 , • |
• • , VA:-1 ), во втором - складывается |
|||||||
|
щ |
|
vk |
|
V j , |
i(k-1) |
|
(k- 1) |
из кратчайших путей из |
в |
и из vk в |
и его вес равен c k |
+ |
ckj |
|||
|
|
|
|
§1 5. Задача сетевого планирования
иуправления (PERT)
Процесс выполнения сложного проекта удобно представить в вИде орrрафа, дуги которого соответствуют этапам (или операциям, элементарным работам) проекта,
а вершины графа изображают абстрактные события, обозначающие начаЛо или конец этапов; nримем этапы, соответствующие дугам, исходящим из произвольной
вершины графа, не могут начаться преЖде, чем закончатся этаnы (так называемые опорные работы), отвечающие дугам, заходящим в данную вершину. В проектно
консТрукторских организациях подобный rраф называют сетевым графиком. Очевидно; что рассматриваемый rраф является ациклическим.
Например, при строительстве Здания в качествеэтаповмогутрассматриваться закладка фундамента; возведение стен, возведение крыши, вставка окон и т. д., а в качестве событий начало строительства, окончание возведения фундамента, начало отделочных работ, окончание строительства и т. п:
|
Табnица 4 . |
|
|
|
|
|
|
Этап проекта (элементарНая работа) |
Обозначеяие |
Опорные |
Время |
работы |
выполнения |
||
|
|
|
|
' Разработка технического задания |
er |
|
5 |
Конструирование оснастки |
е2 |
- |
8 |
Разработка электросхемы |
ез |
e t |
3 |
Разработка сборочных чертежей |
е4 |
е 1 |
8 |
Разработка технологии сборки |
es |
ез |
2 |
Изготовление оснастки |
е6 |
е2 |
4 |
Монтаж электросхемы |
е1 |
ез |
7 |
Сборка изделия |
ев |
е4, es |
5 |
Окраска изделия |
е9 |
е6 , е1 |
2 |
Пример 1. Рассмотрим построение сетевого графика дnя планирования проиэводства некоторого изделия. Перечень злементарных работ, их длительность и логические связи представлены в табл. 4.
Дуги сетевого графика мы будем обозначать так же, как и соответствующие работы. Источник графа· будет соответствовать началу выполнения' проекта, а сток - окончанию.
Из таблицы видно, что работы е 1 и е2 являются начальными (у них нет nредше ствующих работ), а работы е8 . и е9 - завершающими (они не предшествуют никаким другим). Таким обращ>вм, дуги е 1 и е2 будут начинаться в источнике графа, а дуГи е8
и е9 - заканчиваться стоке.
По окончании работы е1 начинаются работы е3 и е4 - значит. в графе конец дугие7. е 1 будет служить началом дуг е3 и е4 . АналогИЧt!О, конец дуги е3 - начало дуг е5 и Поскольку работе е 8 непосредственно предшествуют работы е 4 и е5 • в графе должна бьiТь вершина, служащая концом дуг е4 и е5 и началом дуги е 8•