Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное
образовательное учреждение
высшего образования
«Южный федеральный университет»
Л.С. Берштейн
А.В. Боженюк
ТЕОРИЯ ГРАФОВ
Учебное пособие
Ростов-на-Дону
Издательство Южного федерального университета
2014
2
УДК: 518.8:681.32(075.8)
РЕЦЕНЗЕНТЫ:
© ЮФУ, 2014
© Л.С. Берштейн, 2014
© А.В. Боженюк, 2014
3
ПРЕДИСЛОВИЕ
х1
u1
х2
u2 u6
u3
х3
u4 u5
х4
Рис. 1.1
Здесь множество вершин – X x1 , x2 , x3 , x4 , x5 ,
множество ребер – U u1 , u2 , u3 , u4 , u5 , u6 ,
инцидентор – F x1u1 x2 , x2u2 x5 , x5u6 x5 , x5u3 x3 , x3u4 x4 , x4u5 x4 ,
подмножества ребер – U u 2 , u3 ; U u5 ,u6 ; U~ u1 , u4 .
Граф, содержащий только ребра из множества U , называется
ориентированным или орграфом. Граф, содержащий только ребра из
множества U~ , называется неориентированным. И те, и другие могут
как с петлями, так и без петель. Граф также может быть смешанным,
т.е. содержать как ребра, так и дуги, и петли.
Одним из способов теоретико-множественного задания графов
является его задание с помощью соответствия. При этом граф
задается в виде пары: G =(X,). Здесь Х – множество вершин, а Г –
соответствие, или отображение вершин X в себя. Соответствие Г
задается образами элементов x X при этом соответствии.
6
Пример. Граф, приведенный на рис.1.1, можно задать как
G=(X,), где X x1 , x2 , x3 , x4 , x5 – множество вершин, а Г(х1)={x2};
Г(х2)={x1,х5}; Г(х3)={x4}; Г(х4)={x4,х3}; Г(х5)={x3,х5}.
Если теперь построить граф при теоретико-множественном
задании в виде графа соответствия G (Х, Г) , то каждое
неориентированное ребро представится двумя дугами взаимно
обратной ориентации. Пример такого представления показан на рис.
1.2.
х1
х2 х5
х3
х4
Рис. 1.2
Граф называется симметрическим, если для любых двух вершин
xi , x j X справедливо xi ( x j ) x j ( xi ) . Другими словами, если
между какой-то парой вершин имеется дуга, то между этой же парой
вершин имеется противоположно направленная дуга.
Пример симметрического графа приведен на рис. 1.3.
х1
х2 х3
Рис. 1.3
Любой неориентированный граф при представлении его с
помощью соответствия представляется симметрическим графом.
7
В графах различают две категории понятий – смежности и
инцидентности.
Пусть для некоторой тройки элементов <xuy>, в которой x, y X ,
u U , истинно высказывание F(xuy). Иными словами, ребро u
соединяет вершины x и y. В этом случае вершины x и y называются
смежными. Если при вершине имеется петля, то вершина смежна
сама с собой. Кроме того, если высказывание F(xuy) истинно, то
говорят, что вершина x(y) инцидентна ребру u; в противном случае –
не инцидентна. Если для двух ребер ui и uj имеется хотя бы одна
общая индидентная им вершина, то такие ребра также называют
смежными.
Граф называется конечным, если множество его вершин и ребер
конечно.
Если в графе G = (X,U,F) между какой-либо парой вершин может
содержаться несколько однотипных ребер, то такой граф, при
необходимости, будем выделять под названием мультиграф.
Наибольшее число однотипных ребер, соединяющих какую-либо
пару вершин, называют мультичислом мультиграфа, а сами ребра –
кратными.
Для графа, приведенного на рис.1.4, мультичисло равно 3.
х1
х2
х4
х3
Рис. 1.4
8
Если в смешанном мультиграфе убрать все петли, удалить
ориентацию с ребер, а полученные кратные ребра стянуть в одно
ребро, то полученный граф будет называться скелетом мультиграфа
(или простым графом).
Скелет графа, представленного на рис. 1.4, имеет вид,
приведенный на рис. 1.5.
Простые графы удобно задавать, используя только два множества
– вершин и ребер, последнее из которых задано парой вершин,
инцидентных данному ребру.
х1
х2
х4
х3
Рис. 1.5
Так, граф, приведенный на рис.1.5, можно задать как G ( X ,U ) ,
где множество вершин – X x1 , x2 , x3 , x4 , x5 , а множество ребер–
U ( x1 x2 ), ( x1 x3 ), ( x3 x4 ), ( x4 x5 ), ( x5 x1 ).
Граф, в котором любая пара вершин смежна, называется полным
графом и обозначается Gn (n – число вершин).
Примеры полных графов приведены на рис. 1.6.
G2 G3 G4
Рис. 1.6
9
Если в полном графе есть петли всех вершин, то такой граф
называется плотным.
Плотный граф на 5 вершин приведен на рис. 1.7.
Если какая-то вершина в графе не инцидентна ни одному ребру,
то она называется голой, или изолированной вершиной. Граф,
состоящий из голых вершин, называется голым графом или нуль-
графом.
G5
Рис. 1.7
Рис. 1.8
Граф, не содержащий ни вершин, ни ребер, называется пустым
графом.
Число ребер, инцидентных вершине x X у графа G X ,U , F ,
обозначается ρ(x) и называется локальной степенью данной вершины.
Сумма всех локальных степеней графа равна удвоенному числу
ребер:
( x) 2m.
xX
10
Теорема. Число вершин графа с нечетной локальной степенью в
конечном графе всегда четно.
Доказательство. Сумма всех локальных степеней графа – четная
величина (2m). Вычтем из неё также четную величину – сумму
вершин графа с четной локальной степенью. Полученная величина
также будет четной величиной, и представляет собой сумму степеней
вершин графа с нечетной степенью. А сумма нечетных величин четна
тогда и только тогда, когда число их четно. Следовательно, теорема
доказана.
Если локальные степени всех вершин графа равны величине K, то
такой граф называют однородным степени K.
На рис. 1.9 приведены примеры однородных графов.
k=2 k=3
Рис. 1.9
Для ориентированного графа вводят понятия полустепеней
исхода и захода. Число дуг, исходящих из данной вершины x,
называют полустепенью исхода и обозначают (х) . Число дуг,
заходящих в данную вершину x, называют полустепенью захода и
обозначают (х) .
Степень вершины равна сумме полустепеней исхода и захода
данной вершины, т.е. ( х) ( х) ( х) . Кроме того, видно, что
х
( х) ( х) т .
х
Х х3 U Ø Х х1 , х3 U Ø
х3 х3
х1
Рис. 1.10
Подграф, не содержащий ребер, называется пустым подграфом, а
множество вершин, порожденное пустым подграфом, называют
внутренне устойчивым множеством.
2. Часть Н ( Х ,U , F ) графа G X ,U , F называют суграфом,
если X X и U U . Другими словами, суграф может быть получен
из данного графа при исключении некоторых его ребер.
12
На рис. 1.11 показан суграф для графа, приведенного на рис. 1.10.
u7
х2
u1
х3
х1
u2
х4
Рис. 1.11
3. Объект Н ( Х ,U , F ) графа G X ,U , F называют куском
графа G, если X X и U U ii U ij , где ребра из множества Uij
связывают вершины графа из множества X с остальными вершинами
графа, а ребра из множества Uii связывают вершины из множества X
между собой.
На рис. 1.12 показан кусок для графа, приведенного на рис. 1.10.
u1 Х х1 , х4
Uii={u2} u6
х1 u5 Uij={u1,u3,u5,u6}
u3
u2
х4
Рис. 1.12
Для любой части графа Н ( Х ,U , F ) можно найти единственную
дополнительную часть Н , которая содержит ребра, не вошедшие в
часть Н, и обозначается как H G \ H , где G – граф, для которого
ищется дополнение.
Можно рассматривать дополнение каждого графа до полного
графа, построенного на том же множестве вершин. То есть, если дан
13
произвольный граф G (не мультиграф), то его дополнение до полного
графа обозначается как G .
На рис. 1.13 приведены исходный граф и его дополнение.
G G
х1 х2 х1 х2
х3 х4 х3 х4
Рис. 1.13
Теорема Рамсея. Если граф G содержит 6 вершин, то либо сам
граф G, либо его дополнение содержит треугольник.
Доказательство. Пусть x X – произвольная вершина графа G.
Так как эта вершина х смежна с любой оставшейся из 5 вершин либо
в графе G, либо в его дополнении G , то можно предположить, что
некоторые три вершины y, z, p смежны с вершиной х в графе G (в
противном случае они смежны с вершиной х в G ). Если какие-либо 2
вершины из y, z, p смежны между собой, то вместе с вершиной х они
образуют треугольник. Если они не смежны, то вершины y, z, p
образуют треугольник в графе G .
Обобщая теорему Рамсея, естественно поставить вопрос: какое
наименьшее целое число n(k,t), для которого каждый граф с n
вершинами содержит полный подграф с k вершинами в графе G либо
полный подграф с t вершинами в графе G .
В теореме Рамсея говорят о числе 6(3,3), т.е. в графе с шестью
вершинами есть полный граф на три вершины либо в его дополнении
также на три вершины.
Определение. Два графа G X ,U , F и L ( Х ,U , F ) называют
изоморфными, если между их вершинами и между их ребрами можно
14
установить такие биекции, что X X, U U и справедливо
высказывание
(x, y X ) & (x, y X ) & (u U )(u U )x x & y y & u u F ( xuy) F ( xuy).
U8
х х х х х Х 2
t X 1 2 3 4 5
Х5
х1 х 2 х5 х3 х 4
U1 U2 U 5
Х1 U 6 Х 3
U7 Х4
Х 1
U6 u u u u u u u u U 3
tU 1 2 3 4 5 6 7 8 U 4
u 4 u3 u 2 u8 u 7 u 6 u5 u1
U5 U3
U4 Х 4
Х 5
Х2 Х3
U 1
U9
Рис. 1.14
Если какой-либо граф L ( Х ,U , F ) изоморфен части графа H, то
говорят, что граф L изоморфно вкладывается в граф G (рис. 1.15).
G
L H
Рис. 1.15
15
u3
х1
u2
х2
u1
х5
u4
u6 u5
х3 х4
Рис. 1.16
Матрица соседства вершин отличается от матрицы смежности
тем, что в клетках может быть поставлено множество ребер, по
которым смежна данная пара вершин.
Аналогично матрице смежности вершин вводится матрица
смежности ребер как прямоугольная матрица, строки и столбцы
которой помечены названиями ребер. А на их пересечении ставится
1, если данная пара ребер смежна, и 0 – в противном случае.
Для графа, заданного в виде G ( X ,U ) , она обозначается как
Ru rij .
m
u1 Х1
Х2
u2 Х5
u3
u4
Х3 u5 Х4
Рис. 1.17
Смежностный граф можно построить и сразу. Для этого ребра
исходного графа примем за вершины смежностного. Две вершины
смежностного графа соединим ребром, если соответствующие ребра
исходного графа смежны.
Взаимно однозначным представлением графа является его
матрица инцидентности: I aij
nm
. Она представляет собой таблицу,
строки которой помечены вершинами графа, а столбцы – ребрами. На
пересечении i-й строки и j-го столбца ставится 1, если вершина i и
ребро j инцидентны в графе G, и 0 – в противном случае.
Пример. На рис. 1.18 приведены граф и его матрица
инцидентности:
18
u1 Х1 u1 u 2 u3 u4
х1
Х2 х2
1 0 1 1
u2 u4 I 1 1 0 0
х3
0 0 1 0
u3 Х3 х4
Х4 0 1 0 1
Рис. 1.18
Матрица инцидентности в каждом столбце имеет не более двух
единиц, если нет петель, и сумма единиц в строке соответствует
степени вершины (для простого графа).
Матрице инцидентности можно поставить в соответствие граф
инцидентности. Он строится следующим образом: вершины
исходного графа принимаются за вершины графа инцидентности, и
ребра исходного графа также представляются вершинами графа
инцидентности. Они соединяются друг с другом, если
соответствующая пара «вершина – ребро» инцидентна в исходном
графе.
Пример. Для графа, приведенного на рис. 1.18, граф
инцидентности показан на рис. 1.19.
х1 u1
х2
u2
х3 u3
х4 u4
Рис. 1.19
19
х1 u7
u3 х4 х5
u5
Рис. 1.20
Контрольные вопросы
1. Что такое граф?
2. Какие способы задания графа вы знаете?
3. Какие виды графов вы знаете?
4. Определить понятие смежности и инцидентности в графе.
5. Какие графы называются графом инциденции и
смежностным графом?
22
2. ДОСТИЖИМОСТЬ И СВЯЗНОСТЬ
х1
v u
х2 w
t х3
Рис. 2.1
23
Рис. 2.2
Теорема. Если в конечном графе ровно две вершины имеют
нечетную степень, то они связаны.
Доказательство. Пусть эти вершины (с нечетной степенью) x и y.
Ранее было доказано, что число вершин с нечетной степенью всегда
четно. Применим эту теорему к той компоненте связности, к которой
принадлежит вершина х. Отсюда следует, что в этой же компоненте
связности должно быть ещё нечетное число вершин с нечетной
степенью. Так как кроме вершины у нет других вершин, то приходим
к выводу, что вершина у также принадлежит к той же компоненте
связности, что и вершина х. Теорема доказана.
25
мост
шарнир
Рис. 2.3
Примеры неразделимого графа и разделимого графа, состоящего
из двух блоков, приведены на рис. 2.4.
Разделимый
граф
Неразделимый
граф Блок
Блок
1
2
Рис. 2.4
26
3
0 1 5 b
a 3 4
2 6
3
2 4
1
Рис. 2.5
Выделение кратчайшего пути также используется в задачах, в
которых необходимо из множества вариантов, ведущих к конечной
цели, выбрать наилучший. Для этого строится граф вариантов, в
котором вершины соответствуют вариантам, а ребра – возможностям
перехода от одного варианта к другому. Далее, в полученном графе,
находится кратчайший путь из исходного варианта в интересующий
нас.
A D
А D
B
B
Рис. 2.6
Вопрос, поставленный в 1736 г., состоит в том, можно ли, начав с
некоторой точки, совершить прогулку и вернуться в исходную точку,
пройдя по каждому мосту ровно один раз. Или, иначе, в полученном
графе надо, начиная с некоторой вершины, пройти по всем ребрам, не
проходя по ним дважды. То есть надо построить цикл, содержащий
все ребра графа и причем один раз.
Задача Эйлера. В каких случаях в конечном графе можно найти
цикл, в котором каждое ребро графа участвует только 1 раз?
Такой цикл называют эйлеровым, а граф, содержащий эйлеров
цикл, называют эйлеровым графом.
Теорема. Граф G является эйлеровым тогда и только тогда, когда
1) он связен; 2) все его локальные степени четные.
Доказательство. Необходимость. Пусть граф G – эйлеров, тогда
условие связности является очевидным. Докажем теперь четность
степеней вершин: каждый раз, когда эйлеров цикл «проходит» через
какую-то вершину, он должен зайти по одному ребру, а выйти по
другому. Следовательно, степень вершины должна быть четной.
Достаточность. Пусть условия 1) и 2) выполняются. Начнем
строить цепь Р из произвольной вершины х графа G и будем
«продолжать» её, насколько это возможно, через новые ребра. Так
как в каждой вершине локальная степень – четная, то этот процесс
может закончиться только в вершине х. Если полученная цепь Р
30
содержит не все ребра графа G, то удалим из него часть, состоящую
из ребер цепи Р. Граф Р и граф G имеют четные локальные степени,
следовательно, и в оставшейся части Р вершины также имеют
четную степень.
Так как граф G связан, то в части Р должна найтись вершина,
например b, инцидентная также и ребру из части Р .
Из вершины b можно построить новую цепь Р , содержащую
только ребра из части Р , снова такая цепь может закончиться только
в вершине b. Тогда из циклов P и Р можно построить новый цикл Р1,
имеющий вид P1 P( x, b) P(b, b) P(b, x) . Этот цикл возвращается в
вершину х и содержит больше ребер, чем цикл Р.
Если цикл Р1 содержит не все ребра графа G, то построение
(нового цикла) повторяется до тех пор, пока не будет получен
эйлеров цикл. Теорема доказана.
На рис. 2.7 представлены не эйлеров и эйлеров графы.
Рис. 2.7
Аналогичную теорему можно сформулировать для
ориентированных графов: ориентированный граф имеет эйлеров
цикл, если он не связен, и в каждой вершине полустепень исхода
равна полустепени захода. Естественно, что при этом степени четные.
31
Кроме того, выделяется понятие эйлеровой цепи – это цепь,
содержащая все ребра графа. Граф с эйлеровой цепью может иметь
пару вершин с нечетной степенью.
х0 хj хl
l 4 0 ll 5
а
Рис. 2.8
32
Исходя из этого, в данной цепи найдется такое ребро (xi,xi+1), что
вершина x0 будет смежна с xi+1, а вершина xl – с xi, (т.е. имеются ребра
(x0,xi+1) и (xi,xl). В этом случае можно построить цикл следующим
образом: надо взять Гамильтоновы цепи P(x0, xi) (xi,xl) P(xl,xi+1)
(xi+1,x0). Таким образом, получим цикл, содержащий все вершины
исходной максимальной цепи.
Докажем теперь, что данный цикл является гамильтоновым, т.е.
содержит все вершины графа. Предположим, что это не так, т.е.
данный цикл содержит не все вершины. Так как граф связен, то в нем
найдется ребро, соединяющее вершину (например, a), не вошедшую в
этот цикл, с какой-либо вершиной (например, xj) исходного цикла.
Поступим следующим образом: разорвем цикл, удалив ребро цикла,
инцидентное вершине xj слева (или справа) от него и добавим к
полученной цепи новое ребро (xj, a), где a – вершина, не
принадлежащая циклу. Тогда получим цепь, длина которой больше
исходной цепи на 1, что противоречит определению исходной цепи
как наибольшей из максимальных. Данное противоречие и
доказывает теорему.
Поскольку данная теорема формулирует только достаточное
условие, то может быть предложено значительное число случаев,
когда граф содержит гамильтонов цикл, но не удовлетворяет условию
теоремы. Кроме того, может быть сформулировано значительное
число теорем, содержащее другие достаточные условия.
Установим взаимосвязь между эйлеровыми и гамильтоновыми
графами.
Теорема. Если граф G=(X,U) – эйлеров, то смежностный ему
граф – эйлеров и гамильтонов.
Доказательство. Поскольку исходный граф эйлеров, то он
связен и степени его вершин четные. Так как в смежностном графе
ребро U(x,y) представляет собой вершину U, то ее степень будет
33
равна (U) = (x)+ + (y)-2 и, следовательно, степень каждой
вершины в смежностном графе тоже четная величина. Так как
связность при переходе к смежностному графу не нарушается, то
смежностный граф также является эйлеровым.
Покажем теперь, что он гамильтонов:
Весь исходный эйлеров граф можно задать, записав его в виде
эйлерова цикла: x0U1x1U2… xlUlx0. В этом цикле ни одно ребро не
участвует дважды. И между любыми двумя соседними ребрами (в
этой последовательности) стоит вершина, посредством которой эти
ребра смежны. То есть при переходе к смежностному графу данный
цикл превратится в последовательность, в которой элементы U уже
обозначают вершины, и любые два таких соседних элемента
являются смежными. При этом ни один из элементов U не участвует
в этом цикле дважды, следовательно, в смежностном графе
существует гамильтонов цикл.
Пример, иллюстрирующий данное свойство, приведен на рис. 2.9.
х1 u1 u2
u1
u2 х3
х2
u3 u3
u4 u4
х4
Рис. 2.9
а б в
Рис. 2.10
16. На рис. 2.11 представлена схема зоопарка. Вершинами
обозначены вход, выход и повороты, ребрами – дорожки, вдоль
которых расставлены клетки. Найти маршрут, по которому можно
провести посетителей, показав всех зверей.
Вход
Выход
Рис. 2.11
17. На рис. 2.12 представлена схема выставки. Ребрами указаны
залы и коридоры, вершинами – вход, выход, перекрестки и двери
между залами. Где на выставке надо сделать вход и выход, чтобы
можно было бы провести экскурсию по всем залам, побывав в них
только один раз?
36
Рис. 2.12
18. На рис. 2.13, а, б, в показаны три графа. Какой из них является
эйлеровым, какой – гамильтоновым?
а б в
Рис. 2.13
19. Построить граф, содержащий гамильтонов цикл и
удовлетворяющий:
а) условию вопроса 10;
б) условию вопроса 11;
в) условию вопроса 12.
20. Доказать, что граф, смежностный эйлеровому:
а) эйлеров;
б) гамильтонов.
21. Предложить алгоритм для определения существования
гамильтонова цикла в произвольном графе.
22. Определить множество полных графов, содержащих эйлеров
цикл.
23. Определить верхнюю оценку числа гамильтоновых циклов в
полном графе G.
37
Контрольные вопросы
1. Что такое маршрут, цепь, простая цепь, цикл?
2. Какие вершины называются связанными?
3. Что называется длиной маршрута?
4. Как выявить все маршруты заданной длины?
5. Какая цепь называется максимальной, какая – наибольшей?
6. Дать понятие моста, шарнира (точки сочленения) и блока
графа.
7. Дать определение эйлерова графа.
8. Дать определение гамильтонова графа.
9. Доказать необходимое и достаточное условия эйлерова
графа.
10. Доказать утверждение, что если в связном графе G X ,U
имеется наибольшая простая цепь Q x0 u1 x1u 2 ...xl 1ul xl , такая, что l>2
и ( x0 ) ( xl ) l 1 , то в графе G существует гамильтонов цикл.
11. Доказать утверждение, что если в связном графе G X ,U с
n 3 вершинами для любых двух несмежных вершин х и у
справедливо выражение ( x) ( y) n , то в графе G существует
гамильтонов цикл.
12. Доказать утверждение, что если в связном графе G X , U
с n 3 вершинами для любой вершины х справедливо выражение
n
( x ) , то в графе G существует гамильтонов цикл.
2
38
В
С
A
Е
D
Рис. 3.1
Очевидно, что Гn(xi) и Г-n(xi) являются соответственно
подмножествами тех вершин, в которые можно прийти из xi,
используя пути длиной n, и тех вершин, из которых можно прийти в
xi, используя пути длиной n.
Определение. Транзитивным замыканием (xi) называется
многозначное отображение, определяемое формулой
39
(xi)= {xi} Г(xi) Г2(xi) …
Если обозначить через Г0(xi)= {xi}, то получим
(xi)= Гi(xi).
i 0
Другими словами, (xi) является подмножеством вершин, в
которые можно прийти из xi по некоторому пути.
Определение. Аналогично, обратным транзитивным замыканием
(xi) называется многозначное отображение, определяемое
формулой
(xi)= {xi} Г -1(xi) Г -2(xi) … = Г -i(xi).
i 0
(xi) - определяет множество вершин, из которых можно попасть в
вершину xi по некоторому пути.
Пример. Для графа, приведенного на рис. 3.1, имеем: (А)=
={A,B,C,D,E}=X, (E)= , (B)={B,C,E}, (A)=, (В)=
={A,B,C,D}, (E)= X.
Определение. Граф G=(X, Г) называется сильно связным, если:
( xi X)[ (xi)= X].
Иными словами, для любых двух вершин xi, xj такого графа
существует путь, идущий из вершины xi в вершину xj. Граф,
показанный на рис. 3.1, не является сильно связанным, а граф,
приведенный на рис. 3.2, – является.
40
A C
D
E
Рис. 3.2
Легко показать, что условие определения сильной связности
эквивалентно условию
(xi X) [ -(xi)= X].
Бинарное отношение «существует путь из вершины xi в вершину
xj» является отношением нестрогого порядка на множестве вершин X,
так как оно транзитивно и рефлексивно. Бинарное отношение
«существует путь из вершины xi в вершину xj и из вершины xj в
вершину xi» будет отношением эквивалентности на множестве
вершин X, так как оно еще симметрично.
G2 H
B E
A D G3
G1 C
F G4
Рис. 3.3
Пример. Для графа, приведенного на рис. 3.3, видно, что фактор-
множество X/ состоит из 4-х классов: C1={A,B,C}, C2={H},
C3={D,E}, C4={F}.
При этом множество классов {Ci} упорядочивается отношением
R’ «существует путь из класса Сr в Cs ». Отношение R’ рефлексивно
и транзитивно. Оно также антисимметрично, так как в противном
случае классы Сr и Cs следовало бы объединить в один класс, что
противоречит их максимальности.
Пример. На рис. 3.4 показано, как можно упорядочить классы C1,
C2, C3, C4. Очевидно, что этот порядок не строгий.
C1 C2
C4 C3
Рис. 3.4
Рассмотрим метод разложения графа на максимальные сильно
связные подграфы. Если С(xi) класс, содержащий вершину xi, то
можно записать, что С(xi)= (xi) (xi).
Метод состоит в
следующем. Берем произвольную вершину xi и находим для нее
42
С(xi)= (xi) (xi). Затем берем вершину xj С(xi) и действуем
аналогично. Продолжаем процесс до тех пор, пока это возможно. В
результате получаем классы C1, C2, …, Ck.
3.3. Упражнения и задачи
B G
A
D F
C E
Рис. 3.5
B G
D
A
E
C
Рис. 3.6
Контрольные вопросы
1. Дать понятие транзитивного замыкания и обратного
транзитивного замыкания вершин графа.
2. Дать определение сильно связного графа.
43
х1 х2
u1
u3
u2 хn
х3
Рис. 4.1
44
Пусть теперь к графу «добавляется» еще одно ребро,
соединяющее пару вершин, между которыми уже есть маршрут (u3).
При этом число компонент связности не изменится, а
цикломатическое число увеличится на 1. То есть = 2, а = 3–2 = 1.
Таким образом, мы показали:
1. При увеличении числа ребер ранг и цикломатическое число не
убывают, следовательно, теорема доказана.
2. Если ребро добавляется между вершинами, связанными ранее
маршрутом, т.е. появляется цикл, то ранг графа не изменяется, а
цикломатическое число увеличивается на 1.
Отсюда видно, что цикломатическое число определяет
максимальное число независимых циклов в графе G, т.е. таких
циклов, каждый из которых содержит хотя бы одно ребро, не
входящее ни в один из оставшихся циклов. С другой стороны,
цикломатическое число характеризует минимальное число ребер,
которые надо удалить из графа, чтобы в нем не было ни одного
цикла.
Пример. Рассмотрим граф, приведенный на рис. 4.2.
Рис. 4.2
В нем число вершин n = 5, а число ребер m = 8, число компонент
связности p = 1, т.е. цикломатическое число (G) = 8-5+1= 4.
Пусть дано натуральное число P. Говорят, что граф G является P-
хроматическим, если его вершины раскрасить P различными цветами
45
таким образом, чтобы никакие две смежные вершины не были
окрашены одним цветом.
Определение. Наименьшее число P, при котором граф G является
P-хроматическим, называют хроматическим числом и обозначают
(G).
Определение. Хроматическим классом графа G называют
натуральное число q, обладающее следующими свойствами:
1. Каждое ребро графа можно окрасить в один из q цветов таким
образом, чтобы никакие два смежных ребра не были окрашены
одинаково.
2. Это невозможно сделать с помощью q-1 цветов.
Примечание. Хроматический класс q совпадает с хроматическим
числом для графа, смежностного данному.
Теорема Кёнига. Граф G является бихроматическим (т.е. p≥2) в
том и только том случае, если он не содержит циклов нечетной
длины.
Доказательство. Докажем необходимость. Рассмотрим граф G
без циклов нечетной длины. Пусть он связен, в противном случае
будем окрашивать каждую компоненту отдельно. Покажем, что он
бихроматический. Для этого воспользуемся следующим правилом:
1) произвольную вершину А окрасим в синий цвет;
2) если вершина уже окрашена в синий цвет, то все вершины
смежные с ней, окрасим в красный, а если вершины окрашены в
красный, то все вершины, смежные с ней, окрасим в синий.
Если граф G связен, то каждая его вершина окажется
окрашенной, причем никакая вершина xX не будет одновременно и
синей и красной, так как в противном случае она входила бы в цикл
нечетной длины, что противоречит условию. Необходимость
доказана.
46
Докажем достаточность. Если граф бихроматический, то он не
содержит циклов нечетной длины, так как в противном случае
вершины, принадлежащие такому циклу, нельзя было бы раскрасить
двумя цветами.
Достаточность доказана и, следовательно, теорема Кёнига
доказана.
(G ) 2
(G ) 3
Рис. 4.3
Метод Магу для отыскания максимальных внутренне
устойчивых множеств
Будем рассматривать графы без петель, т.е. вершина с петлей не
может принадлежать внутренне устойчивому множеству.
Пусть G=(X,Г), и пусть некоторое внутренне устойчивое
множество, т.е. Г() =ø. С каждой вершиной xiX свяжем Булеву
переменную P(xi) и положим:
если xiX, то P(xi) = 1,
если xiX, то P(xi) = 0.
Введем еще одну Булеву переменную: ij=1, если xjГ(xi) и ij=0,
если xjГ(xi).
Исходя из определения внутренне устойчивого множества,
справедливо следующее утверждение:
(xi, xjX)[(xi(xj) xj(xi))(( xi)( xi))].
Для фиксированной пары вершин xi, xj, переходя к Булевым
переменным, получаем: ( ij ji ) (P ( xi ) P ( x j )) 1.
Воспользуемся свойствами оператора импликации (A B= A B)
х2
х1 х3
х5
х4
Рис. 4.4
49
Его матрица смежности имеет вид
х1 х 2 х3 х 4 х5
х1 0 1 1 0 0
х2 0 0 1 1 0
Rх
х3 0 0 0 0 1
.
х4 0 0 0 0 1
х5 1 0 0 1 0
1 1
2
1 1
3 4
1
1 1
2
1
1
1
Рис. 4.5
2 2
1
1 1
2 3
1
1 1
1
2
2
2
Рис. 4.6
52
4.3. Внешне устойчивое множество
х3
Т 1 х1 , х 2
х4
х1 х2
2
х5
Рис. 4.7
Пример «Задача о часовых». На рис. 4.8 приведен план объекта в
виде графа, на котором двери – вершины графа, а коридоры с прямой
видимостью – ребра графа.
53
х8
х1 х6 х3 х7
х5 х4
х2
х9
Рис. 4.8
Какое наименьшее количество часовых необходимо поставить
для наблюдения за всеми дверями? (Ответ: двух часовых, так как
число внешней устойчивости β(G)=2.)
Метод Магу для нахождения внешне устойчивых множеств
Пусть задан граф G (Х, Г) и Т – некоторое внешне устойчивое
множество, тогда справедливо выражение
(хi T )[T (х i ) Ø], или иначе x i X [({xi } ( xi )) T Ø].
Из последнего условия следует, что такое подмножество Т должно
содержать вместе с вершиной xi, по крайней мере, одну из вершин
Г(xi). Следовательно, истинно высказывание:
1, xi T 1, xj ( xi )
Введем Булевы переменные: P ( x )
и ij , αij=1.
0, xi T 0, xi ( xi )
i
получим
N P1 P 2 P3 P4 P5 P1 P2 P3 P 4 P5 1 , т.е. рассматриваемый
граф содержит два ядра: N1={x3,x4} и N2={x2,x5}.
х1 х6 х10 х11
х13
х2 х5
х8 х12
х3 х7
G
х4 х9
Рис. 4.9
G*
х 4* х11 , х12 , х13
х х 3
* х 3* х 4 , х 7 , х 9
5
Рис. 4.10
Понятие, двойственное понятию базы, можно дать следующим
образом на языке контрадостижимых множеств 1 ( xi ) :
Определение. АнтибазаВ есть множество вершин графа
G=(X,Г), таких, что
1
1 ( B )
xi B
( xi ) X , (4.4)
и
1
(S B )( (S ) X ) . (4.5)
59
Иными словами, база В есть такое минимально возможное
множество вершин, что какова бы ни была вершина графа G, из нее
достижима некоторая вершина в В. Свойства антибаз аналогичны
свойствам баз, надо только «прямые» понятия заменить на
двойственные:
из каждой вершины графа достижима хотя бы одна вершина
множества В;
в множестве В нет вершины, которая достижима из другой
вершины множества В.
Из этих условий мгновенно получаются следующие утверждения:
в множестве В нет двух вершин, которые принадлежат одной
и той же связной компоненте (СК) графа G;
в любом графе без циклов существует единственная антибаза.
Она состоит из всех таких вершин графа, полустепени исхода
которых равны 0.
Таким образом, антибаза В* конденсации G* есть множество
вершин в графе G*, полустепени исхода которых равны 0, и антибазы
самого графа G строятся из антибазы графа G* путем выбора по
одной вершине в каждой вершине-множестве антибазы В*.
В предыдущем примере конденсация G* содержит только одну
вершину x*3 с полустепенью исхода, равной 0. Таким образом,
антибаза графа G* есть {x*3}, а антибазами графа G являются
множества {x4}, {x7} и {x9}.
Если граф G представляет структуру руководства или влияний
некоторой организации, то члены каждой сильной компоненты графа
G имеют равную власть или равное влияние друг на друга, как это
может быть, например, для случая комитета. Базу графа G можно
интерпретировать как «коалицию», включающую наименьшее число
лиц, обладающих властью над каждым членом организации.
60
Пусть на множестве вершин, представляющих членов той же
самой организации, построен новый граф G’, отображающий каналы
связи, так что каждая дуга (xi, xj) означает, что xi может связываться с
xj. Граф G’ каким-то образом связан с графом G, но не совсем
очевидным образом. Наименьшее число лиц, которые знают или
могут получить все сведения об организации, образуют одну из
антибаз графа G’. Можно утверждать, что эффективная для
управления этой организации коалиция будет множеством лиц H,
определяемым следующим соотношением:
где B(G) – одна из баз графа G, а B(G’) – одна из антибаз графа G’,
выбранные так, чтобы |H| – число людей в H было минимальным.
Приведенное выше описание организации является сильно
упрощенным. Один из недостатков состоит в том, что нежелательно,
чтобы лицо, не входящее в B, имело бы власть над лицом из B.
Следовательно, можно определить сильную базу (power-basis) как
такое множество вершин BPX, что
1
( BP ) X , ( BP ) BP (4.7)
и
(S BP )((S ) X ) . (4.8)
Вторая часть условия (6) выражает тот факт, что только лица из
BP могут иметь власть над другими лицами, также принадлежащими
BP, и это может быть заменено эквивалентным условием:
( X \ BP ) BP . Это условие означает, что если вершина из СК
графа G входит в BP, то и каждая вершина из той же самой СК
должна входить в BP. Поскольку база в G* есть множество таких
вершин, полустепени захода которых равны 0, т.е. ни одна из этих
61
вершин не достижима ни из какой другой вершины графа, то сильная
база графа G есть объединение множества вершин графа G*.
Для графа G, рассмотренного ранее, сильной базой является
множество BP ={x3, x11, x12, x13}. Можно отметить, что если этот граф
представляет организацию, то вершину x3 можно рассматривать как
руководителя, обладающего властью над всеми множествами лиц x*1,
x*2 и x*3, в то же время множество {x11, x12, x13} можно рассматривать
как комитет, имеющий власть над двумя множествами лиц x*2 и x*3.
A
D
E
F
G
Рис. 4.11
10. Решить задачу п. 7, используя алгоритмический метод
выделения внутренне устойчивых множеств.
11. Предложить метод построения графов, содержащих
единственное внутренне устойчивое множество с заданным числом
элементов.
12. Предложить алгоритм выделения семейства полных подграфов
графа.
13. Используя соотношение между хроматическим числом и
числом внутренней устойчивости, предложить алгоритм раскраски
графа.
14. Предложить алгоритм определения минимальной раскраски
графа.
15. Предложить алгоритм определения числа внешней
устойчивости по матрице смежности графа.
16. Построить граф, содержащий подмножество множества
вершин, одновременно внутренне и внешне устойчивое.
63
Контрольные вопросы
1. Дать определение цикломатическому числу, рангу,
хроматическому числу и хроматическому классу графа.
2. Дать определение внутренне устойчивому множеству,
числу внутренней устойчивости графа.
3. Доказать теорему Кенинга.
4. Написать в виде булевых уравнений условие внутренней
устойчивости (метод Магу).
5. Дать определение внешне устойчивому множеству, числу
внешней устойчивости графа.
6. Написать в виде булевых уравнений условие внешней
устойчивости (метод Магу).
7. Дать определение ядрам графа.
8. Дать определение базы графа.
9. Дать определение антибазы графа.
64
Рис. 5.1
Теорема 1. Пусть G ( X ,U ) граф с числом вершин n.
Следующие характеристические свойства дерева равносильны:
1) граф G связен и нет циклов;
2) граф G не содержит циклов и имеет m = (n–1) ребер;
3) граф G связен и имеет m = (n–1) ребер;
4) граф G не имеет циклов, но добавление одного ребра
между любыми двумя несмежными вершинами приводит к
появлению единственного цикла;
5) граф G связен, но утрачивает это свойство после удаления
любого ребра;
6) всякая пара вершин графа G соединена цепью, притом
только одной.
Доказательство.
1. Свойство 1 является определением дерева.
2. Свойство 1 влечет за собой свойство 2, так как из свойства
1 следует, что G m n p 0 , а так как р =1, то m = n–1.
3. Свойство 2 влечет за собой свойство 3, так как если (G)= 0
и m=n–1, то P G m n 1 , т.е. граф G связен.
65
4. Свойство 3 влечет свойство 4, так как из того, что р=1 и
m= n–1 следует, что G 0 , т.е. граф не содержит циклов. Если
добавить ребро между двумя ранее не смежными вершинами, то
G 1 , т.е. появится один цикл.
5. Свойство 4 влечет за собой свойство 5, так как если бы
граф G был бы не связен, то у него имелись хотя бы две вершины
x, y X , не соединенные никакой цепью, и такие, что добавление
ребра между ними не приводит к циклу. Следовательно, р=1, G 0 ,
m=n–1. После удаления одного ребра получаем: m=n–2, G 0 ,
следовательно, р=2, т.е. граф становится несвязным.
6. Свойство 5 влечет за собой свойство 6, так как, поскольку
граф G связен, то между любыми двумя вершинами x, y X
существует цепь, но не существует двух цепей.
7. Свойство 6 влечет свойство 1, так как если граф G имеет
цикл, то удаление какого-либо ребра, принадлежащего циклу, не
нарушает связности графа.
Таким образом, мы показали следующую цепочку:
1 2 3 4 5 6 1 . Теорема 1 доказана.
Рис. 5.2
На основании последней теоремы можно решить следующую
задачу. Пусть дан связный граф G=(X,U), причём каждому ребру u U
приписано число l (U ) 0 , называющееся длиной этого ребра.
Необходимо найти такой суграф G`=(X,U`) графа G, чтобы
l (U ) min , а сам суграф G` был бы деревом.
UU `
G G`
1 2 1 2
10 4
3 4
7 6 6
8 5
Рис. 5.3
Минимальная сумма длин ребер равна l(ui)=13.
Определение. Если G=(X,U) – неориентированный граф с n
вершинами, то остовным деревом (или просто остовом) называется
всякий суграф графа G, являющийся деревом.
Из сформулированных выше определений вытекает, что остов
графа G можно рассматривать как минимальный связный суграф
графа G, т.е. никакое собственное подмножество ребер этого остова
не образует связный суграф графа G.
Число различных остовов полного графа с n вершинами равно
nn-2. Для произвольного графа оценку числа различных остовов дает
следующая теорема:
68
Теорема 4. Пусть G – n-вершинный граф без петель и B0 – его
матрица инциденций с одной удаленной строкой (т.е. с n-1 строками).
Пусть B0t – транспонированная матрица к B0. Тогда определитель |B0
B0t| равен числу различных остовных деревьев графа G.
Определение. Система циклов называется независимой, если
каждый цикл этой системы независим от других. Цикл называется
независимым, если он содержит хотя бы одно ребро, не
принадлежащее какому-либо другому циклу.
Если система независимых циклов состоит из (G) m n p
циклов, то она называется базой независимых циклов.
Рассмотрим алгоритм для построения базы независимых циклов
связного графа G=(X,U). Если этот граф не связен, то этот алгоритм
применяется отдельно к каждой компоненте связности.
Сначала из графа G выделяется суграф G`=(X,U`), являющийся
деревом. Пусть u 1 ,u 2 ,…,u mn1 – рёбра графа G, которые мы удалили,
чтобы получить дерево G`.
Добавление к дереву любого из этих рёбер, например u k ,
приводит к появлению цикла k , причём единственного.
Таким образом, циклы 1 , 2 ,..., k ,... независимы, так как каждый
из них содержит ребро, не принадлежащее остальным, к тому же
количество этих циклов равно mn+1= (G ) . Следовательно, они
образуют базу независимых циклов.
Пример. На рис. 5.4 представлен граф, цикломатическое число
которого равно 6 5 1 2 . Удалим ребра u 6 ,u 4 , тогда не
останется ни одного цикла. Восстанавливая их, получаем базу
независимых циклов 1 u2u1u6 и 2 u2u1u3u4u5 .
Если граф не связный и не содержит циклов, то каждая его
компонента связности является деревом, а сам граф представляет
собой множество деревьев. Пример такого графа приведен на рис.
5.5.
69
U1 U2
U6
U3 U5
U4
Рис. 5.4
Рис. 5.5
`
Рис. 5.6
70
1
a0
2
Рис. 5.7
71
x1
x7
x2
x3 x6
x5
x4
Рис. 5.8
72
В качестве вершины а0 выберем вершину x6. Тогда множество
вершин графа можно представить как Х={x6} {A1} {A2}, где
A1={x3,x4}, A2={x1, x2, x5, x7}. Удаляя ребра в каждом классе, получим
двудольный граф, приведенный на рис. 5.9.
x1
x2
x3
x5
x6 x4
x7
Рис. 5.9
Контрольные вопросы
1. Какой граф называется деревом?
2. Дать определение остова произвольного связного графа.
3. Дать определение двудольного графа.
4. Доказать необходимое и достаточное условия двудоль-
ности графа.
74
плоский планарный
Рис. 6.1
l
r t
s
Рис. 6.2
75
Нетрудно видеть, что края граней образуют цикл, состоящий из
рёбер, ограничивающих саму грань. Две грани смежные, если они
имеют общее ребро. У всякого плоского графа имеется единственная
неограниченная грань, называемая бесконечной.
Теорема. В плоском графе края различных конечных граней
образуют базу независимых циклов.
Доказательство. Доказательство проведем по индукции.
Теорема очевидна, когда граф G имеет одну или две конечные грани.
Пример такого случая представлен на рис. 6.3.
Рис. 6.3
Предположим, что теорема справедлива для всех плоских графов
с числом конечных граней (f1), и докажем, что она справедлива для
(f) конечных граней.
Удалим из графа G некоторое невисячее ребро uU. Получим
граф G`, имеющий (f1) грань, края которых по предположению
индукции образуют базу независимых циклов. Восстановив ребро
uU, получим новую конечную грань, край которой является циклом,
независимым от других циклов, так как содержит ребро, не
принадлежащее ни одному из них. Так как добавление одного ребра
не может увеличить цикломатическое число больше чем на единицу,
то конечные грани графа G определяют базу независимых циклов.
Теорема доказана.
Следствие 1. Если связный плоский граф имеет n вершин, m
рёбер и f граней, то справедлива формула Эйлера: nm+f=2.
76
Доказательство. Из доказанной выше теоремы следует, что
число конечных граней равно цикломатическому числу (G)=m–n+1.
Поэтому число всех граней f (G) 1 m n 2 . Формула Эйлера
доказана.
Следствие 2. В любом плоском графе (не мультиграфе) хотя бы
одна вершина xX имеет локальную степень ( х) 5 .
Доказательство. В каждом графе любая грань ограничена хотя
бы тремя рёбрами. Построим вспомогательный граф инцидентности
грани – рёбра (рис. 6.4), у которого каждая грань представлена
вершиной и каждое ребро представлено вершиной, и
соответствующие вершины соединены ребром, если в исходном
плоском графе соответствующее ребро ограничивает
соответствующую грань.
r u1
s u2
U`
t um
Рис. 6.4
В построенном вспомогательном графе, если смотреть со
стороны вершин u1, u2,…, um, число рёбер U’ будет меньше или равно
2m. Если смотреть со стороны вершин r, s, t, то число ребер U’
должно быть больше или равно 3f (каждая грань ограничена минимум
тремя рёбрами). Откуда получаем неравенство 3f U` 2m. Отсюда
следует, что
77
2m
f . (6.1)
3
x1 u1
x2 u2
U``
xn um
Рис. 6.5
2m m
n . (6.2)
6 3
Подставим значения (6.1) и (6.2) в формулу Эйлера, получим:
m 2
2 = nm+f m m 0.
3 3
2 2 2
Рис. 6.6
Доказательство проведем от обратного. Пусть граф G33
плоский, тогда по формуле Эйлера определим число граней:
f=2+mn=26+9=5.
Нетрудно видеть, что граф G33 бихроматический, т.е. его можно
раскрасить двумя цветами. Поэтому этот граф не содержит циклов
нечетной длины. Следовательно, край каждой грани в таком графе
содержит не менее четырех рёбер. Образуем вспомогательный граф
инцидентности грани-рёбра, представленный на рис. 6.7.
r u1
s
t u2
U`
q um
Рис. 6.7
Если смотреть на ребра со стороны дуг, то имеем неравенство
U` 2m = 18.
Если смотреть на ребра со стороны граней, то имеем неравенство
79
U` 4f=20,
откуда следует неравенство 18 20. Получили противоречие.
Следовательно, формула Эйлера неверна для данного графа. То есть
граф G33 не является плоским.
Пример 2. Докажем, что полный граф из 5 вершин (G5) не
является плоским. Пример такого графа приведен на рис. 6.8.
Рис. 6.8
Доказательство также проведем от обратного. Предположим, что
граф G5 плоский. Тогда по формуле Эйлера подсчитаем число
граней:
f =2n+m =25+10 =7.
Каждая грань ограничивается не менее чем тремя рёбрами. Опять
образуем вспомогательный граф инцидентности гранирёбра и
подсчитаем в нем число рёбер. Получаем, что, с одной стороны, их
2m, а с другой – больше или равно 3f. Следовательно, справедливо
неравенство 2m 3f, т.е. 20 21. Данное противоречие и доказывает,
что наше предположение не верно, т.е. граф G5 не является плоским.
Примечание. Графы G33 и G5 позволяют порождать бесконечное
семейство неплоских графов. Для этого достаточно помещать на их
рёбра новые вершины и получать новые неплоские графы.
80
6.2. Окраска плоского графа
Теорема. Всякий плоский граф является 5-хроматическим, т.е.
может быть раскрашен пятью красками.
Доказательство. Теорема очевидна для плоских графов с
n=1,2,3,4,5 вершинами. Докажем теорему по индукции.
Предположим, что она верна для графов с (n1) вершинами, и
докажем, что она справедлива для графов с n вершинами. В силу
следствия 2, в графе G имеется вершина xX, смежная с 0,1,2,3,4 или
5 вершинами. Подграф, полученный из графа G удалением этой
вершины xX, является по предположению 5-хроматическим (так как
в нём (n1) вершина). Раскрасим его пятью цветами – красным (к),
желтым (ж), зеленым (з), синим (с) и фиолетовым (ф). Тогда
вершину x можно всегда раскрасить одной из пяти красок, кроме
одного случая когда она смежна с пятью вершинами, окрашенными
в различные пять цветов. Пример такого случая показан на рис.6.9.
c( ф)
a( к )
x c
d( )
b(ж
)
з
c( )
Рис. 6.9
к з
Обозначим через G подграф, порождённый вершинами,
окрашенными в цвета к и з. Тогда возможны два случая:
1. Если вершины a и c принадлежат различным компонентам
к з
связности графа G . Пример такого случая приведен на рис. 6.10.
81
к
з
a к
к к
x
з з
c
к
Рис. 6.10
Тогда в компоненте, содержащей вершину a, перекрасим
вершины: окрашенные в красный цвет перекрасим в зеленый, а
окрашенные в зеленый цвет перекрасим в красный.
В этом случаем мы получим, что вершина х смежная с пятью
вершинами, окрашенными в четыре цвета. Следовательно, ее можно
окрасить в освободившийся красный цвет.
2. Если вершины a и c принадлежат одной компоненте связности
к з ж c
подграфа G , то в подграфе G вершины b и d нельзя соединить
цепью, т.е. они принадлежат разным компонентам связности.
ж c
Переставим цвета в той компоненте связности подграфа G ,
которой принадлежит вершина b. Вершина b окрасится в синий цвет.
Следовательно, мы можем окрасить вершину x в желтый цвет.
Теорема доказана.
Примечание. Существует гипотеза о том, что любой плоский
граф можно окрасить в четыре цвета.
6.3. Теоретико-множественные операции над графами
Пусть G1=(X1,Г1) и G2=(X2,Г2) – произвольные ориентированные
графы. Основными теоретико-множественными операциями
являются:
82
1. Объединение. Объединением графов G1 и G2 называется граф,
обозначаемый G1 G2 и определяемый как G1 G2=(X1 X2, Г ), где
Г – отображение множества X1 X2 в себя. Причем
( x X1 X2)[Г (x)=Г1(x) Г2(x)].
Пример. Для графов G1 и G2, представленных на рис. 6.11, их
объединение приведено на рис. 6.12.
G1 G2
x1 x3 x3
x5
x2 x4 x4
Рис. 6.11
G1G2
x1 x3
x5
x2 x4
Рис. 6.12
2. Пересечение. Пересечением графов G1 и G2 называется граф,
обозначаемый G1 G2 и определяемый как G1 G2=(X1 X2, Г ), где
Г – отображение множества X1 X2 в себя. Причем
( x X1 X2)[Г (x)=Г1(x) Г2(x)].
G1G2
x3
x4
Рис. 6.13
3. Дополнение. Дополнением графа G1 называется граф
G 1=(X1, Г 1), где Г 1 – отображение множества X1 в себя, определяемое
как Г 1 = X\Г1. Иными словами:
( x X1)[ Г 1 (х)=Х\Г1(х)].
Пример. Для графа G2, представленного на рис. 6.11, его
дополнение приведено на рис. 6.14.
G2
x3
x5
x4
Рис. 6.14
4. Разность. Разностью графов G1 и G2 называется граф,
обозначаемый G1/ G2 и определяемый как G1/ G2 =(X1/X2, Г / ), где Г / –
отображение множества X1/X2 в себя. Причем
G1 G 2
x1
x2
Рис. 6.15
5. Симметрическая разность. Симметрической разностью
графов G1 и G2 называется граф, обозначаемый G1G2 и
определяемый как G1G2=(X1 X2, Г), где Г – отображение
множества X1 X2 в себя. Причём
( x X1 X2)[Г(х)=(Г1(х) Г 2(x)) ( Г 1(x) Г2(x))].
Пример. Для графов G1 и G2, представленных на рис. 6.11, их
симметрическая разность приведена на рис. 6.16.
G1 G2
x1
x5
x2
Рис. 6.16
6. Инверсия. Инверсией графа G1 называется граф G 11 =(X1, Г 11 ),
где Г 11 - есть отображение множества X1 в себя. Причём
( x1, х2 X1)[ х2 Г1(x1) x1 Г 11 ( х2)].
Пример. Для графа G1, представленного на рис. 6.11, его инверсия
приведена на рис. 6.17.
85
G11
x1 x3
x2 x4
Рис. 6.17
7. Композиция. Композицией графов G1 и G2 называется граф,
обозначаемый G1 G2 и определяемый как G1 G2=(X1 X2, Г0), где Г0
– отображение множества (X1 X2) в себя. Причём Г0=Г1 Г2. Иными
словами, х3 Г0(х1) ( х2 Х)[ х3 Г2(х2) & х2 Г1(х1)].
Пример. Для графов G1 и G2, представленных на рис. 6.11, их
композиция приведена на рис. 6.18.
G1 G2
x1 x3
x5
x2 x4
Рис. 6.18
G1 y2 G2
x1 x2 y1 y3
Рис. 6.19
Здесь X1 ={x1, x2}, Г1(х1) = {x1, x2}, Г1(х2) =, X2 ={y1, y2, y3}, Г2(y1)=
={y2}, Г2(y2) ={y3}, Г2(y3) =. Граф произведения приведен на рис.
6.20.
z2 z3
z1 z4
z5
z6
Рис. 6.20
Здесь G =(Z,Г), Z ={(x1, y1), (x1, y2), (x1, y3), (x2, y1), (x2, y2), (x2, y3)} =
={z1, z2, z3, z4, z5, z6}, Г(z1) =Г(x1, y1) =Г1(x1)Г2(y1) ={(x1,y2), (x2,y2)}=
={z2, z5}, Г(z2) = Г1(x1)Г2(y2) = {(x1, y3), (x2,y3)} ={z3, z6}, Г(z3) = ,
Г(z4)= , Г(z5) =, Г(z6) = .
Произведение графов удобно получать, используя матрицы
смежности вершин. Если R1 – матрица смежности вершин графа G1, а
R2 – матрица смежности вершин графа G2, то матрица смежности
вершин графа произведения G, обозначаемая R, получается
следующим образом: R=R1R2. Здесь знаком «» обозначается
прямое произведение, заключающееся в том, что элемент первой
87
матрицы целиком множится на вторую матрицу. На рис. 6.21
приведены матрицы смежности вершин исходных графов и матрица
смежности вершин графа произведения.
x1 x2
x1 x2 y1 y2 y3 y1 y2 y3
x1 1 1 y1 0 1 0 0 1 0 z1
R1 = x2 0 0 x1 y2 0 0 1 0 0 1 z2
y3 0 0 0 0 0 0 z3
x1 x2 x3 R = y1 0 0 0 0 0 0 z4
x1 0 1 0 x2 y2 0 0 0 0 0 0 z5
R2 = x2 0 0 1 y3 0 0 0 0 0 0 z6
x3 0 0 0 z1 z2 z3 z4 z5 z6
Рис. 6.21
9. Суммирование. Суммированием графов G1 и G2 называется
граф, обозначаемый G = G1G2 = (Z,Г), где множество вершин Z
определяется прямым произведением Z = X1X2, а отображение Г
определяется как Г(z)=Г(x,y)=Г1(x)Г2(y)={Г1(x){y}}{{x}Г2(y)},
где xX1, yX2, zZ.
Пример. Пусть графы G1 и G2 приведены на рис. 6.19. Граф
произведения приведен на рис. 6.22.
z1
z2
z6
z3
z5
z4
Рис. 6.22
Здесь G = (Z,Г), Г(z1) = Г1(x1)Г2(y1) = Г1(х1){y1}{x1}Г2(y1) =
{(x1,y1), (x2,y1), (x1,y2)} = {z1,z2,z4}; Г(z2) = Г1(х1)Г2(y2) = Г1(х1){y2}
88
{x1}Г2(y2) ={(x1,y2), (x2,y2), (x1,y3)} = {z2,z3,z5}; Г(z3) = Г1(х1)Г2(y3)=
={(x1,y3), (x2,y3)} ={z3,z6}; Г(z4) =Г1(х2)Г2(y1) ={(x2,y2)}={z5}; Г(z5)=
=Г1(х2)Г2(y2) ={(x2,y3)}= ={z6}; Г(z6) = Г1(х2)Г2(y3) = .
Сумму графов, так же как и произведение, удобно получать,
используя матрицы смежности вершин графов. Если R1 – матрица
смежности вершин графа G1, а R2 – матрица смежности вершин графа
G2, то матрица смежности вершин графа суммы G, обозначаемая R,
получается следующим образом: R = (R1E2)(E1R2), где Е1 и Е2 –
единичные матрицы такого же порядка, как и матрицы смежности R1
и R2. Здесь операция соответствует прямому произведению, а
операция – объединению, при котором над одноименными
элементами матриц выполняется логическая операция «дизъюнкция».
На рис. 6.23 приведены матрицы смежности вершин исходных
графов, единичные матрицы и матрица смежности вершин графа
суммы:
1 1 0 1 0 1 0 1 0 0
R1 = 0 0 , R2 = 0 0 1 E1 = 0 1 , E2 = 0 1 0
0 0 0 0 0 1
1 0 0 1 0 0 0 1 0
0 1 0 0 1 0 0 0 1 0
0 0 1 0 0 1 0 0 0
R1*E2 = E1*R2 =
0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0
1 1 0 1 0 0
0 1 1 0 1 0
0 0 1 0 0 1
R1*E2 E1*R2 =
0 0 0 0 1 0
0 0 0 0 0 1
0 0 0 0 0 0
Рис. 6.23
89
Контрольные вопросы
1. Какой граф называется плоским?
2. Доказать формулу Эйлера.
3. Доказать, что граф G33 не является плоским.
4. Доказать, что граф G44 не является плоским.
5. Доказать, что граф G5 не является плоским.
6. Доказать, что граф G6 не является плоским.
7. Определить операцию произведения двух графов.
8. Определить операцию сложения двух графов.
91
7. ТРАНСПОРТНЫЕ СЕТИ
(4)
(5)
(3)
(2) xn
(4) (4)
(3) (3)
(5)
(5)
Рис. 7.1
Определение. Функцию (u), определённую на множестве рёбер
U, называют потоком в транспортной сети, если удовлетворяются
следующие условия:
1) (uU)[(u) 0];
2) (xi х0 & xn)[ (u) = (u)],
uU X i u U X i
92
где U X – множество дуг, заходящих в вершину xi, а U X – множество
i i
разреза А.
Так как каждая частица «вещества», движущегося по сети от
вершины х0 к вершине хn, пройдёт по крайней мере однажды по
какой-нибудь дуге, принадлежащей разрезу, то какой бы ни был
поток (хn) и какой бы ни был разрез U A , можно записать, что
(хn) C (U A ) .
На рис. 7.2 показан пример, иллюстрирующий это неравенство.
x0 xn
Рис. 7.2
Дуга uU называется насыщенной, если (u) = C (u), т.е. поток,
проходящий через дугу, равен пропускной способности дуги.
93
Сформулируем теперь задачу о потоке: требуется определить
такую функцию (u) для каждой дуги uU, чтобы величина (х n )
(поток на выходе) принимала бы максимальное значение.
Для решения этой задачи рассмотрим три теоремы.
Теорема 1. Пусть = (х0, хi1, xi2,…, xil, xn) – путь, соединяющий
вход x0 с выходом хn. Если все дуги этого пути не насыщенные, то
можно увеличить поток , не нарушая условия 2 в определении
потока.
Действительно, рассмотрим разности (u) = C (u)(u)>0 для
любого ребра u U . Здесь U – множество дуг данной цепи.
Выберем среди них наименьшее: * = min{(u)}. Увеличивая на *
поток в каждой дуге, что не нарушает соотношение, определяющее
поток, мы придём к потоку +*.
Пример. Рассмотрим путь, приведенный на рис. 7.3.
4 6 7 3 4 поток
пропускная способность
3 (5) 5 (8) 6 (7) 8 (9) 3 (6)
x0 A B C D xn
Рис. 7.3
Находя значение * = 76 = 1, приходим к выводу, что поток
можно увеличить на 1.
Пусть L = (х0, хj1, xj2,…, xjl, xn) – цепь, соединяющая вершины х0 и
хn. Предположим, что она не является путём, т.е. содержит
противоположно ориентированные дуги. Если ориентация дуги
совпадает с направлением от вершины х0 к вершине хn, то будем
обозначать её u , в противном случае u . Таким образом все ребра
цепи разобьются на два подмножества U и U .
94
Для всех ребер из подмножества U определим значения
(u ) C (u ) (u ) и min
{ (u )} . Для всех ребер из подмножества U
*
U
определим значение min { (u )} .
*
U
Далее найдем величину
* min{ * , *} .
Теорема 2. Если *>0, то, увеличивая на * поток в каждой
дуге U и уменьшая на * поток в каждой дуге U , мы увеличим поток
в цепи на величину *. Цепь, для которой величина * = 0 называется
насыщенной цепью.
Пример. Рассмотрим цепь, приведенную на рис. 7.4.
4 5 2 3 1 6
2 (4) 3 (6) 4 (4) 1 (3) 3 (5) 4 (8)
х0 A B C D E хn
насыщенная
Рис. 7.4
Найдя значения * = min{2,3,2,4}=2, * = min{4,3}=3 и * =2,
приходим к выводу, что поток можно увеличить на 2.
Определение. Поток в транспортной сети называется полным,
если любой путь, соединяющий вершины х0 и хn, содержит по
крайней мере одну насыщенную дугу. Иначе говоря, нельзя
увеличить поток в транспортной сети, рассматривая только пути.
Иногда это можно сделать, рассматривая цепи, идущие от вершины х0
к вершине хn.
Теорема 3. Если не существует цепи от вершины х0 к вершине хn,
с величиной *>0, то поток транспортной сети нельзя больше
увеличивать, т.е. он максимален.
Доказательство. Исключим из транспортной сети все дуги, для
которых ( U ) = 0 или ( U ) = 0. Получим по крайней мере два не
95
связных между собой подграфа, в противном случае существовала бы
по крайней мере одна не насыщенная цепь, соединяющая вершину х0
с вершиной хn.
Множество вершин того подграфа, который содержит вершину
хn, обозначим через А. Очевидно, что А определяет разрез U А и
величину
Х0
n (u) C(u) C(U ) .
A
uU A uU A
максимальному потоку.
вершина хnА.
Из рассмотренных теорем вытекает алгоритм Форда–Фалкерсона,
применимый к любой транспортной сети.
1°. Отыскание какого-нибудь потока транспортной сети. Строим
некоторый поток , удовлетворяющий определению потока
(например, нулевой).
2°. Отыскание полного потока. Если поток неполный, то в сети
существует путь от вершины х0 к вершине хn, все дуги которого не
насыщены. Отыскиваем такой путь в суграфе, образованном
ненасыщенными дугами. Увеличиваем поток через дуги этого пути
96
до насыщения хотя бы одной из них. Получаем новый поток `. Если
поток ` не является полным, то операция повторяется. Таким
образом, поток, не являющийся полным, всегда может быть увеличен
до полного потока.
3°. Отыскание максимального потока. Производится с помощью
приёма, основанного на теореме 2.
3.1°. Помечаем вершину х0 через .
3.2°. Если вершина хi – помеченная вершина, то помечаем через
[+хi] все не помеченные вершины х, для которых дуги (хi, х) – не
насыщены. А символом [хi] помечаем все не помеченные вершины
хi, для которых поток (х, хi)>0.
Если таким образом удается пометить выход хn, то это означает,
что существует цепь, идущая из вершины х0 к вершине хn, все
вершины которой помечены. Тогда в соответствии с теоремой 2
вычисляем значение *>0 и увеличиваем поток транспортной сети
на величину *. Процедура заканчивается, когда не удаётся пометить
конечную вершину хn. При этом в соответствии с теоремой 3 поток в
цепи будет максимальным.
Пример. Рассмотрим транспортную сеть, приведенную на рис.
7.5.
A C
(3)
(6) (5) (5)
(4)
(6)
x0 xn
B
(10) (4)
Рис. 7.5
97
Над дугами в скобках указаны пропускные способности дуг.
Вначале найдем полный поток транспортной сети. Для этого находим
все ненасыщенные пути и увеличиваем их поток:
1) путь (х0АСхn) на величину 3;
2) путь (х0ABхn) на величину 3;
3) путь (х0Cхn) на величину 2;
4) путь (х0Dхn) на величину 4.
Транспортная сеть примет вид, приведенный на рис. 7.6.
Таким образом, полный поток полн = 3+3+2+4= 12.
Найдем теперь максимальный поток. Для этого, помечая вершину
x0 через +, попытаемся пометить вершину xn.
A [-С] C [+x0]
3(3)
63(6) 3(5) 53(5)
2(4)
B 3(6) [+B]
+x0 [+A] xn
4(10) 4(4)
Рис. 7.6
В результате описанного выше алгоритма приходим к следующей
цепочке помеченных вершин, показанных на рис. 7.7.
Рис. 7.7
98
Для нее вычисляем значение *=2. Отсюда находим
максимальный поток: макс =полн + * =12+2 = 14. Далее находим
разрез с минимальной пропускной способностью: А = {хn, B}, C(A)=
=14 (рис. 7.8).
A C
1(3)
6(6) 5(5) 5(5)
4(4)
5(6)
x0 xn
B
4(10) 4(4)
Рис. 7.8
(3)
B (8)
G (2)
(12) (11) (5) F (9)
(3) (5)
(4) M (10)
(9) (3)
A C E
(5) (3)
(2) H I
(14) (1)
(8) (7)
(2)
D K (5)
J (12)
(2)
(8)
L (9)
Рис. 7.9
103
2. Отыскать максимальный поток для транспортной сети из
задачи 1.
3. Отыскать максимальные потоки в транспортных сетях,
графы которых показаны на рис. 7.107.12.
(5)
F
B
(2) E (4) (12)
(3) (9) (2)
(17) (5)
A C (3) G J
(6)
(3) (5)
(4) (5)
(7)
D H (8)
(12) I
Рис. 7.10
(2) (2)
1 4 7
(3)
(3) (5) (5)
(5) (5)
(3) (1) (2) (3)
0 2 5 8 10
(5) (5)
(3) (5) (5) (3)
3 6 9
(2) (2)
Рис. 7.11
Рис. 7.12
104
4. Транспортная сеть представлена графом, показанным на рис.
7.13. Найти максимальный поток транспортной сети и разрез с
минимальной пропускной способностью, если пропускная
способность дуг представлена в табл. 7.1.
4
u4 u15
u13
1 8
u5 u16
u 24
u1 u6 5 u 22
u17
u2 u7 u 25
0 2 9 11
u18
u3 u8 u 23
u12 6
u19 u 20 u 26
u9
3 u14 10
u10
7
u 21
Рис. 7.13
105
Таблица 7.1
Вариант
Ребро
1 2 3 4 5 6 7 8 9 10 11 12 13 14
U1 6 8 6 7 8 9 10 12 6 7 8 9 10 11
U2 8 14 7 10 14 8 9 10 11 12 11 10 9 8
U3 14 9 12 10 8 14 13 12 11 10 9 10 11 12
U4 6 4 5 6 6 6 6 4 4 4 5 5 5 5
U5 2 3 1 2 2 2 2 3 3 3 1 1 1 1
U6 5 6 4 5 5 5 6 6 6 4 4 4 5 5
U7 3 5 2 3 3 3 5 5 5 2 2 2 3 3
U8 7 6 8 8 7 7 7 6 6 8 8 8 6 6
U9 8 7 8 7 8 8 8 7 7 8 8 8 7 7
U10 2 1 1 2 1 1 2 1 1 2 1 1 2 1
U11 4 3 4 4 3 4 4 3 4 4 3 4 4 3
U12 1 2 1 1 2 1 1 2 1 1 2 1 1 2
U13 8 9 7 8 9 7 7 9 8 8 9 7 7 9
U14 11 10 9 10 9 11 10 9 11 10 9 11 10 9
U15 2 3 3 3 3 2 3 3 2 3 3 2 3 3
U16 9 10 9 8 7 9 10 8 7 9 10 8 7 9
U17 1 2 3 1 2 1 2 2 1 3 2 1 2 3
U18 7 6 6 8 6 6 7 8 7 6 8 7 6 8
U19 4 5 4 5 4 5 4 5 4 5 4 5 4 5
U20 2 3 1 4 3 2 2 3 4 3 2 2 3 4
U21 9 8 9 10 9 8 8 9 10 10 9 8 8 9
U22 3 4 2 3 4 2 3 4 2 3 4 2 3 4
U23 8 9 7 8 9 7 7 9 8 8 9 7 7 9
U24 9 10 11 9 10 11 9 10 11 9 10 11 9 10
U25 6 5 7 5 6 7 7 6 5 5 6 7 7 6
U26 12 11 13 11 12 13 11 12 13 13 12 11 13 12
106
Вариант
Ребро
15 16 17 18 19 20 21 22 23 24 25 26 27 28
U1 12 6 7 8 6 7 8 6 7 8 6 7 8 6
U2 7 7 7 14 7 13 6 7 8 6 7 8 6 7
U3 13 13 14 6 14 6 13 14 12 13 14 12 13 14
U4 4 5 6 5 6 5 6 5 6 5 6 6 5 5
U5 3 3 2 2 3 3 2 2 3 3 2 3 2 3
U6 5 6 5 6 5 7 6 5 7 6 5 7 6 5
U7 3 4 3 4 3 5 4 3 5 4 3 5 4 3
U8 6 7 8 6 7 8 6 7 8 8 7 6 6 7
U9 7 8 9 7 8 9 7 8 9 9 8 7 7 8
U10 1 2 1 1 2 1 1 2 1 1 2 1 2 2
U11 4 4 3 4 4 3 4 4 3 4 4 3 4 4
U12 1 1 2 1 1 2 1 2 2 1 1 1 2 1
U13 8 8 9 7 8 8 9 7 9 7 8 9 7 8
U14 11 11 10 9 11 11 10 9 10 9 11 10 9 11
U15 2 2 3 3 2 2 3 2 3 2 2 3 2 3
U16 10 9 10 9 10 9 10 9 10 9 9 9 10 9
U17 2 1 2 3 3 2 3 1 2 3 2 1 2 3
U18 7 6 7 6 6 6 6 6 7 6 6 6 7 6
U19 4 4 4 5 4 5 5 4 4 5 4 4 5 5
U20 3 3 2 3 2 3 2 3 2 3 3 2 3 2
U21 10 8 9 8 9 8 9 8 9 8 8 9 8 9
U22 2 4 3 2 3 4 3 2 2 3 4 3 2 4
U23 8 8 9 7 8 9 7 7 9 8 8 9 7 8
U24 11 9 10 11 10 9 10 11 9 10 9 10 11 9
U25 5 6 5 7 5 6 5 7 6 5 6 5 7 6
U26 11 12 11 13 11 12 11 13 12 11 12 11 13 12
107
Контрольные вопросы
1. Дать определение транспортной сети.
2. Дать определение потока.
3. Дать определение разреза и пропускной способности
сети.
4. Дать определение полного потока сети.
5. Сформулировать задачу о максимальном потоке сети.
6. Сформулировать теорему Форда–Фалкерсона о связи
максимального потока сети с минимальным ее разрезом.
108
8. РАЗМЕЩЕНИЕ ЦЕНТРОВ
(8.2)
St ( xi ) max
x X
[v j d ( x j , xi )].
j
x1
x6 x2
x5 x3
x4
Рис. 8.1
110
x3
y1
x5 x4
Рис. 8.2
x1 x2 x3 x4 x5
y1 1,5 1,5 1,5 1,5 1,5
Метод Хакими
Этот метод для неориентированного графа состоит в следующем
(для ориентированного графа метод остается таким же, надо только
каждое «неориентированное» понятие заменить его
«ориентированным двойником»):
(1) Для каждого ребра аk, графа найти точки (или точку) y k , на
*
x
Ребро k
Остаток графа G y
k
x i
x
Рис. 8.3
Возьмем ребро аk графа G (рис. 8.3). Тогда имеем
S ( y k ) max vi d y k , xi
(8.3)
max vi min l y k , x d x , xi ,l y k , x d x , xi .
x j X
Рис. 8.4
Аналогично находим значения: T2=+2, T’2=16–, T3=, T’3=16–,
T4=+12, T’4 = 14–, T5=+8, T’5 = 10–.
Графики этих функций изображены на рис.8.5,а для 08.
Имеются два локальных абсолютных центра у1* на расстоянии 6-ти и
8-ми минут от х3. Число разделения этих двух центров равно 8-ми
минутам. Аналогично строятся графики для ребер а2, а3, . . (см.
рис.8.5,б-е). Абсолютный центр (у*) этого графа есть такой
локальный центр, который имеет наименьшее число разделения. Он,
118
как легко видеть, находится на ребре а3 (рис. 8.5,в) в двух минутах от
x5. Абсолютный радиус r (соответствующий y*) равен 6.
20
Т4
16
Т1 и Т5
12
Т 2 и Т 3
Т 4
8
4 Т2 Т 5
Т3 Т 1
0 2 4 6 8
(От х3 до х1)
Рис. 8.5,а. Размещение на ребре а1
Т 4
12 Т4
Т1
Т 1 и Т 5
8
Т5
4 Т 2 Т3
Т2
Т 3
0 1 2
(От х2 до х3 )
Рис.8.5,б. Размещение на ребре а2
119
16
Т 4
Т3
Т 1
12 Т2
Т 5
Т4
8 Т1
Значение
абсолютного Т5
радиуса
4
Т 2 Т 3
0 2 4 6
Положение
глобального (От х5 до х2 )
радиуса
Рис. 8.5,в. Размещение на ребре а3
Т2 и Т3
8
Т 3
Т4
Т 4 Т 2
4 Т 1
Т5
Т1
Т 5
0 1 2
(От х1 до х5)
Итерационный метод
Чтобы сделать изложение более простым, опишем данный метод
для случая неориентированных графов. Замена каждого
«неориентированного» понятия его «ориентированным двойником»
не приводит к какому-либо коренному изменению метода.
122
Пусть Q(xi) – множество всех таких точек у, лежащих на ребрах
графа G, из которых вершина xГ достижима с взвешенным
расстоянием, не превосходящим . Таким образом,
Q(xi) = {y|vid(y,xi), y – точка графа G}.
Это выражение похоже на те, с помощью которых были
определены множества R0(xi) и Rt(xi)); отличие состоит в том, что
теперь у – любая точка графа G, а необязательно его вершина.
Абсолютный радиус r, очевидно, является наименьшим значением ,
при котором из некоторой точки у графа G все вершины графа могут
быть достигнуты с взвешенным расстоянием, мёньшим или равным
. Следовательно, r есть такое наименьшее значение min, что
справедливо
[Q ( x )] .
xi X
i (8.7)
Контрольные вопросы
1. Дать определение внешних и внутренних центров и радиусов
графа.
2. Дать определение абсолютных внешних и внутренних центров
и радиусов графа.
125
9. НЕЧЕТКИЕ ГРАФЫ
0,3
X1
1 0,7
0,4
X5 X2
0,6
X4
0,9 X3
0,8
Рис. 9.1
126
0,6 0,1
0,2
0,5 0,8 0,9
5 1 2
1 4
Рис. 9.2
Нечеткий ориентированный граф первого рода можно также
удобно задавать в виде G = (X, ) , где X={xi}, i I = {1,2,..., n} , а –
0,8 X2
0,6 X 4
0,4
1
0,5
0,9 X 1 0,8
0,7 X 3
0,9
0,4 X 5
Рис. 9.3
U = {< U xi , x k > / xi , x k >>}, < x i x k X2 , где функция
U x i , x k >= U x i , x k >& X (x i )& X x k в минимаксном базисе –
U x i , x k >= min( U x i , x k >, X (x i ), X x k и в вероятностном
базисе – U xi , x k >= U xi , x k > X (xi ) X x k
Графы G и G' будем называть сопряженными.
129
-
d& xi
x j xi
U xi x j X xi ,
d + xi
x j xi
U x j xi X x j ,
d - xi
x j xi
U xi x j X xi ,
x i x j
+
d av xi U x j x i X x j ,
xi
x i x j
-
d av xi U x i x j X x i .
xi
~ ~
H H2
0,1
0,6
0,8 0,9
5 2
4
Рис. 9.4
Отметим, что для произвольного нечеткого графа с конечным
множеством вершин, семейство различных подграфов есть конечное
множество.
Определение. Часть графа H = (X, U) называется нечетким
суграфом графа G = (X, U) , если X = X и U U .
133
Иначе говоря, нечеткий суграф получается из исходного графа
путем уменьшения значений функций принадлежности ребер
исходного нечеткого графа, вплоть до исключения самих ребер
(значение функции принадлежности равно 0).
Пример. Для нечеткого графа G = (X, U) , приведенного на рис. 9.2,
нечетким суграфом является граф H 3 , приведенный на рис. 9.5.
~
H3
0,1
0,2
0,5 0,8 0,9
5 1 0,3 2
4
Рис. 9.5
Заметим, что для произвольного нечеткого графа с конечным
числом вершин, семейство различных суграфов является
бесконечным множеством.
Определение. Часть графа H = (X, U) называется нечетким
куском графа G = (X, U) , если X X и U Uin Uout , где нечеткие
ребра из Uout связывают вершины из множества X с остальными
вершинами графа G , а ребра из U in связывают вершины из
множества X между собой.
Кусок всегда содержит нечеткий подграф, порожденный
множеством X .
~ ~
Пример. Для нечеткого графа G = (X, U) , приведенного на рис.
9.2, и подмножеством вершин X = {x1 x4 , нечетким куском является
~
кусок H 4 , приведенный на рис. 9.6.
134
~
H4
0,2
0,5 0,8
1 1 4
Рис. 9.6
Отметим также, что семейство различных кусков произвольного
нечеткого графа с конечным множеством вершин есть конечное
множество.
назовем степенью включения нечеткого графа G1 в нечеткий граф G2 .
назовем степенью включения нечеткого графа G2 в нечеткий граф G1 .
Если степень (G1 G 2 , то говорят, что нечеткий граф G1
нечетко включается в нечеткий граф G2 и обозначается как G1 G 2 .
~
135
Аналогично, если величина (G 2 G1 , то говорят, что нечеткий
граф G2 нечетко включается в нечеткий граф G1 и обозначают в виде
G 2 G1 .
~
Определение. Величину (G1 G 2 , определяемую выражением
(G1 G 2 (G1 G 2 (G 2 G1 , назовем степенью нечеткого
равенства нечетких графов G1 и G2 .
Если величина (G 1 G 2 , то говорят, что нечеткие графы G1 и G2
нечетко равны и обозначают как G1 G 2 .
Пример. Рассмотрим нечеткие графы G1 иG 2 , приведенные на
рис. 9.7.
~ ~
G G2
X
0,8 0,5
0,2
Рис. 9.7
Найдем их степень нечеткого включения и нечеткого равенства.
Степень нечеткого включения графа G1 в граф G2 определится как
(G1 G 2 .
Следовательно, можно записать, что G 1 ~ G 2 .
Аналогично находим степень нечеткого включения графа G2 в
граф G 1 :
(G 2 G1 .
Следовательно, можно также записать, что G 2 G 1 . ~
136
Величина нечеткого равенства определится как (G1 G 2 .
Откуда получаем, что графы нечетко равны, т.е. G 1 G 2 .
Контрольные вопросы
1. Дать определение нечеткого графа первого и второго рода.
2. Какие способы задания нечетких графов вы знаете?
3. Какие графы называются сопряженными?
4. Дать определение полустепени захода и исхода.
5. Какие части нечеткого графа вы знаете?
137
Рис. 10.1
138
Рис. 10.2
Величина t=max{0,5;0,6}=0,6 и, следовательно, степень
внутренней устойчивости ( X )=1-0,6=0,4.
Если X’=X, то величина (Х) определит степень внутренней
~
устойчивости графа G .
~
Пример. Для графа G , приведенного на рис. 10.1, величина
( X ) 0.
~
В случае вырождения графа G в четкий граф G, величина для
любого подмножества X принимает значения 0 или 1. Если
( X )=1, то множество X совпадает с одним из внутренне
устойчивых множеств графа G. Если ( X )=0, то множество X не
входит в семейство внутренне устойчивых множеств графа G.
Определение. Подмножество вершин X X назовем
максимальным нечетким внутренне устойчивым множеством со
степенью внутренней устойчивости ( X ), если для любого
X X величина ( X )<( X ).
Пусть { X , X ,..., X } – семейство максимальных
k K1 K2 Kl
X k1
0
X k2
0
X kl
соответственно.
139
Обозначим через max
Xk
max{ , ,..., } . Если семейство k ,
0
X k1
0
X k2 X kl
0
то положим X X . Величина X
max max max ~
k k 1 k
означает, что в графе G
существует подграф на k вершин со степенью внутренней
устойчивости max
Xk
и не существует никакого другого подграфа с k
вершинами, чья степень внутренней устойчивости была бы больше
величины X .
max
Определение. Множество ~
A { / 1 , / 2 ,..., / n }
X
max
X1
max
X2
max
Xn
Рис. 10.3
Семейство максимальных внутренне устойчивых множеств для
этого графа будет T1 {11 , 12 } , где 11 {x1 , x2 , x4 } и 12 {x2 } , которые
и являются нечеткими внутренне устойчивыми множествами со
степенью нечеткости 0,6. Пусть теперь величина 2 = 0,3. Построим
суграф G0,3 , показанный на рис. 10.4.
Рис. 10.4
Семейство максимальных внутренне устойчивых множеств для
этого графа будет T2 {21 , 22 } , где 21 {x1 , x2 , x3} и 22 {x1 , x3 , x4 } .
Свойство. Пусть T1 {11 , 12 ,..., 11 } и T 2 {21 , 22 ,..., 2 2 } –
семейства максимальных внутренне устойчивых множеств со
141
степенями внутренней устойчивости 1 и 2 соответственно. Пусть
1 2 , тогда справедливы следующие высказывания:
а) | T | | T | ;
1 2
ij 1 U ( xi , x j ) .
Рассматривая выражение (10.1) для всех возможных значений i и
j, получаем истинное нечеткое высказывание
& &( pi p j ij ) . (10.2)
i j i
X k1
0
X k2
0
X kl
соответственно. Обозначим
через kmin max{ X0 , X0 ,..., X0 } . Если семейство , то положим
1
k
2
k
l
k k
Рис. 10.5
Далее находим, что минимальные внешне устойчивые множества
со степенью устойчивости не менее 0,5 имеют вид T1 {x2 , x3} и
T2 {x1 , x3 , x4 } .
Рассмотрим метод нахождения всех минимальных нечетких
внешне устойчивых множеств с наибольшей степенью внешней
устойчивости. Как и для внутренне устойчивых множеств, данный
метод является обобщением метода Магу для четких графов.
Пусть T – некоторое нечеткое внешне устойчивое множество
~ ~
нечеткого графа G ( X ,U ) со степенью внешней устойчивости (T ) .
Тогда для произвольной вершины xi X должно выполняться одно
из двух условий (или оба одновременно):
а) вершина xi принадлежит рассматриваемому множеству Т;
б) существует некоторая вершина x j , которая принадлежит
множеству Т и при этом функция принадлежности U ( xi , x j ) (T ) .
Иными словами, справедливо следующее высказывание:
(xi X )[ xi T (x j )( x j T & U ( xi , x j ) (T ))]. (10.6)
147
Каждой вершине xi X поставим в соответствие булеву
переменную pi , принимающую значение 1 при xi T и 0 – в
противном случае. Высказыванию U ( xi , x j ) (T ) поставим в
соответствие нечеткую переменную ij U ( xi , x j ).
Переходя от кванторной записи высказывания (10.6) к записи
через логические операции, получаем истинное логическое
высказывание
T &( pi ( p j & ij )).
i j
X k1
0
X k2
0
X kl
X k1
0
X k2
0
X kl
Определение. Множество ~
N { / 1 , / 2 ,..., / n }
X
max
X1
max
X2
max
Xn
~
назовем нечетким множеством ядер нечеткого графа G .
Рассмотрим метод нахождения всех нечетких ядер графа с
~
наибольшей степенью . Пусть N X – нечеткое ядро графа G со
степенью ( N ) [0,1]. Учитывая определение нечеткого ядра графа,
получаем истинность следующего выражения:
N & T . (10.9)
~
Величина ( X ) отражает степень близости подграфа G ( X ,U~ )
к полному подграфу с X вершинами.
Определение. Подмножество вершин X X назовем
максимальной кликой со степенью ( X ) [0,1] , если справедливо:
(X X )( X X ( X ) ( X )) .
Иначе говоря, любое подмножество X , включающее в себя
подмножество X , является кликой со степенью меньшей величины
( X ) .
~
Пример. Для графа G , приведенного на рис. 10.1, подмножество
X {x , x , x } является максимальной нечеткой кликой со степенью
1 1 2 3
~ ~
Величина Xmax означает, что в графе
k
G=(X,U) существует k-вершинный
подграф, в котором между любыми двумя вершинами существует
ребро со степенью не менее X и не существует никакого другого
max
k
~
Определение. Множество K { Xmax
1
/ 1 , Xmax
2
/ 2 ,..., Xmax
n
/ n }
~
назовем нечетким множеством клик нечеткого графа G .
Свойство. Из определения непосредственно вытекает
неравенство 1 Xmax Xmax ... Xmax 0 .
1 2 n
x1 x2
0,8 1
0,4
x4 x3
Рис. 10.6
Высказывание для этого графа примет вид
153
( p p 0,5) & ( p p ) & ( p p 0,2) & ( p p 0,6) & ( p p 0,3).
1 2 1 3 1 4 2 3 3 4
~ ~
нечеткого графа G имеет вид K { 1 / 1 , 1 / 2 , 0,3 / 3 , 0 / 4 }.
через max
Xk
max{ , ,..., }. Величина k1 k2 kl
max
Xk
означает, что в графе
G = (X, U) существует подмножество, состоящее из k вершин, из
которого достижимы все оставшиеся вершины со степенью не менее
154
max
Xk , и не существует подмножества, состоящего из k вершин, из
которого достижимы все оставшиеся вершины со степенью более
max
Xk
. Если семейство X , то определим X X .
k
max
k
max
k 1
~
Определение. Множество B { /1 , / 2 ,..., / n }
X
max
X1
max
X2
max
Xn
~
назовем нечетким множеством баз нечеткого графа G .
Обозначим через RB нечеткое множество вершин, достижимых
из произвольного подмножества B X , т.е. RB x ,
xiX
i где
xi – нечеткое транзитивное замыкание вершины xi . Тогда
множество B является нечеткой базой со степенью тогда и только
тогда, когда выполняются условия:
RB j xj xj X&(j=1,nj , (10.10)
(B B R(B )= j xj xj X&(j=1,nj . (10.11)
Пример. Пусть нечеткий граф G имеет вид, показанный на
рис.10.7. Тогда величина L=|{1;0,9;0,7;0,6;0,5}|=5, а нечеткими
базами будут являться множества B1={A,B,C,D,F,L,M,I,K},
B0,9={A,B,C, F,L,M,I}, B0,7={A,B,L,M,I}, B0,6={A,B,L, I} и B0,5={A}.
156
A
0,5 0,7
B C
L M
D E F
1 0,9
1 1
0,5
G H I J K
Рис. 10.7
Отметим взаимосвязь между нечеткими базами и нечеткими
сильно связными подграфами. Справедливы следующие свойства.
Свойство 6. Если подмножество B является нечеткой базой со
степенью , то существует такое X X , что B X ,где X –
носитель нечеткого сильно связного подграфа G =(X ,U ) со степенью
сильной связности не менее .
Свойство 7. Если подмножество B является нечеткой базой со
степенью , то не существует такого X X , что X B и X
являлся бы носителем нечеткого сильно связного подграфа
G =(X ,U ) со степенью сильной связности .
Из свойства 7 вытекает следующее следствие.
Следствие. Для того чтобы в нечетком графе G существовала
нечеткая база со степенью , состоящая из одной вершины,
необходимо чтобы граф G был сильно связен со степенью сильной
связности .
По аналогии с четкими графами понятие, двойственное понятию
нечеткой базы, можно сформулировать следующим образом.
157
Определение. Минимальной нечеткой антибазой со степенью
нечеткого графа G называется подмножество вершин B X , для
которых выполняются условия.
1. Из любой вершины множества X\B достижима хотя бы одна
вершина множества B со степенью достижимости не менее .
2. Для любого подмножества вершин B B условие 1 не
выполняется.
Пусть Xk
{ X , X ,..., X }
k1 k2 kl
– семейство нечетких антибаз,
состоящих из k вершин со степенями , ,..., . Обозначим
k1 k2 kl
через max
Xk
max{ , ,..., }. Величина
k1 k2 kl
max
Xk
означает, что в
~
графе G ~
=(X,U ) существует подмножество, состоящее из k вершин,
достижимые из всех оставшихся вершин со степенью не менее Xmax и k
0,3
0,1
0,9
Рис. 10.8
Матрица достижимости ij nn для этого графа будет иметь
вид
1 0,8 0,6 0,6
0,7 1 0,6 0,6 (10.16)
.
0,6 0,6 1 1
0,6 0,6 0,6 1
~ ~
устойчивости нечеткого подграфа G i = (Xi ,Ui ) .
~
степенью разделимости нечеткого графа G при его окраске в k цвета.
При окраске нечеткого графа, возникают следующие задачи.
~
1. Для заданных нечеткого графа G и числа красок k определить
наибольшую степень разделимости L.
~
2. Для заданных нечеткого графа G и степени разделимости L
определить минимальное число красок k.
~
Нечеткий граф G может быть раскрашен в произвольное число
красок k и при этом степень разделимости L зависит от их числа.
~
Нечеткому графу G поставим в соответствие семейство нечетких
~ ~
множеств = {A G } , A G { L A~ (k ) / k | k 1, n } , где LA~ ( k) – определяет
~
степень разделимости графа G при его некоторой окраске в k цветов.
Определение. Нечеткое ~
{ L ~ ( k) / k| k 1, n}
множество
~
назовем нечетким хроматическим множеством графа G , если для
~ ~
любого другого множества A , справедливо A ~
G . G
~
Иначе говоря, (A G )(k 1, n)[ LA ( k) L~ ( k)] . Или, иными
словами, нечеткое хроматическое множество определяет наибольшие
~
степени разделимости графа G при его окраске в 1, 2, ..., n
цветов.
162
Отметим ряд свойств, которыми обладает нечеткое хро-
матическое множество.
Свойство 1. Величина L~ ( n) 1. Иными словами, при окраске
~
нечеткого графа G , содержащего n вершин в n цветов степень
разделимости равна 1.
Свойство 2. Величина L~ (1) 0 , причем
( L~ (1) 0) (x, y X| G ( x, y) 1) .
~
Иными словами, при окраске нечеткого графа G, содержащего n
вершин в один цвет, степень разделимости равна 0, если существует
хотя бы одно ребро со степенью 1.
Свойство 3. Справедливо выражение
(i, j 1, n)(i j L ~ (i) L ~ ( j)).
Иными словами, чем большее количество красок используется при
~
окраске нечеткого графа G , тем больше его возможная степень
разделимости L.
Свойство 4. Справедливо выражение
(i, j, k 1, n)[(i k j)&( L ~ (i) L ~ ( j)) ( L( k) L(i) L( j))] .
2) j X ;
j1, k
A 0,9 B
1 1
E 0,4 0,7 F
0,6 0,4
D 0,6 C
Рис. 10.9
Умножая первую на вторую, третью на четвертую скобки,
получаем
( p & p p & p & p 0,6 & p & p 0,4 & p p & p
B C B D F B D B A C
0,3 & p 0,1) & ( p & p & p p & p & p p & p & p
A A B D D E F A D F
p & p 0,6 & p & p 0,4 & p & p 0,4 & p & p ) 1.
B E F E A B A F
165
Перемножая полученные скобки и опуская знак конъюнкции,
окончательно получаем
p p p p p p p p p p p p p p p p p p p
A B C D B C E A B D F B D E F A C D F
~
Таким образом, нечеткий граф G имеет 13 максимальных
нечетких внутренне устойчивых множеств: 1 {E, F} , 2 {A, D, F} ,
0,5 X
0,2 0,4
0,8
4
Рис. 10.10
Контрольные вопросы
1. Что называется нечетким внутренне устойчивым множеством и
степенью внутренней устойчивости нечеткого графа?
2. Пояснить метод Магу для выделения максимальных нечетких
внутренне устойчивых множеств.
3. Что называется нечетким внешне устойчивым множеством и
степенью внешней устойчивости нечеткого графа?
4. Пояснить метод Магу для выделения минимальных нечетких
внешне устойчивых множеств.
5. Дать определение ядра нечеткого графа.
169
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Кофман А. Введение в прикладную комбинаторику. – М.:
Наука, 1979. – 479 с.
2. Кристофидес Н. Теория графов (алгоритмический подход). –
М.: Мир, 1979. – 424 с.
3. Оре О. Теория графов. – М.: Наука, 1980. – 336 с.
4. Харари Ф. Теория графов. – М.: Мир, 1973. – 300 с.
5. Свами М., Тхуласираман К. Графы, сети и алгоритмы. – М.:
Мир, 1984. – 455 с.
6. Берштейн Л.С., Боженюк А.В. Нечеткие графы и гиперграфы.
– М.: Научный мир, 2005. – 256 с.
170
СОДЕРЖАНИЕ
Предисловие……………………………………..……..……..……. 3
Теория графов
Учебное пособие
Подписано в печать
Заказ № Тираж 50 экз.
Формат 60х84 1/16. Усл.печ.л. – 10,9. Уч.-изд. л. – 10,7.