Вы находитесь на странице: 1из 173

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное
образовательное учреждение
высшего образования
«Южный федеральный университет»

Л.С. Берштейн
А.В. Боженюк

ТЕОРИЯ ГРАФОВ

Учебное пособие

Ростов-на-Дону
Издательство Южного федерального университета
2014
2
УДК: 518.8:681.32(075.8)

РЕЦЕНЗЕНТЫ:

доктор технических наук, профессор, зав.кафедрой прикладной


математики и информатики Таганрогского института управления и
экономики Карелин В.П.;
доктор технических наук, профессор, зав.кафедрой информатики
Таганрогского института имени А.П. Чехова (филиал) «Ростовского
государственного экономического университета (РИНХ)» Ромм Я.Е.

Берштейн Л.С., Боженюк А.В. Теория графов: учебное пособие.


 Ростов-на-Дону: Изд-во ТТИ ЮФУ, 2014.  174 с.

Учебное пособие предназначено для студентов специальностей


090900 «Информационная безопасность», 090915 «Безопасность
информационных технологий в правоохранительной сфере», 090303
«Информационная безопасность автоматизированных систем», 090302
«Информационная безопасность телекоммуникационных систем»,
изучающих дисциплины «Дискретная математика» и «Основы
дискретной математики». В работе изложен один из разделов
дискретной математики, а именно теория графов. Содержит также
контрольные вопросы и задачи по каждому разделу.

Табл. 1. Ил. 115. Библиогр.: 6 назв.

© ЮФУ, 2014
© Л.С. Берштейн, 2014
© А.В. Боженюк, 2014
3

ПРЕДИСЛОВИЕ

Данная работа представляет собой учебное пособие, в котором


рассматриваются некоторые основные понятия одного из разделов
дискретной математики – теория графов. Теория графов имеет
достаточно большой спектр приложений, прежде всего в областях,
связанных с информационными технологиями и вычислительной
техникой.
Пособие основано на лекционном курсе, который авторы в
течение многих лет читают студентам кафедры «информационно-
аналитические системы безопасности» ЮФУ в г. Таганроге, что
наложило определенный отпечаток на выбор материала.
Учебное пособие охватывает такие разделы теории графов, как
связанность графов, основные числа теории графов, деревья,
двудольные графы, плоские графы, транспортные сети, основные
понятия нечетких графов и др. В конце каждого раздела имеются
упражнения, задачи и контрольные вопросы.
В целом учебное пособие преследует две основные цели:
- познакомить студента с максимально широким кругом понятий
раздела дискретной математики – теории графов. Тем самым у него
формируется терминологический запас, необходимый для
самостоятельного изучения специальной литературы;
- сообщить студенту необходимые конкретные сведения из
теории графов, предусмотренные стандартной программой.
4

1. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ ГРАФА

1.1. Определение и способы задания графа


Определение графа. Задать граф можно, задав два множества – X,
U и трехместную высказывательную форму F, указывающую, какую
пару элементов x,yX соединяет элемент uU. Эта совокупность
обозначается G=(X,U,F), где G – название графа (graph), X –
множество вершин, U – множество ребер, |X| =n – число вершин,
|U|=m – число ребер, F – трехместная высказывательная форма,
называемая инцидентором.
Инцидентор определен на всех таких упорядоченных тройках
<x,u,y>, для которых x,yX, uU и справедливо высказывание:
u  U x, y  X 
F x, u, y  & x, y   X F xuy   x  x & y  y   x  y  & y  x . (1.1)
Выражение (1.1) означает, что любое ребро может соединять
только одну пару вершин.
Для каждого ребра uU справедливо одно из следующих трех
высказываний:
1) (x, y  X )x  y & F ( xuy) & F ( yux);
2) (x  X ) F ( xux) ;

3) (x, y  X )x  y & F ( xuy) & F ( yux) .


В соответствии с этими высказываниями множество ребер U
  ~
разбиваются на три класса: U ,U ,U .

U – множество ребер, для которых истинно первое
высказывание, т.е. ребра, имеющие направления. Такие ребра
называются дугами.

Множество U соответствует петлям, для которых истинно второе
высказывание.
5
~
Множество U определяет неориентированные ребра, для них
истинно третье высказывание.
Если задать граф в таком виде, получим его теоретико-
множественное задание.
Пример. Пусть задан граф G   X ,U , F , приведенный на рис. 1.1.

х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 приведен нуль-граф на 4 вершины.

Рис. 1.8
Граф, не содержащий ни вершин, ни ребер, называется пустым
графом.
Число ребер, инцидентных вершине x  X у графа G   X ,U , F ,
обозначается ρ(x) и называется локальной степенью данной вершины.
Сумма всех локальных степеней графа равна удвоенному числу
ребер:

  ( x)  2m.
xX
10
Теорема. Число вершин графа с нечетной локальной степенью в
конечном графе всегда четно.
Доказательство. Сумма всех локальных степеней графа – четная
величина (2m). Вычтем из неё также четную величину – сумму
вершин графа с четной локальной степенью. Полученная величина
также будет четной величиной, и представляет собой сумму степеней
вершин графа с нечетной степенью. А сумма нечетных величин четна
тогда и только тогда, когда число их четно. Следовательно, теорема
доказана.
Если локальные степени всех вершин графа равны величине K, то
такой граф называют однородным степени K.
На рис. 1.9 приведены примеры однородных графов.
k=2 k=3

Рис. 1.9
Для ориентированного графа вводят понятия полустепеней
исхода и захода. Число дуг, исходящих из данной вершины x,
называют полустепенью исхода и обозначают   (х) . Число дуг,
заходящих в данную вершину x, называют полустепенью захода и
обозначают   (х) .
Степень вершины равна сумме полустепеней исхода и захода
данной вершины, т.е.  ( х)    ( х)    ( х) . Кроме того, видно, что

х

( х)     ( х)  т .
х

Из теоремы о степенях можно вывести следующее тривиальное


следствие: каждый кубический граф, т.е. граф, степень каждой
вершины которого равна 3, имеет четное число вершин.
11
1.2. Части графа
Определение. Граф Н  ( Х ,U , F ) называется частью графа
G   X ,U , F  и обозначается H  G , если множества X  X и U  U .
Нуль-граф, или голый граф, является частью любого графа с
данным числом вершин. Любое единственное ребро – его часть. Сам
граф является своей собственной частью.
Выделяют следующие виды частей:
1. Часть Н  ( Х ,U , F ) называют подграфом графа
G   X ,U , F , если подмножество ребер U  U выбрано так, что
справедливо высказывание (x, y  X )(u U )F ( x, u, y)  u U .
Иначе говоря, множество ребер U  состоит из тех и только тех ребер,
которые связывают вершины из множества X  .
На рис. 1.10 представлены примеры различных подграфов.

u7 Х   х1 , х3 , х4   U   u2 , u3  Х   х2   U   u7 


х2
u4 х3 u7
u1 х1 х2
u6 х3 u3
u5 u2
х1 х4
u3
u2
х4

Х   х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 ( xuy).

Иначе говоря, если ребро u  U соединяет вершины x, y  X ,


которым поставлены в соответствие вершины x, y   X  , то ребро
u   U  , связывающее вершины x’ и y’, должно соответствовать ребру
u.
Пример. На рис. 1.14 показаны два изоморфных графа.
Нетрудно видеть, что отношение изоморфизма – рефлексивно,
симметрично и транзитивно, т.е. является отношением
эквивалентности. Поэтому в дальнейшем все преобразования графов
будем осуществлять с графов.

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

1.3. Задание графа с помощью матриц

Графы могут задаваться следующими типами матриц:


 матрицы смежности и соседства вершин;
 матрицы смежности и соседства ребер;
 матрицы инцидентности.
Матрица смежности вершин графа G   X ,U , F  обозначается как
R x  rij
n
и представляет собой квадратную таблицу, строки и столбцы
которой помечены вершинами из множества Х, а на пересечении xi-й
строки и xj-го столбца ставится 1, если вершины xi и xj смежные, или
ставится число кратных ребер, соединяющих данные вершины (когда
речь идёт о мультиграфе).
Вообще говоря, для случая скелета матрица смежности – обычная
форма матричного задания бинарного отношения.
Матрица смежности неориентированных графов симметрична
относительно главной диагонали.
Сумма единиц по каждой строке или каждому столбцу матрицы
дает степень данной вершины.
Для ориентированных графов матрица смежности не
симметрична относительно главной диагонали.
Если граф является мультиграфом, то числа в клетках матрицы
можно заменить кратностями ребер. Матрица смежности задает граф
с точностью до природы его ребер. Нужно отметить, что наоборот:
любая квадратная матрица, состоящая из 0 и 1, может быть
интерпретирована как граф, т.е. любые результаты на графах могут
быть сформулированы как свойства таких матриц.
Пример. Для графа, приведенного на рис. 1.16, матрица
смежности вершин имеет следующий вид:
16
x1 x 2 x3 x 4 x5
x1 0 0 1 0 1
 
x2 0 1 0 0 1
RX  1 0
x3 0 0 1
 
x4 0 0 0 0 1
1 1 1 1 0 
x5 

u3
х1
u2
х2
u1
х5
u4
u6 u5
х3 х4

Рис. 1.16
Матрица соседства вершин отличается от матрицы смежности
тем, что в клетках может быть поставлено множество ребер, по
которым смежна данная пара вершин.
Аналогично матрице смежности вершин вводится матрица
смежности ребер как прямоугольная матрица, строки и столбцы
которой помечены названиями ребер. А на их пересечении ставится
1, если данная пара ребер смежна, и 0 – в противном случае.
Для графа, заданного в виде G  ( X ,U ) , она обозначается как
Ru  rij .
m

Пример. Для графа, приведенного на рис. 1.16, матрица


смежности ребер имеет вид:
17
u1 u2 u3 u4
u5 u6
u1 0 1 0 1 1
1
 
u2 1 0 1 1 1
0
0 1 0 0
RU  u 3 
0 0

u4 1 0 0 0 1 .
0
u5 1 1 0 0 0 1 

1 1 0 1 1 0 
u6 
Если полученную для графа G матрицу ребер Ru считать
матрицей смежности вершин Rx некоторого нового графа, то получим
граф, называемый смежностным исходному.
Пример. Для графа, приведенного на рис.1.16, смежностный граф
представлен на рис. 1.17.

u1 Х1
Х2
u2 Х5
u3
u4

Х3 u5 Х4

Рис. 1.17
Смежностный граф можно построить и сразу. Для этого ребра
исходного графа примем за вершины смежностного. Две вершины
смежностного графа соединим ребром, если соответствующие ребра
исходного графа смежны.
Взаимно однозначным представлением графа является его
матрица инцидентности: I  aij
nm
. Она представляет собой таблицу,
строки которой помечены вершинами графа, а столбцы – ребрами. На
пересечении 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.4. Упражнения и задачи


1. Нарисовать смешанный граф с числом вершин n=7 и
числом ребер m=12. Задать его в теоретико-множественном виде
G   X ,U , F .
2. Построить ориентированный граф с числом вершин n=6 и
числом ребер m=11. Задать его в виде G  X , Г  .

3. Построить произвольный мультиграф. Определить его


мультичисло. Построить скелет данного мультиграфа и задать его в
виде G  X ,U  .

4. Выписать степени всех вершин скелета, построенного в


задаче 3. Определить сумму степеней. Выписать некоторые смежные
пары вершин, инцидентные пары «вершина-ребро».
5. Построить произвольный кубический граф. Построить
однородный граф степени 4.
6. Задать с помощью матриц инцидентности и смежности
граф, показанный на рис. 1.20 (при построении матрицы смежности
считать граф неориентированным).
х2 u2
х3 u8
u1
u6 х6
u4

х1 u7
u3 х4 х5
u5

Рис. 1.20

7. Построить произвольный граф с числом вершин n=8 и


числом ребер m=16. Выделить из него подграф на три вершины,
четыре вершины и пять вершин. Выделить произвольный суграф,
произвольную часть и кусок графа, содержащий четыре вершины.
20
8. Построить простой граф с числом вершин n=5. Построить
для него смежностный граф.
9. Для графа, указанного на рис. 1.20, построить обратный и
дополнительный графы (при построении дополнительного графа
считать граф на рис. 1.20 неориентированным).
10. Доказать, что в полном графе без петель число ребер равно
n( n  1)
, где n – число вершин.
2
11. Доказать, что в простом графе без петель с n вершинами
(n>2) существует, по крайней мере, две вершины с одинаковыми
степенями.
12. Показать, как по матрицам смежности и инцидентности
графа строить аналогичные матрицы для любых частей этого графа.
13. Построить граф с заданным набором степеней вершин.
Предложить метод построения таких графов.
14. Применить к матрице смежности, полученной в задаче 8,
произвольную подстановку и получить матрицу смежности
изоморфного графа. Построить этот граф.
15. Построить все простые графы с числом вершин n=4.
Выделить классы изоморфизма в построенном множестве графов.
16. Построить матрицу инциденции I произвольного графа.
Рассмотреть произведение матриц I*IT и IT*I и выяснить свойства
таких графов.
17. Подсчитать число всех подграфов, включая и изоморфные,
в графе с n вершинами.
18. Подсчитать число всех суграфов, включая и изоморфные,
в графе с m ребрами.
19. Подсчитать число простых графов, включая и
изоморфные, которые можно построить на n вершинах.
21
20. Подсчитать число различных простых графов, включая и
изоморфные, которые можно построить, имея заданный набор
степеней вершин.
21. Определить число различных простых графов, включая и
изоморфные, которые можно построить при заданных n вершинах и
m ребрах.
22. Построить граф, изоморфный смежностному. Определить
некоторые его свойства относительно исходного графа.
23. Построить граф, изоморфный своему дополнению до
полного графа. Определить некоторые свойства таких графов.
24. Построить произвольный правильный многогранник. Для
графа, образованного его вершинами и ребрами, построить
смежностный граф.
25. Предложить метод построения графов с заданным числом
вершин и ребер. Определить соотношения между числом вершин и
ребер, при которых невозможно построение не мультиграфа.
26. Предложить метод построения однородных графов, т.е.
графов, степени всех вершин которых одинаковы.

Контрольные вопросы
1. Что такое граф?
2. Какие способы задания графа вы знаете?
3. Какие виды графов вы знаете?
4. Определить понятие смежности и инцидентности в графе.
5. Какие графы называются графом инциденции и
смежностным графом?
22

2. ДОСТИЖИМОСТЬ И СВЯЗНОСТЬ

2.1. Маршрут и цикл

Пусть задан граф G   X ,U , F . Конечная последовательность


вида x0u1x1u2…xl-1ulxl элементов графа G, для которой истинно
высказывание F(x0 u1 x1)&F(x1 u1 x2)&…&F(xl-1 ul xl), называют
маршрутом из вершины x0 в вершину xl.
Каждые соседние два ребра в маршруте имеют общую вершину.
Число ребер называется длиной маршрута и обозначается через l.
Если x0=xl , то получается циклический маршрут.
Маршрут называется цепью, а циклический маршрут – циклом,
если он не содержит повторяющихся ребер. Если в цепи не
повторяется ни одна вершина, то получаем простую цепь.
Аналогично, если x0=xl , то имеем простой цикл.
Простая цепь называется максимальной, если она не является
частью какой-либо другой простой цепи. Самая длинная из
максимальных простых цепей называется наибольшей.
Для выявления всех маршрутов данной длины можно
использовать метод возведения матрицы соседства вершин в степень.
Рассмотрим данный метод на примере. Пусть задан граф,
приведенный на рис. 2.1, с матрицей соседства вершин:
х х2 х3
х1 1
u v 0
Rх  х2 .
v 0 tw
х3
0 tw 0

х1
v u

х2 w

t х3
Рис. 2.1
23

Возведем данную матрицу в квадрат, получим:


х х2 х3 х1 х2 х3
х1 1 х1
u v 0 u v 0
R X2  х 2  х2 
v 0 tw v 0 tw
х3 х3
0 tw 0 0 tw 0
х х2 х3
х1 2 1 2
u v uv vt  vw
х2
= vu v 2  (t  w) 2 0 .
х3
tv  wv 0 t 2  w 2  tw  wt

На пересечении i-й строки и j-го столбца находятся все


маршруты длиной l=2 из вершины xi в вершину xj. Аналогично для
маршрутов длиной l=3,4… необходимо возвести исходную матрицу в
степени 3,4,…
Пусть дан простой граф G   X ,U  . Две вершины x, y  X называют
связанными, если существует маршрут с концами в этих вершинах.
Определение. Граф называется связным, если любая пара вершин
связанна.
Каждая вершина считается связанной сама с собой. Если вершина
x связана с вершиной y, то и вершина y связана с вершиной x (в
простом графе).
Если вершина x связана с вершиной y, а вершина y связана с
вершиной z, то вершина x связана с вершиной z.
Таким образом, отношение связанности вершин рефлексивно,
симметрично, транзитивно, т.е. является отношением
эквивалентности.
На множестве вершин X графа G существует сопряженное с ним
разбиение множества X на классы Xi: X  i X i , причем в каждый класс
24
Xi попадают связанные между собой вершины, а вершины из
различных классов – не связаны между собой.
Каждый класс Xi порождает в графе G подграф, называемый
компонентой связности.
Таким образом, каждый неориентированный граф единственным
образом распадается в объединение своих связанных компонент. Это
позволяет сводить большинство заданных графов к случаю связанных
графов, т.е. графов, содержащих единственную компоненту
связности.
На рис. 2.2 представлен граф, состоящий из трёх компонент
связности.

Рис. 2.2
Теорема. Если в конечном графе ровно две вершины имеют
нечетную степень, то они связаны.
Доказательство. Пусть эти вершины (с нечетной степенью) x и y.
Ранее было доказано, что число вершин с нечетной степенью всегда
четно. Применим эту теорему к той компоненте связности, к которой
принадлежит вершина х. Отсюда следует, что в этой же компоненте
связности должно быть ещё нечетное число вершин с нечетной
степенью. Так как кроме вершины у нет других вершин, то приходим
к выводу, что вершина у также принадлежит к той же компоненте
связности, что и вершина х. Теорема доказана.
25

2.2. Понятие шарнира и моста


Точкой сочленения, или шарниром графа G   X ,U  называется
вершина, удаление которой увеличивает число компонент связности
графа. Ребро с такими свойствами называется мостом. Если вершина
х – точка сочленения, то граф G\{x} – несвязный граф.
На рис. 2.3 показаны шарнир и мост графа.
Граф G называется неразделимым, если он не пустой, связный и
не содержит точек сочленения. Максимальный подграф графа
называется блоком, если он представляет собой неразделимый
подграф.

мост
шарнир

Рис. 2.3
Примеры неразделимого графа и разделимого графа, состоящего
из двух блоков, приведены на рис. 2.4.

Разделимый
граф

Неразделимый
граф Блок
Блок
1
2

Рис. 2.4
26

Каждое ребро графа принадлежит только одному из блоков,


также как и каждая вершина, кроме изолированных и точек
сочленения. Ребра простого цикла принадлежат только одному блоку.
Теорема. Пусть х  вершина связного графа G   X ,U  , тогда
следующие утверждения эквивалентны:
1) х  шарнир графа G;
2) существуют вершины y, z  x такие, что вершина x
принадлежит любой простой цепи, соединяющей вершины (y,z);
3) существует такое разбиение множества X\{x} на классы Х1, Х2,
что для любых вершин y  X 1 , z  X 2 вершина х принадлежит любой
простой цепи из (y,z).
Доказательство. Покажем, что утверждение 1) влечет за собой
утверждение 3). Так как по условию вершина х – точка сочленения,
то граф G\{x} не связан и имеет, по крайней мере, две компоненты
связности.
Образуем разбиения Х1 и Х2 следующим образом: в Х1 отнесём
вершины, принадлежащие первой компоненте связности, а в Х2 –
вершины, принадлежащие другим компонентам связности. Тогда
любые две вершины y  X1 и z X2 лежат в разных компонентах
связности графа G\{x}. Отсюда следует, что любая простая цепь в
графе G, соединяющая вершины y и z, проходит через точку х.
Утверждение 3) влечет за собой утверждение 2), поскольку
утверждение 2) является частным случаем утверждения 3).
Покажем, что утверждение 2) влечет за собой утверждение 1).
Если вершина х принадлежит любой простой цепи в графе G,
соединяющей вершины y и z, то в графе G нет другой простой цепи,
соединяющей эти вершины и не проходящей через вершину х, т.е.
граф G\{x} не связан и, следовательно, вершина х является точкой
сочленения.
27
Таким образом, мы доказали, что высказывания 1), 2), 3)
эквивалентны.

2.3. Метрика графа


Пусть задан граф G   X ,U  .
Определение. Расстоянием l(х,у) между вершинами х и у графа G
называется длина кратчайшей простой цепи, соединяющей эти
вершины. Если вершины х и у не связаны, то полагаем, что l(х,у)=∞.
Введенная функция расстояния удовлетворяет трём аксиомам
метрики:
1) (x, y  X )[l ( x, y)  x  y] ,
2) (x, y  X )[l ( x, y)  l ( y, x)],
3) (x, y, z  X )[l ( x, y)  l ( y, z)  l ( x, z)].
Для определения кратчайшего пути в графе G можно
использовать следующий волновой алгоритм: пусть нам надо
определить расстояние между вершинами а и b в графе G, тогда:
1˚. Вершину а помечаем индексом 0.
2˚. Все вершины, смежные с вершиной а, помечаем индексом 1.
3˚. Вершины, смежные с вершиной, помеченной индексом m,
помечаем индексом (m+1).
Если какая-либо вершина должна получить несколько индексов,
то выбираем минимальный индекс и т.д., продолжаем процесс до тех
пор, пока вершина b не получит свой индекс.
4˚. Из вершины b строим путь в вершину а, следуя монотонно
убывающим индексам.
На рис. 2.5 представлен пример, иллюстрирующий работу
алгоритма.
28
1 2 5

3
0 1 5 b
a 3 4
2 6
3
2 4
1

Рис. 2.5
Выделение кратчайшего пути также используется в задачах, в
которых необходимо из множества вариантов, ведущих к конечной
цели, выбрать наилучший. Для этого строится граф вариантов, в
котором вершины соответствуют вариантам, а ребра – возможностям
перехода от одного варианта к другому. Далее, в полученном графе,
находится кратчайший путь из исходного варианта в интересующий
нас.

2.4. Эйлеровы циклы

Определение. Если дан неориентированный граф, то эйлеров


цикл (эйлерова цепь) – это такой цикл (цепь), который проходит один
раз по каждому ребру графа.
Очевидно, не все графы имеют эйлеровы циклы, но если эйлеров
цикл существует, то это означает, что, следуя вдоль этого цикла,
можно нарисовать граф на бумаге, не отрывая от нее карандаша.
Эйлер первым в своей знаменитой задаче о Кёнигсбергских
мостах рассмотрел вопрос о существовании таких циклов в графах.
Кёнигсберг (теперь Калининград) расположен на обоих берегах
реки Преголя и на двух островах этой реки. На рис. 2.6 представлены
схема реки с берегами B и C и островами A и D, соединенными между
собой мостами, и соответствующий этой схеме граф.
29
C
C

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
Кроме того, выделяется понятие эйлеровой цепи – это цепь,
содержащая все ребра графа. Граф с эйлеровой цепью может иметь
пару вершин с нечетной степенью.

2.5. Гамильтоновы циклы

Определение. Гамильтоновым циклом называется простой цикл,


проходящий через все вершины графа. Гамильтонова цепь – это
простая цепь, проходящая по всем вершинам графа.
Теорема. Если граф G   X ,U , F  (не мультиграф) содержит
наибольшую максимальную цепь (нет повторяющихся ребер)
x0 u1 x1u 2 ...ul xl такую, что  ( x0 )   ( xl )  l  1 и граф связен, то такой граф
содержит Гамильтонов цикл.
Доказательство. Требование связности очевидно, так как в
противном случае нельзя построить цикл, покрывающий все
вершины.
Рассмотрим достаточность приведенного условия. Поскольку
цепь из условия теоремы – наибольшая из максимальных цепей, то
можно утверждать, что все ребра, выходящие из вершин x0 и xl (рис.
2.8), инцидентны только вершинам этой цепи; так как в противном
случае, добавив к этой цепи ребро, инцидентное вершине x0 или
какой-либо вершине, не принадлежащей цепи, можно было бы
увеличить длину данной цепи, что противоречит ее определению как
“максимальная”.

х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.6. Упражнения и задачи


1. Найти все маршруты длиной 3 в графе с числом вершин
n=4 и числом ребер m=6.
2. Построить граф с числом вершин n=12, содержащий три
компоненты связности:
34
а) графически;
б) непосредственно матрицу смежности;
в) непосредственно матрицу инцидентности;
г) непосредственно теоретико-множественное задание.
3. Разработать алгоритм выделения компонент связности
произвольного графа.
4. Построить граф, состоящий из четырех блоков.
5. Построить граф, имеющий точки сочленения, не инцидентные
мосту.
6. Построить такой связный граф, чтобы удаление из него
выбранного подграфа привело к образованию не менее трех
компонент связности. Выполнить это по матрице смежности и
матрице инцидентности.
7. Доказать следующее утверждение: если ребро графа является
мостом, то оно не принадлежит ни одному простому циклу.
8. Предложить алгоритм определения кратчайшего пути в графе с
весами на ребрах (ребрами различной длины).
9. Решить задачу о «волке, козе и капусте».
10. Имеются 3 вида сосудов: 3-, 5- и 8-литровые. Каким
кратчайшим способом разлить содержимое 8-литрового полного
сосуда по 4 литра?
11. Решить предыдущую задачу, минимизируя суммарный объем
переливаемой воды.
12. Предложить метод построения нетривиальных эйлеровых
графов с заданным числом ребер.
13. Предложить метод построения эйлеровых графов на заданном
наборе четных степеней его вершин.
14. Предложить метод построения графов, содержащих эйлеровы
цепи с заданным числом ребер.
35
15. Существует ли эйлеров цикл в графах, указанных на рис. 2.10,
а, б, в?

а б в
Рис. 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

3. СИЛЬНО СВЯЗНЫЙ ГРАФ


3.1. Понятие транзитивного замыкания

Пусть задан ориентированный граф G=(X,Г). Определим


многозначное отображение Г2, Г3,… по формулам:
Г2(xi)= Г{Г(xi)}, Г3(xi)= Г{ Г2(xi)}= Г{Г{Г(xi)}}, …, Гn(xi)= Г{Гn-1(xi)}.
А обратное многозначное отображение Г-2, Г-3,… определим по
формулам:
Г-2(xi)= Г-1{Г-1(xi)}, Г-3(xi)= Г-1{ Г-2(xi)}= Г-1{Г-1{Г-1 (xi)}}, …,
Г-n(xi) = Г-1{Г-n+1(xi)}.
Для графа, приведенного на рис. 3.1, многозначное и обратное
многозначное отображения имеют следующий вид:
Г(А)= {B,D}, Г(B)= {B,C}, Г(D)= {C,E}, Г(E)= ø, Г2(А)={Г(B), Г(D)}=
={A,B,C,E}, Г2(E)= ø;
Г-1(А)=ø, Г-1(В)= {A, B,C}, Г-1(E)= {C,D}, Г-2(А)= {A, B, C}.

В
С

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, так как оно еще симметрично.

3.2. Разложение на максимальные сильно связные подграфы

Определение. Подграф G’ графа G=(X, Г) называют


максимальным сильно связным, если не существует сильно связного
графа G’’, строго содержащего G’ (т.е. G’  G’’).
Пример. Максимальные сильно связные подграфы графа,
приведенного на рис. 3.3, обведены пунктиром.
Фактор-множество X/  состоит из классов C1, C2, … Ck, каждый
из которых есть максимальный сильно связный подграф.
41

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. Упражнения и задачи

Для графов, приведенных на рис. 3.5 и 3.6, найти максимальные


сильно связные подграфы.

B G

A
D F
C E
Рис. 3.5

B G
D
A

E
C
Рис. 3.6

Контрольные вопросы
1. Дать понятие транзитивного замыкания и обратного
транзитивного замыкания вершин графа.
2. Дать определение сильно связного графа.
43

4. ОСНОВНЫЕ ЧИСЛА ТЕОРИИ ГРАФОВ


4.1. Цикломатическое число и ранг графа
Рассмотрим следующие числа: цикломатическое число,
хроматическое число, число внутренней устойчивости, число
внешней устойчивости.
Введем два понятия: величина (G) = m-n+p называется
цикломатическим числом, а величина (G) = n-p – рангом графа.
Здесь n – число вершин; m – ребер; p – число компонент связности 
(G)= m-.
Теорема. В графе G = (X,U) величины (G) и (G) –
положительные числа (≥0).
Доказательство. Проведем следующее построение. Пусть
исходный граф G содержит n голых вершин, тогда имеем:
(G) = n-p = n-n = 0;
(G) = m-= 0-0 = 0.
Таким образом, мы показали, что если в графе нет ребер, то его
ранг и цикломатическое число равны 0.
Предположим, что в графе появилось одно ребро (u1). Пример
такого случая показан на рис. 4.1. При этом число компонент
связности уменьшится на 1, т.е. величина  = n-(n-1) = 1, а величина
= 1–1 = 0.

х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 связен, то каждая его вершина окажется
окрашенной, причем никакая вершина xX не будет одновременно и
синей и красной, так как в противном случае она входила бы в цикл
нечетной длины, что противоречит условию. Необходимость
доказана.
46
Докажем достаточность. Если граф бихроматический, то он не
содержит циклов нечетной длины, так как в противном случае
вершины, принадлежащие такому циклу, нельзя было бы раскрасить
двумя цветами.
Достаточность доказана и, следовательно, теорема Кёнига
доказана.

4.2. Внутренне устойчивое множество


Определение. Рассмотрим граф G=(X,Г). Множество X
называется внутренне устойчивым, если никакие две вершины из 
не смежны между собой, т.е. Г()  =ø.
Если внутренне устойчивое множество не является частью
никакого другого внутреннего множества, то оно называется
максимальным. Каждое максимальное внутренне устойчивое
множество графа G в графе G порождает максимальный полный
подграф, называемый кликой.
Условие внутренней устойчивости можно переписать как
(x,y) (uU) [F ( x, u, y)] ,
или как
(x,y)(  uU)[F(x,u,y)].
Нетрудно видеть, что множество вершин  порождает пустой
подграф, не содержащий ребра.
Обозначим через ={1, 2, …,k}  семейство всех внутренне
устойчивых множеств.
Определение. Величина (G)=max|i| называется числом
внутренней устойчивости.
Пример. Для графов, приведенных на рис. 4.3, максимальные
внутренне устойчивые множества выделены пунктиром. А числа
внутренней устойчивости равны соответственно 2 и 3.
47

 (G )  2
 (G )  3

Рис. 4.3
Метод Магу для отыскания максимальных внутренне
устойчивых множеств
Будем рассматривать графы без петель, т.е. вершина с петлей не
может принадлежать внутренне устойчивому множеству.
Пусть G=(X,Г), и пусть   некоторое внутренне устойчивое
множество, т.е. Г()  =ø. С каждой вершиной xiX свяжем Булеву
переменную P(xi) и положим:
если xiX, то P(xi) = 1,
если xiX, то P(xi) = 0.
Введем еще одну Булеву переменную: ij=1, если xjГ(xi) и ij=0,
если xjГ(xi).
Исходя из определения внутренне устойчивого множества,
справедливо следующее утверждение:
(xi, xjX)[(xi(xj)  xj(xi))(( xi)( xi))].
Для фиксированной пары вершин xi, xj, переходя к Булевым
переменным, получаем: ( ij   ji )  (P ( xi )  P ( x j ))  1.
Воспользуемся свойствами оператора импликации (A B= A  B)

и оператора Де’Моргана ( A  B  A & B ), получаем:


 ij &  ji  P ( xi )  P ( x j )  1 .
Используя аналогию между квантором общности и операцией
конъюнкции, приведенное выше утверждение перепишем в виде
48
  & ( ij &  ji  P ( xi )  P ( x j ))  1.
i , j i

Упростив последнее выражение и учитывая, например, что


конъюнкция a12 & a 21 получается дважды (i=1&j=2  j=1&i=2),
запишем
  & ( ij  P ( xi )  P ( x j ))  1 .
i , j i

В последнем выражении раскроем скобки и приведем подобные


члены, используя правило поглощения (а  а&b=а). Рассмотрим
только те пары вершин, для которых величина  ij  0 (т.е. ij  1),
получим

   ( P ( xi1 ) & P ( xi2 ) & ... & P ( xik ))  1, ik 1, n. (4.1)


k 1,s

Тогда для каждого дизъюнктивного члена совокупность всех


вершин, соответствующая переменным, которые в нем отсутствуют,
дает максимальное внутреннее устойчивое множество графа.
В самом деле, такой член содержит только переменные с
отрицанием, и поэтому к вершинам xi соответствующих переменных
P(xi), не встречающихся в этом члене выражения, нельзя добавить
никакой другой.
Пример. Пусть граф G приведен на рис. 4.4.

х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

По матрице смежности запишем выражение (4.1):


ФΨ = ( Р 1  Р 2) & ( Р 1  Р 3) &( Р 2  Р 3) & ( Р 2  Р 4) & ( Р 3  Р 5) &( Р 4  5) &
&( Р 5  Р 1) &( Р 5  Р 4) = 1.
Перемножаем попарно выражения, стоящие в скобках, получаем:
ФΨ = ( Р 1  Р 1 Р 3  Р 2 Р 1  Р 3 Р 2) &( Р 2  Р 3 Р 4) &( Р 5  Р 3 Р 4) &( Р 5  Р 1) = 1,
ФΨ = ( Р 1 Р 2  Р 1 Р 3 Р 4  Р 2 Р 3  Р 2 Р 3 Р 4)&( Р 5  Р 1 Р 3 Р 4) = 1,
ФΨ = Р 1 Р 2 Р 5  Р 1 Р 2 Р 3 Р 4  Р 1 Р 3 Р 4 Р 5  Р 1 Р 3 Р 4  Р 2 Р 3 Р 5  Р 1 Р 2 Р 3 Р 4 = 1,
ФΨ = Р 1 Р 2 Р 5  Р 1 Р 3 Р 4  Р 2 Р 3 Р 5 = 1.
Из последнего выражения следует, что рассматриваемый граф
имеет 3 максимальных внутренне устойчивых множества  1={x3, x4},
 2={x2,x5} и  3={x1,x4}, а степень внутренней устойчивости равна
(G)=2.
Алгоритмический метод определения числа внутренней
устойчивости
Данный алгоритм заключается в выделении семейства внутренне
устойчивых множеств. Далее определяется множество с наибольшим
числом элементов. Алгоритм для выделения семейства внутренне
устойчивых множеств работает с матрицей смежности и заключается
в следующем:
1°. В главную диагональ матрицы смежности вершин графа
вписываются единицы.
50
2°. Выберем из строки xi первый элемент rij = 0 и вершины xi, xj
относим к множеству s={ xi, xj}.
3°. Строки xi и xj матрицы смежности поэлементно дизъюнктивно
складываем, и в строке xij = xi  xj определяется первый нулевой
элемент rijk = 0, вершину xk присоединяем к множеству s.
4°. Определяем строку (i,j,k): xijxk = xi,j,k и определяем в ней
первый элемент, равный 0 и т.д., пока в полученной строке не будет
нулевых элементов.
5°. Выбираем в исходной строке xi следующий элемент xj’, для
которого rij’ = 0 и, возвращаясь к началу алгоритма, строим
следующее внутренне устойчивое множество.
6°. Подобным образом исследуем все нулевые элементы матрицы
смежности.
Примечание. В описанном виде алгоритм наиболее пригоден для
работы с неориентированным графом, в противном случае из
ориентированного графа надо сделать неориентированный.
Свойство. Число внутренней устойчивости (G) и хроматическое
число (G) графа связаны неравенством: (G)  (G)  n.
Доказательство. Если предположить, что граф раскрашен, то
множество вершин графа X можно разбить на j(G) внутренне
устойчивых множеств, образованных одинаково окрашенными
вершинами и содержащих соответственно n1, n2,…nj элементов. Тогда
имеем
n = n1+ n2+…+nj  (G)+ (G)+…+ (G)  (G)  (G).
Описанное неравенство может служить основанием для построения
алгоритма раскраски вершин. Можно предложить следующий
алгоритм:
- выделяем из графа наибольшее внутренне устойчивое множество
и его вершины окрашиваем в первый цвет;
51
- затем удаляем их из графа. Из оставшегося подграфа опять
выделяем наибольшее внутренне устойчивое множество и
окрашиваем его во второй цвет;
- процесс продолжается, пока все вершины не окрасятся.
Примечание. Данный алгоритм не всегда приводит к минимальной
окраске.
Пример. На рис. 4.5 приведен граф, окрашенный с помощью
предложенного алгоритма четырьмя красками. На рис. 4.6 приведен
тот же граф, окрашенный минимальным числом (тремя) красок.

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. Внешне устойчивое множество

Определение. Рассмотрим граф G=(X,Г). Говорят, что множество


ТХ  внешне устойчивое, если для любой вершины х  Т
справедливо Г ( х) Т  Ø, или иначе, Г 1 (Т )  Х \ Т .
Иными словами, каждая вершина, не принадлежащая внешне
устойчивому множеству, смежна с какой-либо вершиной из Т.
Внешне устойчивое множество называется минимальным, если
никакое его подмножество не обладает свойством внешней
устойчивости. Обозначим через   Т1 , T2 ,...,TS  семейство всех
внешне устойчивых множеств графа.
Определение. Величина  (G)  min Ti называется числом
Ti 

внешней устойчивости графа G.


Пример. Для графа, приведенного на рис. 4.7, минимальным
внешне устойчивым множеством является T1={x1,x2}, а число
внешней устойчивости  = 2.

х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). Следовательно, истинно высказывание:

(xi  X )xi  T  x j x j  T & xi  ( x j ) . (4.2)

1, xi  T 1, xj  ( xi )
Введем Булевы переменные: P ( x )    
и ij  , αij=1.
0, xi  T 0, xi  ( xi )
i

Переходя от кванторной записи высказывания (4.2) к записи


через логические операции, получим
T  &i ( P( xi )  j  ij & P( x j ))  1. (4.3)
54

Заметим, что для любой вершины xi справедливо выражение


( P( xi )    ij & P( x j ))    ij & P( x j )) . Отсюда следует, что
j j

T  &(  ij & P( x j ))  1. (4.4)


i j

Используя правило поглощения a  a &b  a, разложим


выражение (4.4). Каждый член этого разложения дает минимальное
внешне устойчивое подмножество, не содержащее строго никакого
другого внешне устойчивого множества. Действительно, такой член
не содержит переменных с отрицанием, и поэтому из множества
вершин xi, соответствующих переменным P(xi), встречающихся в
этом члене, нельзя удалить ни одну.
Если работать с матрицей смежности, то необходимо,
фактически, построить дизъюнкцию всех единичных элементов
строки xi. Проделать это для всех строк и найти их конъюнкцию.
Пример. Рассмотрим граф, приведенный на рис. 4.4. Его матрица
смежности имеет вид
0 1 1 0 0
0 0 1 1 0
Rx  0 0 0 0 1
.
0 0 0 0 1
1 0 0 1 0
Запишем выражение:
  ( P( x1 )  P( x2 )  P( x3 )) & ((P( x2 )  P( x3 )) & &(P( x3 )  P( x5 )) & ( P( x4 ) 
 P( x5 )) & ( P( x5 )  P( x1 )  P( x4 ))  ...  P( x3 ) P( x4 )  P( x3 ) P( x5 )  P( x2 ) P( x5 ),
откуда следует, что рассматриваемый граф имеет 3 внешне
устойчивых множества: T1  x3 , x4 , T2  x3 , x5 , T3  x2 , x5 , а число
внешней устойчивости равно β(G)=2.
55

4.4. Ядра графа

Определение. Рассмотрим граф G=(X,Г). Подмножество N  X


называется ядром графа G, если оно одновременно внутренне и
внешне устойчивое подмножество, т.е.:
xi  N [ N  ( xi )  ],

xi  N [ N  ( xi )  ].
Отсюда следует, что ядро графа содержит всякую вершину xi, у
которой ( xi )   , и не содержит вершин с петлями.
Граф может обладать несколькими ядрами или, вообще, не иметь
ядра.
Метод Магу для отыскания ядер
Положим P(xi)=1, если xi  N , и рассмотрим уравнения   1 и
T  1 . Так как эти равенства должны выполняться, то
 N   & T  1.
Пример. Рассмотрим граф, приведенный на рис. 4.4. Ранее мы
получили   P1 P 2 P 5  P1 P 3 P 4  P 2 P 3 P 5  и T  P3 P4  P3 P5  P2 P5  . Откуда
 
 N  P1 P 2 P5  P1 P3 P 4  P 2 P3 P5 & P3 P4  P3 P5  P2 P5   1. Раскрывая скобки,

получим  
 N  P1 P 2 P3 P4 P5  P1 P2 P3 P 4 P5  1 , т.е. рассматриваемый
граф содержит два ядра: N1={x3,x4} и N2={x2,x5}.

Свойства ядер графа


Свойство 1. Ядро N графа G есть максимальное внутренне
устойчивое подмножество.
Доказательство. Предположим, что это не так и ядро графа не
максимальное, т.е. N   , тогда существуют вершины xi   и xi  N .
Так как N – ядро графа, т.е. и внешне устойчивое подмножество, то
N  ( xi )      ( xi )   . Отсюда следует, что Ψ не является
56
внутренне устойчивым подмножеством, что противоречит условию.
Следовательно, N=Ψ.
Свойство 2. Если G – ориентированный граф без петель, то
любое максимальное внутренне устойчивое подмножество является
ядром графа G.
Доказательство. Рассмотрим максимальное внутренне
устойчивое подмножество Ψ. Требуется показать, что для
произвольной вершины xi   справедливо соотношение
  ( xi )   .
Предположим, что это не так. Тогда множество   xi   1 –
внутренне устойчивое, что противоречит максимальности Ψ.
Свойство 3. Пусть задан граф G  (Х, Г) без петель. Для того
чтобы N было ядром, необходимо и достаточно, чтобы оно было
одновременно максимальным внутренне устойчивым и минимальным
внешне устойчивым (без доказательства).
Свойство 4. Для ядра N графа G  (Х, Г) выполняется неравенство
 G  N   G . Это следует из определения ядра графа.

4.5. Базы и антибазы


Определение. База В графа G=(X,Г) есть множество вершин, из
которого достижима любая вершина графа и которое является
минимальным в том смысле, что не существует собственного
подмножества в В, обладающего таким свойством достижимости.

Если мы обозначим через (B) множество вершин, достижимых из
множества В (транзитивное замыкание), т.е.
 
( B)  ( x ) ,
xi B
i (4.2)

то В является базой тогда и только тогда, когда


 
( B)  X и (S  B)((S )  X ) . (4.3)
57
Второе условие в соотношении (4.3) эквивалентно следующему

утверждению: «xj не принадлежит ( xi ) для любых двух различных
вершин xi, xj B», т.е. вершина из В не достижима из любой другой
вершины В.
Итак, базой является такое множество В вершин графа G, которое
удовлетворяет следующим двум условиям:
 каждая вершина графа достижима хотя бы из одной вершины
множества В;
 в множестве В нет вершины, которая достижима из другой
вершины множества В.
Из этих условий мгновенно получаются следующие утверждения:
 в множестве В нет двух вершин, которые принадлежат одной и
той же связной компоненте (СК) графа G;
 в любом графе без циклов существует единственная база. Она
состоит из всех таких вершин графа, полустепени захода
которых равны 0.
Следовательно, базы графа G можно строить так: из каждой СК
графа G надо взять по одной вершине.
Пример. Для графа G, приведенного на рис. 4.9, конденсация G*
показана на рис. 4.10.
Базой графа G* является множество {x*4, x*5 }, поскольку x*4 и x*5
– единственные вершины в G* с полустепенями захода, равными 0.
Базами графа G являются {x3, x11}, {x3, x12}, и {x3, x13}.
58

х1 х6 х10 х11

х13
х2 х5
х8 х12

х3 х7
G
х4 х9

Рис. 4.9

х1*  х1 , х 2 , х 5 , х 6  х 2*  х 8 , х10 

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,
определяемым следующим соотношением:

H  B(G)  B (G' ) , (4.6)

где B(G) – одна из баз графа G, а B(G’) – одна из антибаз графа G’,
выбранные так, чтобы |H| – число людей в H было минимальным.
Приведенное выше описание организации является сильно
упрощенным. Один из недостатков состоит в том, что нежелательно,
чтобы лицо, не входящее в B, имело бы власть над лицом из B.
Следовательно, можно определить сильную базу (power-basis) как
такое множество вершин BPX, что
  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.

4.6. Упражнения и задачи


1. Построить граф G   X , U  с числом вершин n =7 и числом
ребер m=12. Определить для этого графа ранг и цикломатическое
число. Выписать какую-либо систему, содержащую максимальное
число независимых циклов. Указать ребра, удаление которых
приводит к графу без циклов.
2. Предложить метод построения графов с заданным
цикломатическим числом.
3. Предложить метод построения эйлеровых и гамильтоновых
графов с заданным цикломатическим числом.
4. Определить максимальное число независимых циклов полного
графа G.
5. Доказать, что неразделимый граф имеет цикломатическое
число, равное единице в том и только том случае, когда он является
циклом.
6. Показать, что цикломатическое число любого графа не может
быть отрицательным. Привести пример графа, цикломатическое
число которого равно 0.
7. Построить произвольный граф G   X , U  с числом вершин n=5
и числом ребер m=6. Определить для этого графа хроматическое
число и хроматический класс.
62
8. Предложить метод построения бихроматических графов с
заданным числом вершин.
9. Для графа, показанного на рис. 4.11, выделить семейства
внутренне устойчивых множеств, внешне устойчивых множеств, ядер
графа и определить число внутренней и внешней устойчивости с
помощью метода Магу.
B C

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. ДЕРЕВЬЯ. ДВУДОЛЬНЫЕ ГРАФЫ

5.1. Понятие дерева. Свойства деревьев


Определение. Связный, неориентированный граф без циклов
называется деревом. Оно имеет не менее двух вершин.
Пример. На рис. 5.1 приведен граф в виде дерева.

Рис. 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 доказана.

Теорема 2. Всякое дерево имеет по крайней мере две висячие


вершины, т.е. вершины, степень которых равна 1.
Доказательство. Доказательство проведем от обратного. Пусть
G – дерево без висячих вершин или только с одной висячей
вершиной. Выйдя из произвольной вершины (если нет висячих) или
из висячей (если одна) и не проходя дважды по одному и тому же
ребру, нельзя дважды оказаться в одной вершине, так как граф G не
имеет циклов. Прибыв в какую-то вершину по одному ребру, всегда
можно покинуть её по другому, так как вершина не висячая.
Следовательно, такой путь будет бесконечен, что противоречит
конечности графа. Полученное противоречие и доказывает теорему 2.
66
Теорема 3. Граф G=(X,U) тогда и только тогда содержит суграф,
являющийся деревом, когда он связан.
Необходимость. Если граф G не связен, то и все его суграфы не
связны и, следовательно, не могут быть деревьями.
Достаточность. Если граф G связен, то выясним, имеется ли в
графе G ребро, удаление которого не нарушает связности.
Если таких рёбер нет, то сам граф G является деревом.
Если такое ребро есть, то удалим его, и в полученном графе
выясним, имеется ли ребро, удаление которого не нарушает
связности. Если такое ребро есть, то удаляем его. Будем действовать
аналогичным образом, пока не останутся рёбра, удаление которых не
нарушит связности. Оставшийся суграф и будет являться деревом.
Теорема 3 доказана.
Пример. На рис. 5.2 показан исходный связный граф и
полученное дерево.

Рис. 5.2
На основании последней теоремы можно решить следующую
задачу. Пусть дан связный граф G=(X,U), причём каждому ребру u  U
приписано число l (U )  0 , называющееся длиной этого ребра.
Необходимо найти такой суграф G`=(X,U`) графа G, чтобы
 l (U )  min , а сам суграф G` был бы деревом.
UU `

Если граф G – полный и длины всех его рёбер различны, то


сформированная задача имеет единственное решение (G`=(X,U`)).
Множество U` получается следующим образом:
67
– в качестве первого ребра u1 U берём ребро с наименьшей
стоимостью;
– в качестве второго u 2  U` – самое короткое их тех рёбер, для
которых u 2  u 1 и множество U`={u 1 ,u 2 } не содержит циклов;
– в качестве третьего ребра u 3 – самое короткое из тех рёбер, для
которых u 3  u 1 и u 3  u 2 , и множество U`={u 1 ,u 2 ,u 3 } не содержит
циклов.
Процесс продолжается до тех пор, пока суграф не станет
связным.
Пример. На рис. 5.3 представлен исходный граф с весами на
ребрах и полученный суграф.

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 mn1 – рёбра графа G, которые мы удалили,
чтобы получить дерево G`.
Добавление к дереву любого из этих рёбер, например u k ,
приводит к появлению цикла  k , причём единственного.
Таким образом, циклы 1 ,  2 ,..., k ,... независимы, так как каждый
из них содержит ребро, не принадлежащее остальным, к тому же
количество этих циклов равно mn+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.2. Двудольный граф. Его свойства


Определение. Двудольным графом называется граф G=(X,U), в
котором множество вершин Х распадается на два непересекающихся
подмножества X=VV` таких, что каждое ребро (  ,  `) соединяет
некоторую вершину  V с вершиной  `V`.
Пример двудольного графа показан на рис. 5.6.


`

Рис. 5.6
70

Для двудольных графов справедливо следующее свойство: если


двудольный граф G связен, то каждая вершина   V имеет чётное
расстояние до другой вершины из того же подмножества V.
Теорема 1. Граф G является двудольным тогда и только тогда,
когда все простые циклы в нем имеют четную длину.
Доказательство. Необходимость. Очевидно, что для
двудольного графа это условие выполняется, так как цикл
представляет собой маршрут между вершинами, лежащими в одной
доле.
Достаточность. Предположим, что граф G имеет указанное
свойство. Выберем вершину a0 в некоторой его связной компоненте
G0. Множество вершин из G0 распадается на два класса – V и V`, где V
состоит из вершин, лежащих от вершины a0 на четном расстоянии, и
V` состоит из вершин, лежащих от вершины a0 на нечетном
расстоянии. Покажем, что никакие две вершины 1 и 2 ,
принадлежащие множеству V, не могут быть соединены ребром (  1,
 2).
Возьмём кратчайшие простые цепи, ведущие из вершины a0 в
вершины  1 и  2: P(a0,  1) и Q(a0,  2). Они обе имеют четную длину,
так как соединяют вершины, лежащие в одном классе V (рис. 5.7).

1
a0

2

Рис. 5.7
71

Если бы существовало ребро (  1,  2), то цепь P(a0,  1)(  1,  2)


Q(  2,a0) была бы циклом нечетной длины, что противоречит
условию, т.е. вершины  1 и  2 из одной доли не могут быть
соединены ребром, т.е. граф G – двудольный. Теорема 1 доказана.
Теорема 2. Любой граф содержит максимальные двудольные
части. Если исходный граф G – связный, то каждая его максимальная
двудольная часть – тоже связна и покрывает все исходные части.
Доказательство. Докажем теорему методом построения. Пусть дан
граф G=(X,U).
1. Выберем произвольную вершину а0Х и представим множество
вершин Х={а0}A1A2…, где Аi состоит из вершин, лежащих от
вершины а0 на расстоянии i.
2. В каждом классе Аi удаляем рёбра, содержащие какие-нибудь две
вершины. Тогда из теоремы 1 следует, что оставшаяся часть будет
двудольным графом.
Пример. Рассмотрим граф G, приведенный на рис. 5.8.

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

5.3. Упражнения и задачи


1. Показать, что на шести вершинах существует только шесть
неизоморфных деревьев, а на семи вершинах 11. Нарисовать все
деревья.
2. Показать, что дерево является двудольным графом.
3. Доказать, что любое висячее ребро (ребро, инцидентное
висячей вершине) связного графа содержится в каждом его остове.
4. Доказать, что каждое ребро связного графа является ветвью
какого-либо остова этого графа.
5. Доказать, что в дереве каждая вершина, степень которой
больше единицы, является точкой сочленения.
6. Доказать, что каждое ребро неразделимого графа G
является хордой некоторого кодерева графа G.
73
7. При каких условиях любые два ребра графа G могут быть
хордами некоторого кодерева графа G.
8. В полном 8-вершинном графе с взвешенными ребрами
выделить минимальный по весу суграф, являющийся деревом.
9. Предложить метод выделения в произвольном связном
графе суграфа, являющегося деревом.
10. Построить дерево, являющееся эйлеровой цепью.
Предложить метод построения таких деревьев.
11. Построить лес на 12-ти вершинах.
12. Докажите, что если граф G является лесом, то любое его
ребро является мостом.
13. Может ли дерево быть однородным графом?
14. Рассмотреть метод получения деревьев графа по матрице
инциденций.
15. Доказать, что граф G является двудольным тогда и только
тогда, когда для некоторой фиксированной вершины х0 нет таких
ребер Е =(у, z), что d(x0,y) = d(x0,z).

Контрольные вопросы
1. Какой граф называется деревом?
2. Дать определение остова произвольного связного графа.
3. Дать определение двудольного графа.
4. Доказать необходимое и достаточное условия двудоль-
ности графа.
74

6. ПЛОСКИЙ ГРАФ. ОПЕРАЦИИ НАД ГРАФАМИ


6.1. Плоский граф. Его свойства
Определение. Граф G=(X,U,F) называется плоским, если его
можно изобразить на плоскости так, чтобы вершинам
соответствовали различные точки плоскости, рёбрам – простые дуги
и чтобы никакие два ребра не имели общих точек, кроме их границы.
Граф, изоморфный плоскому графу, называется планарным.
Пример. На рис. 6.1 представлены плоский и планарный графы:

плоский планарный

Рис. 6.1

Определение. Гранью плоского графа G называется область


плоскости, ограниченная рёбрами и не содержащая ни вершин, ни
рёбер.
Пример. На рис. 6.2 представлен плоский граф с тремя
конечными гранями (r,s,t) и одной бесконечной (l).

l
r t
s

Рис. 6.2
75
Нетрудно видеть, что края граней образуют цикл, состоящий из
рёбер, ограничивающих саму грань. Две грани смежные, если они
имеют общее ребро. У всякого плоского графа имеется единственная
неограниченная грань, называемая бесконечной.
Теорема. В плоском графе края различных конечных граней
образуют базу независимых циклов.
Доказательство. Доказательство проведем по индукции.
Теорема очевидна, когда граф G имеет одну или две конечные грани.
Пример такого случая представлен на рис. 6.3.

Рис. 6.3
Предположим, что теорема справедлива для всех плоских графов
с числом конечных граней (f1), и докажем, что она справедлива для
(f) конечных граней.
Удалим из графа G некоторое невисячее ребро uU. Получим
граф G`, имеющий (f1) грань, края которых по предположению
индукции образуют базу независимых циклов. Восстановив ребро
uU, получим новую конечную грань, край которой является циклом,
независимым от других циклов, так как содержит ребро, не
принадлежащее ни одному из них. Так как добавление одного ребра
не может увеличить цикломатическое число больше чем на единицу,
то конечные грани графа G определяют базу независимых циклов.
Теорема доказана.
Следствие 1. Если связный плоский граф имеет n вершин, m
рёбер и f граней, то справедлива формула Эйлера: nm+f=2.
76
Доказательство. Из доказанной выше теоремы следует, что
число конечных граней равно цикломатическому числу (G)=m–n+1.
Поэтому число всех граней f   (G)  1  m  n  2 . Формула Эйлера
доказана.
Следствие 2. В любом плоском графе (не мультиграфе) хотя бы
одна вершина xX имеет локальную степень  ( х)  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

Построим теперь для исходного плоского графа граф


инцидентности вершинырёбра (рис. 6.5).
Предположим, в исходном графе каждая вершина была бы
инцидентна не менее чем шести рёбрам, тогда мы бы имели
неравенство 6n  U``  2m. Отсюда следует, что

x1 u1

x2 u2
U``

xn um

Рис. 6.5
2m m
n  . (6.2)
6 3
Подставим значения (6.1) и (6.2) в формулу Эйлера, получим:
m 2
2 = nm+f  m m  0.
3 3

Следовательно, 2  0 , что невозможно. Таким образом, наше


предположение неверно, что и доказывает следствие 2.
Пример1. Докажем с помощью формулы Эйлера, что граф G33,
рассматриваемый в задаче о трех городах и трех базах снабжения не
может быть плоским (рис. 6.6).
78
1 1 1

2 2 2

Рис. 6.6
Доказательство проведем от обратного. Пусть граф G33 
плоский, тогда по формуле Эйлера определим число граней:
f=2+mn=26+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 =2n+m =25+10 =7.
Каждая грань ограничивается не менее чем тремя рёбрами. Опять
образуем вспомогательный граф инцидентности гранирёбра и
подсчитаем в нем число рёбер. Получаем, что, с одной стороны, их
2m, а с другой – больше или равно 3f. Следовательно, справедливо
неравенство 2m  3f, т.е. 20  21. Данное противоречие и доказывает,
что наше предположение не верно, т.е. граф G5 не является плоским.
Примечание. Графы G33 и G5 позволяют порождать бесконечное
семейство неплоских графов. Для этого достаточно помещать на их
рёбра новые вершины и получать новые неплоские графы.
80
6.2. Окраска плоского графа
Теорема. Всякий плоский граф является 5-хроматическим, т.е.
может быть раскрашен пятью красками.
Доказательство. Теорема очевидна для плоских графов с
n=1,2,3,4,5 вершинами. Докажем теорему по индукции.
Предположим, что она верна для графов с (n1) вершинами, и
докажем, что она справедлива для графов с n вершинами. В силу
следствия 2, в графе G имеется вершина xX, смежная с 0,1,2,3,4 или
5 вершинами. Подграф, полученный из графа G удалением этой
вершины xX, является по предположению 5-хроматическим (так как
в нём (n1) вершина). Раскрасим его пятью цветами – красным (к),
желтым (ж), зеленым (з), синим (с) и фиолетовым (ф). Тогда
вершину 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

G1G2
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)].

Пример. Для графов G1 и G2, представленных на рис. 6.11, их


пересечение приведено на рис. 6.13.
83

G1G2
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 в себя. Причем

(  x  X1/X2)[Г / (x)=Г1(x)  Г 2(x)].

Пример. Для графов G1 и G2, представленных на рис. 6.11, их


разность приведена на рис. 6.15.
84

G1 G 2
x1

x2

Рис. 6.15
5. Симметрическая разность. Симметрической разностью
графов G1 и G2 называется граф, обозначаемый G1G2 и
определяемый как G1G2=(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 11 =(X1, Г 11 ),
где Г 11 - есть отображение множества X1 в себя. Причём
(  x1, х2  X1)[ х2  Г1(x1)  x1  Г 11 ( х2)].
Пример. Для графа G1, представленного на рис. 6.11, его инверсия
приведена на рис. 6.17.
85

G11
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

6.4. Произведение и сложение графов


Рассмотрим теперь две операции над графами, основанные на
декартовом произведении множеств.
8. Произведение. Произведением графов G1 и G2 называется
граф, обозначаемый G=G1G2=(Z, Г), где множество вершин Z
86
определяется прямым произведением Z = X1X2, а отображение Г
определяется как
Г(z) = Г(x,y) = Г1(x)Г2(y), где xX1, yX2, zZ.
Пример. Графы G1 и G2 приведены на рис. 6.19.

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=R1R2. Здесь знаком «» обозначается
прямое произведение, заключающееся в том, что элемент первой
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 = G1G2 = (Z,Г), где множество вершин Z
определяется прямым произведением Z = X1X2, а отображение Г
определяется как Г(z)=Г(x,y)=Г1(x)Г2(y)={Г1(x){y}}{{x}Г2(y)},
где xX1, yX2, zZ.
Пример. Пусть графы 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 = (R1E2)(E1R2), где Е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

6.5. Упражнения и задачи


1. Построить произвольные ориентированные графы G1 и G2 и
определить для них в теоретико-множественном и матричном виде
графы G1  G2 и G1 + G2.
2. Построить произвольные неориентированные графы G1 и
G2 и определить для них в теоретико-множественном и матричном
виде графы G1  G2 и G1 + G2.
3. Предложить метод выполнения указанных операций над
матрицами инциденции графов G1 и G2.
4. Рассмотреть указанные операции для неориентированных
мультиграфов.
5. Построить произвольные графы G1 и G2 и определить
графы G1 + G2 и G2 + G1. Установить изоморфизм между
полученными графами.
6. Построить произвольные графы G1 и G2. Определить графы
G1  G2 и G2  G1. Установить изоморфизм между полученными
графами.
7. Построить произвольные ориентированные графы G1 и G2.
Определить граф G1  G2, и в полученном графе найти число
внутренней устойчивости.
8. Построить произвольные неориентированные графы G1 и
G2. Определить граф G1 + G2, и в полученном графе найти число
внутренней устойчивости.
9. Доказать или опровергнуть, что если графы G1 и G2 –
деревья, то графы G1  G2 и G1 + G2 также являются деревьями.
10. Доказать или опровергнуть, что если графы G1 и G2 –
эйлеровы, то графы G1  G2 и G1 + G2 также являются эйлеровыми.
90
11. Доказать или опровергнуть, что если графы G1 и G2 –
гамильтоновы, то графы G1  G2 и G1 + G2 также являются
гамильтоновыми.
12. Доказать или опровергнуть, что если графы G1 и G2 –
связные, то графы G1  G2 и G1 + G2 также являются связными.
13. Доказать, что операции умножения и суммирования
графов ассоциативны и транзитивны.

Контрольные вопросы
1. Какой граф называется плоским?
2. Доказать формулу Эйлера.
3. Доказать, что граф G33 не является плоским.
4. Доказать, что граф G44 не является плоским.
5. Доказать, что граф G5 не является плоским.
6. Доказать, что граф G6 не является плоским.
7. Определить операцию произведения двух графов.
8. Определить операцию сложения двух графов.
91

7. ТРАНСПОРТНЫЕ СЕТИ

7.1. Понятие транспортной сети. Поток в транспортной сети


Пусть G = (X,Г) – граф без петель, для которого выполняются
условия:
1) (  !х0  Х)(Г 1 (х0)= );
2) (  !хn  Х)(Г(хn)= );
3) каждой дуге u  U графа приписано значение с(u)  0.
Определение. Граф G, для которого выполняются условия 1–3,
называется транспортной сетью.
Вершина х0 называется начальной вершиной транспортной сети
(входом); хn – конечной вершиной транспортной сети (выходом); с(u)
– пропускной способностью дуги.
На рис. 7.1 приведен пример транспортной сети.

(4)
(5)
(3)
(2) xn
(4) (4)

(3) (3)
(5)
(5)

Рис. 7.1
Определение. Функцию (u), определённую на множестве рёбер
U, называют потоком в транспортной сети, если удовлетворяются
следующие условия:
1) (uU)[(u)  0];
2) (xi  х0 &  xn)[   (u) =   (u)],
uU X i u U X i
92
где U X – множество дуг, заходящих в вершину xi, а U X – множество
i i

дуг, исходящих из вершины xi;


3) (uU)[ (u)  c(u)].
Поток можно рассматривать как количество вещества,
протекающего по дуге.
Из введённых определений транспортной сети и потока следует,
что величины (х0) =   (u) и (хn) =   (u) равны, т.е. (х0) = (хn).
u U X i uU X i

Определение. Для подмножества вершин АХ, такого что х0А,


хnA, разрезом сети G=(X,Г) называется множество дуг U A ,
заходящих (извне) в вершины множества А.
Число С(U A ) =  C (u) называется пропускной способностью
uU А

разреза А.
Так как каждая частица «вещества», движущегося по сети от
вершины х0 к вершине хn, пройдёт по крайней мере однажды по
какой-нибудь дуге, принадлежащей разрезу, то какой бы ни был
поток (хn) и какой бы ни был разрез U A , можно записать, что
(хn)  C (U A ) .
На рис. 7.2 показан пример, иллюстрирующий это неравенство.

x0 xn

Рис. 7.2
Дуга uU называется насыщенной, если  (u) = C (u), т.е. поток,
проходящий через дугу, равен пропускной способности дуги.
93
Сформулируем теперь задачу о потоке: требуется определить
такую функцию (u) для каждой дуги uU, чтобы величина (х 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
Находя значение * = 76 = 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
uU A uU A

Отсюда и из того, что общее количество вещества, входящего в


разрез А не превосходит величины C (U A ) , заключаем, что все дуги,
принадлежащие разрезу, – насыщенные, и значит величина  Х0 равна n

максимальному потоку.

7.2. Теорема Форда–Фалкерсона


Из теорем 1, 2 и 3 вытекает основная теорема.
Теорема 4 (теорема Форда–Фалкерсона). Для заданной
транспортной сети максимальное значение потока равно
минимальной пропускной способности разреза, т.е.
max  Х n =min C (U A ) для всех вершин А, для которых вершина х0А, а

вершина х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.

+ [+x0] [-С] [+A] [+B]


2(4) 3(3) 3(5) 3(6)
x0 C A B xn

Рис. 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

7.3. Задача о потоке минимальной стоимости


Ранее была рассмотрена задача максимизации потока от s к t
безотносительно к какой-либо стоимости. Теперь рассмотрим задачу
нахождения такого потока заданной величины v от s к t, стоимость
которого минимальна. В этой задаче каждая дуга (xi, xj) имеет два
связанных с ней числа – пропускную способность qij и стоимость cij
единицы потока по этой дуге.
Очевидно, что если v больше, чем значение максимального
потока от s к t, то не существует никакого решения. Если же v не
превышает этого значения, то может существовать несколько
различных потоков и требуется найти поток величины v,
обеспечивающий минимальную стоимость. Алгоритмы,
позволяющие решать подобные задачи, будут описаны ниже. Они
принадлежат Клейну и Басакеру и Гауэну.
99
Процесс нахождения в графе G=(X, A) аугментальной цепи
потока, когда поток по дугам задается вектором ξ, можно
рассматривать как процесс нахождения цепи (от s к t) в
инкрементальном графе Gμ(ξ)=(Xμ,Aμ), определяемом следующим
образом:
X   X , A  A1  A2 ,
где
A1  {( x i , x j )  ij  q ij }
,
причем пропускная способность дуги ( xi , x j )  A1 равна qij  qij   ij ,
и A2  {( x j , xi ) |  ij  0} , а пропускная способность дуги ( x j , xi )  A2
равна qij   ij .
Аугментальная цепь в графе G является цепью P, где дуги из P в
A1 являются прямыми дугами, а дуги из P в A2 являются обратными
дугами.

Алгоритм, основанный на выявлении отрицательных циклов


Предположим, что в графе существует допустимый поток ξ со
значением v и что этот поток известен. Такой поток может быть
получен с помощью алгоритма максимального потока (от s к t),
который был рассмотрен ранее, и добавления потока общей величины
δ(t) на всех аугментальных цепях (шаги с 4 по 6 алгоритма) до тех
пор, пока поток fst не достигнет значения v, которое по условию
меньше значения максимального потока.
Для этого допустимого потока определим новый
инкрементальный граф Gμ(ξ)=(Xμ,Aμ), в точности так, как это
объяснено в предыдущем пункте, со следующими стоимостями дуг:
 для каждой дуги ( xi , x j )  A1 положим cij  cij ;
 для каждой дуги ( x j , xi )  A2 положим c ji  cij .
100
Новый граф Gμ(ξ) дает теперь инкрементальные пропускные
способности и стоимости (относительно начального потока ξ) любого
дополнительного потока, введенного в G. Алгоритм основан на
следующей теореме.
Теорема. Поток ξ будет потоком минимальной стоимости со
значением v тогда и только тогда, когда в Gμ(ξ) не существует
никакого цикла Ф, сумма стоимости дуг которого отрицательна.
Описание алгоритма:
Шаг 1. Использовать алгоритм максимального потока (от s к t)
для нахождения в графе G допустимого потока ξ со значением v.
Шаг 2. Построить для этого потока граф Gμ(ξ), пользуясь
данными ранее правилами.
Шаг 3. Отправляясь от матрицы стоимостей графа Gμ(ξ) и
используя алгоритм кратчайшей цепи, определить, существует ли в
графе Gμ(ξ) цикл с отрицательной стоимостью. Если такой цикл
существует, то найти его (цикл Ф) и перейти к шагу 4. Если такого
цикла нет, то остановиться. Поток ξ будет потоком минимальной
стоимости.
Шаг 4. Вычислить δ:
  ( xmin 
, x )
[

q 
ij
].
i j

(I) Для всех ( xi , x j )   с cij  0 изменить поток ξji в


соответствующей дуге ( x j , xi ) из G с ξji на ξji – δ.
(II) Для всех ( xi , x j )   с cij  0 изменить поток ξij в
соответствующей дуге ( xi , x j ) из G с ξji на ξji + δ.
Шаг 5. Повторить шаг 2, начиная с нового потока.

Алгоритм, основанный на цепи наименьшей стоимости


Алгоритм, основанный на выявлении отрицательных циклов и
рассмотренный выше, начинает работу с произвольного потока ξ со
101
значением v, после чего происходит постепенное улучшение потока
до тех пор, пока не будет получен поток ξ* минимальной стоимости.
В терминологии математического программирования такой алгоритм
следовало бы назвать основным алгоритмом, так как его первая цель
состоит в получении допустимого потока, а затем поток улучшается с
сохранением допустимости. Альтернативным подходом является
двойственный метод, в котором для решения этой задачи начинают с
построения потока ξ* с минимальной стоимостью, имеющего
некоторое значение v0<v, а затем добавляют в граф новый поток с
минимальной стоимостью, имеющий значение v1>v0, и т.д. пока не
будет построен поток с минимальной стоимостью со значением v. В
отношении этого метода следует заметить, что начальный поток
минимальной стоимости всегда имеется, так как нулевой поток
является потоком минимальной стоимости со значением 0.
Алгоритм основан на вычислении кратчайшей цепи и следующей
теореме.
Теорема. Если ξ – поток минимальной стоимости в графе G со
значением v и P* – кратчайшая цепь (наименьшей стоимости) от s к t
в инкрементальном графе Gμ(ξ), то ξ+1°(P*) является потоком
минимальной стоимости со значением v+1.
Описание алгоритма:
Шаг 1. Начать с нулевых потоков на дугах и с потока, имеющего
нулевое значение.
Шаг 2. Построить инкрементальный граф G  ( )  ( X  , A1  A2 ) и
взять следующие стоимости дуг:
- для любой дуги ( xi , x j )  A1 положить cij  cij ;
- для любой дуги ( x j , xi )  A2 положить c ji  cij .
Шаг 3. Найти в графе Gμ(ξ) кратчайшую цепь P* от вершины s к
вершине t.
102
Шаг 4. Найти наибольшую величину δ того потока, который
можно послать вдоль P* не изменяя структуру графа Gμ(ξ). Величина
δ равна
  ( xmin 
, x )
[ q


ij
].
i j

Шаг 5. (I) Если значение потока ξ+δ°(P*) меньше, чем требуемая


величина v, произвести замену ξ←ξ+δ°(P*) и вернуться к шагу 2.
(II) Если значение потока ξ+δ°(P*) равно v, остановиться.
Величина ξ+δ°(P*) является требуемым потоком минимальной
стоимости.
(III) Если значение ξ+δ°(P*)=h>v, то остановиться. Требуемым
потоком минимальной стоимости будет ξ+(δ–h+v)°(P*).

7.4. Упражнения и задачи


1. Найти пропускные способности разрезов, определяемых
множествами {D, E, F, M, I}, {B, G, E, I, J}, {C, E, H, I}, для
транспортной сети, граф которой приведен на рис. 7.9.

(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.107.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

(2) (2) (2) (2) (2) (2)


(5)
(4)
(2) (1)
(2) (1) (1) (1) (1) (1)
(1) (2) (2) (2) (2)
(4)
(5)
(3) (3) (3) (3) (3) (3)

Рис. 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

Окончание табл. 7.1

Вариант
Ребро
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.1. Задачи размещения


В практической деятельности постоянно возникают задачи
«наилучшего» размещения оборудования (или средств
обслуживания) в сетях или графах. В частности, если граф
представляет сеть дорог, и вершины соответствуют отдельным
районам, то можно поставить задачу оптимального размещения
больниц, пожарных частей и многих других необходимых
предприятий и служб. В таких случаях критерий оптимальности
может состоять в минимизации расстояния (или времени проезда) от
пункта обслуживания до самой отдаленной вершины графа, т. е. в
оптимизации «наихудшего варианта». В более общей задаче
требуется разместить несколько таких пунктов обслуживания. При
этом самая отдаленная вершина графа должна находиться по крайней
мере от одного пункта обслуживания на минимально возможном
расстоянии. К таким задачам относятся задачи размещения
аварийных служб, и поэтому объективным требованием здесь
является минимизация наибольшего расстояния от произвольной
вершины графа до ближайшего к ней пункта обслуживания. По
очевидным причинам задачи такого типа называются минимаксными
задачами размещения. Полученные при решении этих задач места
для размещения пунктов обслуживания называются центрами графа.
В некоторых задачах размещения лучше всего было бы
минимизировать сумму всех расстояний от вершины графа до центра
обслуживания (если предполагать, что ищется место для размещения
только одного такого пункта обслуживания). Такой критерий
является наиболее подходящим, например, в задаче о размещении
склада в сети дорог, где вершины представляют потребителей,
обслуживаемых этим складом, или в задаче размещения телефонных
станций в телефонной сети, где вершины представляют абонентов.
Задачи такого типа вообще относятся к минисуммным задачам
размещения, хотя целевая функция является часто не просто суммой
расстояний, а суммой различных функций от расстояний. Места
109
размещения пунктов обслуживания, полученные в результате
решения минисуммной задачи, называются медианами графа.
Разделения
Для любой вершины xi графа G=(X,Г) пусть R0(xi) есть
множество тех вершин xj графа, которые достижимы из вершины xi с
помощью путей со взвешенными длинами vjd(xi,xj), не
превосходящими величины . Через Rt(xi) – множество тех вершин
xj графа, из которых вершина xi может быть достигнута с
использованием путей, имеющих взвешенные длины .
Таким образом:
R0(xi)={xjX|vjd(xi,xj)};
 (8.1)
Rt(xi)={xjX|vjd(xj,xi)}.
Для каждой вершины xi определим следующие два числа:
 S 0 ( xi )  max
x X
[v j d ( xi , x j )] ;
j

 (8.2)
 St ( xi )  max
x X
[v j d ( x j , xi )].
j

Числа S0 и St называются соответственно числом внешнего


разделения и числом внутреннего разделения вершины xj.
Пример. Рассмотрим граф G, показанный на рис. 8.1.

x1
x6 x2

x5 x3

x4

Рис. 8.1
110

Предположим, что все веса вершин и дуг графа равны единице.


Матрица расстояний графа имеет вид
x1 x 2 x3 x 4 x5 x 6 S 0 ( xi )
x1 0 1 2 3 2 3 3
x2 3 0 1 2 1 2 3
x3 4 3 0 1 2 3 4
D(G ) 
x4 3 2 2 0 1 2 3
x5 2 1 1 2 0 1 2*
x6 1 2 3 4 3 0 4
S t ( xi ) 4 3* 3* 4 3* 3*

Числа внешних и внутренних разделений приведены в


соответствующих строке и столбце.
Пусть 0 – наименьшая длина  такая, что для вершины xi вели-
чина R0(xi)=X. Тогда имеем
S0 ( xi )  0 . (8.3)

Аналогично, если t наименьшая длина , такая, что для вершины


xi величина Rt(xi)=X. Тогда имеем
St ( xi )  t . (8.4)

Очевидно, что у графа G числа внешнего и внутреннего


разделений любой вершины конечны тогда и только тогда, когда граф
сильно связный, т.е. каждая вершина достижима из всякой другой
вершины.

8.2. Центр и радиус


Вершина x0* , для которой
s 0 ( x0* )  mins 0 ( xi ), (8.5)
xi X

называется внешним центром графа G; и аналогично вершина xt* , для


которой
st ( xt* )  minst ( xt ), (8.6)
xi X
111
называется внутренним центром графа G.
У графа может быть несколько внешних и внутренних центров.
Таким образом, они образуют множества внешних и внутренних
центров соответственно.
Число внешнего разделения вершины x0* , являющейся внешним
центром, называется внешним радиусом:  0  s0 ( x0* ) ; число
внутреннего разделения внутреннего центра называется внутренним
радиусом: t  st ( xt* ) . У графа, изображенного на рис. 8.1, имеется
один внешний центр (вершина x5) и 4 внутренних центра (вершины
x2, x3, x5, x6). Внешний радиус равен 2, а внутренний – 3.
Размещение пунктов обслуживания
Рассмотрим задачу обслуживания нескольких жилых районов
(связанных между собой дорожной сетью) каким-либо одним
пунктом обслуживания (например, одной больницей или пожарным
депо). По некоторым причинам (наличие людских ресурсов и т.д.)
пункт обслуживания должен быть размещен в одном из этих районов,
а не в произвольной точке какой-либо дороги.
Предположим, что «длины» cij дуг графа G (вершины которого
соответствуют районам, а дуги – дорогам) образуют матрицу времен
проезда между этими районами. Эта матрица необязательно
симметрическая, т.е. cij  c ji , поскольку время проезда может зависеть
от уклонов на дороге, наличия улиц с односторонним движением и
т.д.
В случае размещения пожарного депо интересуются временем,
необходимым для проезда в наиболее отдаленный из этих районов.
Следовательно, задача размещения пожарного депо состоит в
минимизации этого времени. Задача становится более реалистичной,
если каждой вершине графа приписывается вес ( v j ), представляющий
вероятность потребности данного района в соответствующем
112
обслуживании. Эти веса, например, могут быть пропорциональны
численности населения каждого района. Вершина, которая
минимизирует время проезда до самого отдаленного района, является
внешним центром графа.
В случае размещения больницы интересуются временем,
необходимым для проезда машины скорой помощи в самый
отдаленный район и возвращения ее в больницу. Если определить
число внешневнутреннего разделения вершины xi с помощью
равенства
s0t ( xi )  max{v j [d ( xi , x j )  d ( x j , xi )]},
x j X

то вершину x0t* , на которой достигается минимум выражения s0t ( xi ) ,


можно назвать внешневнутренним центром. Для графа, приведенного
на рис. 8.1, внешневнутренним центром является вершина х5, а
внешневнутренний радиус равен 5.

8.3. Абсолютный центр


Соотношение s0 ( xi )  0 определяет числа разделения для любой
вершины xi  X . Обобщим это определение на случай
«искусственных» точек, которые можно помещать на дугах. Итак,
если a  ( xi , x j ) представляет дугу графа с весом (длиной) cij, то точка
y, помещаемая на этой дуге, может быть определена посредством
задания длины l ( xi , y) участка ( xi , y) , причем должно выполняться
равенство
l ( xi , y)  l ( y, x j )  cij .

Числа разделения s0 ( y) и st ( y ) точки y независимо от того,


является ли она вершиной графа G или искусственной точкой дуги
графа G, определяются следующим образом:
s 0 ( y )  max [vi d ( y, xi )] .
xi X
113
Точка y0* , для которой
s0 ( y 0* )  min[ s0 ( y )] ,

называется абсолютным внешним центром графа; и аналогично


определяется yt* – абсолютный внутренний центр.
Число внешнего разделения абсолютного внешнего центра
называется абсолютным внешним радиусом: rt  st ( y0* ) , и число
внутреннего разделения абсолютного внутреннего центра называется
абсолютным внутренним радиусом: rt  st ( yt* ) .
Пример. Рассмотрим неориентированный граф G, показанный на
рис. 8.2, где все веса вершин и длины ребер равны единице.
Поскольку граф неориентированный, то числа внешних и
внутренних разделений одинаковые (для одной и той же вершины).
x1 x2

x3

y1

x5 x4

Рис. 8.2

Матрица расстояний графа имеет вид


x1 x2 x3 x4 x5
x1 0 1 2 2 1
1 0 1 1 2
x2
D(G) = x3 2 1 0 2 1
x4 2 1 2 0 1
x5 1 2 1 1 0
114
Нетрудно видеть, что центром является каждая вершина и что
радиус равен 2. Если теперь выбрать точку у1 на ребре ( x3 , x5 ) так, что
l ( x5 , y1 )  0,5 (и, следовательно, l ( y1 , x3 )  0,5 ), то расстояния от этой
точки до вершины графа даются таблицей:

x1 x2 x3 x4 x5
y1 1,5 1,5 1,5 1,5 1,5

Значит, наибольшее число разделения равно 1,5. Таким образом,


точка у1 более «центральна», чем любая из вершин графа G. В
действительности точка у1 является абсолютным центром графа G –
так же, как и все точки, расположенные в середине ребер
( x1 , x2 ), ( x2 , x3 ), ( x5 , x4 ), ( x4 , x2 ), ( x5 , x1 ). Ни одна из вершин графа не
является абсолютным центром. Таким образом, в общем случае
может быть один или больше абсолютных центров, которые
располагаются или в вершинах, или на дугах графа.

Алгоритмы нахождения абсолютных центров


Центры и радиусы графа можно найти непосредственно из
матрицы взвешенных расстояний. Рассмотрим методы нахождения
абсолютного центра графа.

Метод Хакими
Этот метод для неориентированного графа состоит в следующем
(для ориентированного графа метод остается таким же, надо только
каждое «неориентированное» понятие заменить его
«ориентированным двойником»):
(1) Для каждого ребра аk, графа найти точки (или точку) y k , на
*

которые аk имеют наименьшее число разделения.


115
(2) Из всех точек y k (k = 1, 2, ..., m) в качестве абсолютного
*

центра графа G выбрать точку с наименьшим числом разделения.


Первый шаг метода осуществляется следующим образом.

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

Поскольку расстояние d(уk, xi) равно либо длине маршрута,


проходящего через вершину x, либо длине маршрута, проходящего
через x, l(yk, x ) и l(yk, x ) являются длинами соответствующих
частей ребра аk.
Пусть l(yk, x  ) = ξ. Поскольку соотношение l(yk, x ) = C –l(yk, x  )=
= C – ξ , то соотношение (8.3) примет вид

S  yk   max min vi   d x  , xi ,vic  d x , xi  .. (8.4)


x jX

Для фиксированной вершины хi и при каждом значении ξ


(0  ξ  C) можно найти наименьшие значения выражений,
заключенных в соотношении (8.4) в квадратные скобки. Для этого
выпишем отдельно два указанных выражения:
116

Ti  vi   di x , x  и T
 i
'
i
 vi c

d x , x   .
 i

Рассматривая их относительно ξ, строим нижнюю «огибающую»


для соответствующих им прямых линий (эта «огибающая»
представляет собой ломаную линию, состоящую из двух «нижних»
лучей (от точки пересечения), рассматриваемых прямых линий).
Повторяя эту процедуру для всех вершин хi  X, мы построим на
одном и том же чертеже все остальные нижние «огибающие». Далее
вычертим верхнюю «огибающую» для всех ранее полученных
нижних «огибающих», которая дает числа разделения s(уk) для всех
значений параметра ξ, т. е для всех точек yk ребра аk. Построенная
огибающая (она составлена из линейных кусков) может иметь
несколько минимумов. Точка yk, соответствующая наименьшему из
этих минимумов, является абсолютным центром y*k, отвечающим
дополнительному ограничению: он должен лежать на ребре аk.
Абсолютным центром графа будет такая точка у*k, которой
соответствует наименьший из минимумов, определяющих указанные
выше абсолютные центры на ребрах аk (k = 1, 2, ..., m).
Размещение аварийных служб (общий случай). Рассмотрим
еще раз задачу об обслуживании нескольких районов каким-либо
одним пунктом обслуживания (одной больницей или пожарным депо,
или полицейским участком). Если опущено ограничение, состоящее в
том, что пункт обслуживания должен размещаться в каком-то из
жилых районов, то оптимальным размещением пункта обслуживания
будет его размещение в любом абсолютном центре
соответствующего графа.
Рассмотрим, например, неориентированный граф, приведенный
на рис. 8.4. Пусть вершины графа соответствуют жилым районам, а
длина ребра {хi,, xj) равна времени (в минутах), необходимому для
проезда из района xi в район xj. Предположим, что вершины графа
имеют единичные «веса» и матрица «расстояний» (времен) такова:
117
x1 x 2 x3 x 4 x5
x1 0 8 8 6 2
 
x2  8 0 2 10 6
D(G )   8 2 0 12
x3 8 .
 
x4  6 10 12 0 4
2 6 8 4 0 
x5 

Очевидно, что центром графа является либо вершина x1, либо х5


и что радиус графа равен 8.
Сначала возьмем ребро a1 (рис. 8.4), и пусть расстояние 
измеряется от вершины х3 до х1. Выражения Ti и Т’i (для i = 1, 2, . , 5)
имеют в нашем случае такой вид
T1    d ( x3 , x1 )    8 , T1  c3,1  d ( x1 , x1 )    8   .
'

Рис. 8.4
Аналогично находим значения: T2=+2, T’2=16–, T3=, T’3=16–,
T4=+12, T’4 = 14–, T5=+8, T’5 = 10–.
Графики этих функций изображены на рис.8.5,а для 08.
Имеются два локальных абсолютных центра у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)

Рис. 8.5,г. Размещение на ребре a4

Модифицированный метод Хакими


В описанном выше методе Хакими поиск локального центра
осуществляется вдоль всего ребра графа G. Если в графе много ребер,
120
то время вычисления, требуемое для поиска, может оказаться
большим.
Рассматриваемая в данном разделе модификация метода Хакими
состоит в вычислении верхних и нижних оценок абсолютных
локальных радиусов, соответствующих локальным центрам ребер, и в
использовании полученных оценок для уменьшения числа ребер,
участвующих в поиске.
Всякому локальному центру, расположенному на ребре (xi,xj),
соответствует его абсолютный локальный радиус (скажем, rij),
который не меньше, чем рij, где
pij  max[ S min
x X
{d ( xS , xi ), d ( xS , x j )}]. (8.5)
i

Таким образом, pij есть нижняя оценка абсолютного радиуса


графа, если абсолютный центр лежит на ребре (xi,xj). Следовательно,
величина
P  (max
x , x )A
[ pij ]
i j

(где А – множество ребер графа) является обоснованной нижней


оценкой абсолютного радиуса графа.
Допустим, что абсолютный центр расположен в середине ребра
(xi, xj). Тогда абсолютный радиус равен
1
p  * ,
ij 2 v s cij
где vs* – вес той вершины xs, в которой достигается наибольшее
значение величины рij, указанной в соотношении (8.5).
Следовательно,
 1 
H  min p 
 ij 2 v s*c ij 
x , x  A
i j
121
является обоснованной верхней оценкой абсолютного радиуса графа.
Таким образом, всякое ребро (xi0,xj0), для которого Pi0j0  H, может не
рассматриваться при поиске абсолютного центра.
Для графа, приведенного на рис. 8.4, у которого vi = 1 для всех
xiX, получаем следующие результаты:
- центр на а1 = (х3, х1) дает р3,1= max (2, 6, 2) = 6,
- центр на а2 = (х2, х3) дает р2,3= max (8, 10, 6) = 10,
- центр на а3 = (х5, х2) дает р5,2= max (2, 2, 4) = 4,
- центр на а4 = (х1, х5) дает р1,5= max (6, 8, 4) = 8,
- центр на а5 = (х1, х4) дает р1,4= max (8, 8, 2) = 8,
- центр на а6 = (х4, х5) дает р4,5= max (2, 6, 8) = 8.
Верхняя оценка H равна, следовательно:
H = min (6 + 4, 10 + 1,4+ 3, 8+1, 8+3, 8+2) = 7,
и поэтому ребра а2, а4, а5 и а6, для которых рij > 7, могут быть
исключены из списка кандидатов на размещение абсолютного
центра. Поиск абсолютного центра нужно вести только на двух
оставшихся ребрах.
Используя верхние и нижние оценки, удалось уменьшить поиск в
3 раза. Наименьшая нижняя оценка P равна
P = min (6, 10, 4, 8, 8, 8) = 4.
Эта оценка не является точной, поскольку истинная величина
абсолютного радиуса r данного графа равна 6.

Итерационный метод
Чтобы сделать изложение более простым, опишем данный метод
для случая неориентированных графов. Замена каждого
«неориентированного» понятия его «ориентированным двойником»
не приводит к какому-либо коренному изменению метода.
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)

Поэтому можно начать с произвольного небольшого значения ,


строить множество Q(xi) для всех i=1,2,..,n и проверять, выполняется
ли соотношение (8.7). Если оно не выполняется, то надо увеличить
немного величину , заново построить множества Q(xi) (при новом
значении ) и опять проверить, не выполняется ли соотношение (8.7).
Эту процедуру можно повторять до тех пор, пока не будет
выполняться (8.7). Полученная таким образом величина принимается
за абсолютный радиус r графа G. Более того, поскольку приращения
величины малы, то пересечение
[Q ( x )]
xiX
i (8.8)

при завершении процесса итерации будет содержать только одну


точку, и она является как раз абсолютным центром y*.
123
Поскольку d(xi,xj) есть наикратчайшее расстояние между двумя
произвольными вершинами хi и xj, то совершенно очевидно, что если 
меньше половины взвешенного расстояния между хi и xj, т.е.
vi v j
 d ( xi , x j ) , то Q ( xi )  Q ( x j )  
vi  v j
и пересечение множеств в выражении (8.8) пусто. Следовательно,
итерационный процесс поиска абсолютного центра можно начать
со значения , равного
vi v j
0  max[ d ( xi , x j )] ,
xi  x j vi  v j
поскольку радиус r должен быть не меньше о. С этой точки зрения,
значение =20 можно назвать диаметром графа.

8.4. Упражнения и задачи


1. Найти центр графа, в матрице смежности которого указаны
стоимости дуг:
0 7 0 0 0 0 
 
 0 0 14 0 4 0 
 0 0 0 0 12 0 
RX   .
0 0 5 0 0 0 
 0 0 0 9 0 10 
 
 6 11 0 0 0 0 
 
Веса вершин заданы вектором [5, 3, 1, 7, 4, 6].
2. Показать, что в любом неориентированном графе G с
единичными весами вершин существует такой маршрут между
некоторой парой вершин, что абсолютный центр графа лежит в
середине этого маршрута.
124

Контрольные вопросы
1. Дать определение внешних и внутренних центров и радиусов
графа.
2. Дать определение абсолютных внешних и внутренних центров
и радиусов графа.
125

9. НЕЧЕТКИЕ ГРАФЫ

9.1. Определение и способы задания нечетких графов


Будем рассматривать нечеткие неориентированные и
ориентированные графы и мультиграфы двух видов. К первому виду
будем относить графы и мультиграфы, имеющие нечеткое множество
ребер. Ко второму виду будем относить графы и мультиграфы,
имеющие, кроме того, нечеткое множество вершин.
Определение. Нечетким неориентированным графом первого
 
рода называется и через G = (X, U) обозначается пара множеств, у
которого X={xi}, i  I = {1,2,..., n} – четкое множество вершин, а

U = {<  U x i  x k  x i  x k   – нечеткое множество ребер, где x i  x k  X,
 U  x i  x k  – значение функции принадлежности U для ребра
x i  x k  .
 
Пример. Зададим нечеткий граф G = (X, U) , у которого

X={x1,x2,x3,x4,x5}, а U ={<0,3/(x1,x1)>, <0,7/(x1,x2)>, <1/(x1,x5)>,

<0,6/(x2,x4)>, <0,4/(x2,x5)>, <0,9/(x3,x4)>, <0,8/(x3,x3)>}. Граф G
показан на рис. 9.1.

0,3
X1
1 0,7
0,4
X5 X2

0,6

X4
0,9 X3

0,8

Рис. 9.1
126

Аналогичным образом зададим нечеткий ориентированный граф


 
первого рода G = (X, U) . При этом X={xi}, i  I = {1,2,..., n} , а

U = {<  U  x i  x k    x i  x k  , < x i  x k  X2 ,  U  x i  x k  – степень
принадлежности ориентированного ребра < x i  x k  нечеткому
~
множеству ориентированных ребер U .
Пример. Зададим нечеткий ориентированный граф первого рода
 
G = (X, U) , где множество вершин X={x1,x2,x3,x4,x5}, а нечеткое

множество ориентированных ребер U ={<1/<x1,x4>>,<0,5/<x1,x5>>,
<0,1/<x2,x2>>, <0,9/<x2,x3>>, <0,8/<x4,x2>>, <0,2/<x4,x1>>,
<0,6/<x5,x5>>}.

Граф G показан на рис. 9.2.

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} , а  –

нечеткое многозначное отображение множества вершин X в себя, т.е.


~
 : X  X , задаваемое в виде системы нечетких образов элементов

x X при этом отображении, т.е. (xi      x j  x j  , x j x i  , здесь
 x i  – четкое множество образов вершины x i  X .
Пример. Зададим нечеткий граф из предыдущего примера в виде
~ ~ 
G = (X, ) . Получим X={x1,x2,x3,x4,x5}, x1  ={<1/x4>, <0,5/x5>},
  
x 2  ={<0,1/x2>, <0,9/x3>},  x 3    , x 4  ={<0,2/x1>, <0,8/x2>},

x 6  ={<0,6/x5>}.
Как нечеткий неориентированный, так и ориентированный графы
удобно задавать в виде нечетких матриц смежности R x  rik n , где
127

rik   U  x i  x k  для неориентированных графов и rik   U  x i  x k  –


для ориентированных графов.
Пример. Матрицы смежности Rx1 и Rx2 графов, рассмотренных в
предыдущих примерах, имеют вид:

Нетрудно видеть, что для неориентированных графов первого


рода нечеткая матрица смежности, как и для четких графов,
симметрична относительно главной диагонали.
Дадим определение нечеткого неориентированного графа второго
вида. Пусть имеется некоторое универсальное множество А и задано
 
нечеткое множество X в А, имеющее вид X = {<  X x) / x >}, x A.
 
Определение. Нечеткий граф G = (X, ) является нечетким
неориентированным графом второго вида, если
  
X = {<  X x) / x >}, x A, |X|= n, U = {<  U xi , x k ) / xi , x k ) >},

x i  x k  X, где X – носитель множества X .
Пример. Зададим нечеткий неориентированный граф второго
  
вида G = (X, U) , у которого X ={<1/x1>, <0,4/x2>, <0,7/x3>, <0,5/x4>,

<0,9/x5>}, U ={<0,3/(x1,x1)>, <0,7,/(x1,x2)>, <1/(x1,x5)>, <0,6/(x2,x4)>,
<0,4/(x2,x5)>, <0,9/(x3,x4)>, <0,8/(x3,x3)>}.
Нечетким ориентированным графом второго вида называется
  
граф G = (X, U) , где X – множество вершин является нечетким
множеством в некотором универсальном множестве А, т.е.
  
X = {<  X x) / x >}, x A, |X|= n, U – нечеткое множество
ориентированных ребер определяется как
128

U = {<  U  xi , x k > /  xi , x k >>}, < xi , x k > X2 , где X – носитель

нечеткого множества X .
Пример. Зададим нечеткий ориентированный граф второго вида
   
G = (X, U) , где X ={<0,9/x1>, <0,8/x2>, <0,7/x3>, <0,6/x4>, <0,4/x5>},

U ={<0,4/<x1,x2>>, <0,8/<x1,x3>>, <1/<x1,x4>>, <0,5/<x3,x4>>,
<0,9/<x3,x5>>}.
  
Граф G = (X, U) приведен на рис. 9.3.
  
Нечеткий ориентированный граф второго вида G = (X, U) при
необходимости можно однозначно преобразовать в нечеткий

ориентированный граф первого вида G  = (X, U) следующим
образом. В качестве множества вершин X принимается носитель
 
множества X , а нечеткое множество ориентированных ребер U 
принимает вид (рис. 9.3).

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

Каждому ориентированному нечеткому графу второго вида


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

9.2. Численные характеристики вершин нечетких графов


Определим некоторые численные характеристики вершин
нечетких графов.
Степень d(xi) носителя вершины нечеткого неориентированного
 
графа первого вида G = (X, ) определяется как d(xi) =|Г(xi)|, где Г –

четкое отображение множества X в себя, являющееся носителем


нечеткого отображения  .
Для нечетких ориентированных графов первого вида вводятся в
рассмотрение понятия полустепеней захода d+(xi) и исхода d-(xi)
вершины x i  X :
d+(xi) = |Г-1(xi)|; d-(xi) = |Г(xi)|, где Г-(xi), Г(xi) – соответственно
 
носители нечетких множеств xi  ,
  x i  и т.е. прообразов и образов
вершины xi при нечетком соответствии  .
Для дальнейшего рассмотрения определим такие характеристики
вершин, как конъюнктивные, дизъюнктивные, а также средние
полустепени захода и исхода вершин.
Конъюнктивная полустепень захода вершины xi  X
определяется как
d &+  x i   
x j    x i 
 U  x j xi  .
130
Конъюнктивная полустепень исхода вершины x i  X запишется
в виде
d &-  x i   
x j    x i 
 U  xi  x j  .

Дизъюнктивная полустепень захода вершины x i  X имеет вид


d + xi   
x j    xi 
 U  x j  xi  .

Дизьюнктивная полустепень исхода вершины xi  X


определяется выражением
d - xi   
x j   xi 
 U  xi  x j  .

Конъюнктивные и дизъюнктивные полустепени захода и исхода


могут быть получены в различных базисах нечетких операций,
например, в минимаксном базисе или в вероятностном базисе.
Средние полустепени захода и исхода вершин xi  X
соответственно запишутся
 
+
d av xi    
  xi   x j    xi 
 U  x i  x j  и d av
-
xi  
  x i   x j 
  xi 
 U  xi  x j  .

Для каждой вершины неориентированного нечеткого графа


 
G = (X, U) могут быть получены локальная степень этой вершины,
конъюнктивная, дизъюнктивная и средняя локальные степени по
формулам, приведенным выше для получения или полустепеней
захода, или полустепеней исхода.
Для получения характеристик вершин нечеткого
  
ориентированного графа второго вида G = (X, ) в виде различных
локальных полустепеней можно использовать два подхода.
При первом подходе сначала осуществляется переход от графа
    
G = (X, ) к сопряженному с ним графу G  = (X, ) , для которого все
полустепени определяются по полученным выше выражениям.
131
При втором подходе предлагаются выражения для получения
локальных полустепеней d &+  x i  , d &-  x i  , d + x i  , d - x i  , d a+ xi  , d a- xi 
 
непосредственно по графу G  = (X, ) . Эти выражения запишутся:
d &+  x i   
x j    x i 
 U  x j  x i   X  x j  ,

-
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 

Заметим, что полустепени захода d+(x) и исхода d-(x) для


нечетких орграфов второго вида определяются так же, как и для
орграфов первого вида.
Пример. Для графа, приведенного на рис. 9.3, запишем локальные
полустепени всех вершин в виде таблицы.
d &+  x i  d &-  x i  d +  x i  d -  x i  d a+ xi  d a- xi 
x1 0,9 0,4 0,9 0,9 0,9 0,55
x2 0,4 0,8 0,9 0,8 0,85 0,8
x3 0,8 0,5 0,9 0,9 0,85 0,8
x4 0,5 0,6 1 0,6 0,77 0,6
x5 0,7 0,4 0,9 0,4 0,8 0,4

9.3. Части нечеткого графа


 
Рассмотрим нечеткий граф первого рода G = (X, U) .
 
Определение. Нечеткий граф H = (X, U) назовем частью
  
нечеткого графа G = (X, U) , если X   X и U  U .
132
Голый четкий граф (граф без ребер) является частью любого
нечеткого графа с данным числом вершин. Любое единственное
ребро графа со значением функции принадлежности, меньшей или
равной значению функции исходного графа, также является его
 
частью. Сам нечеткий граф G = (X, U) является своей собственной
частью.
Можно выделить следующие типы частей нечеткого графа:
нечеткий подграф, нечеткий суграф, нечеткий кусок.
 
Определение. Часть графа H = (X, U) называется нечетким
 
подграфом графа G = (X, U) , если справедливо условие
 
(x,y X)[<  U (x, y) / (x,y) >U <  U (x,y) / (x,y) >U].
 
Иначе говоря, нечеткое множество ребер U  графа H состоит из
тех и только тех ребер, которые связывают вершины из X  .
 
Пример. Для нечеткого графа G = (X, U) , приведенного на рис. 9.2,
 
нечеткими подграфами являются H 1 и H 2 , приведенные на рис. 9.4.

~ ~
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
Отметим также, что семейство различных кусков произвольного
нечеткого графа с конечным множеством вершин есть конечное
множество.

9.4. Нечеткие включение и равенство нечетких графов


   
Пусть заданы нечеткие графы первого рода G 1  X    и G 2  X     .
 
При этом множества X  X   X , в частности X  X  . Величины    –
нечеткие отображения множеств X и X  в себя, причем

xi  X1 )( xi    xi y) / y >|y  X1 и

x j  X 2 )( x j      x j y) / y >|y  X 2  .

По аналогии с нечеткими множествами введем понятия степени


включения и степени равенства нечетких графов.
 
Определение. Величину (G1  G 2  , определяемую в виде
 
 (G 1  G 2      x  y)    x  y)) ,
xX1 yX1  X2

 
назовем степенью включения нечеткого графа G1 в нечеткий граф G2 .

Здесь  – операция импликации, определяемая, в частности, как


a  b = 1&(1- a + b) .
 
Аналогично величину (G 2  G1  , определяемую как
 
 (G 2  G 1       x  y)   x  y)) ,
xX 2 yX1  X2

 
назовем степенью включения нечеткого графа 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 .

9.5. Упражнения и задачи


1. Задать ориентированный нечеткий граф первого рода для
случая |X|=6, |U|=7.
2. Задать ориентированный нечеткий граф второго рода для
случая |X|=5, |U|=6. Найти для него сопряженные нечеткие графы в
минимаксном и вероятностном базисах.
3. Для нечеткого графа из упражнения 1 найти конъюнктивные и
дизъюнктивные полустепени исхода и захода вершин.
4. Для нечеткого графа из упражнения 2 найти конъюнктивные и
дизъюнктивные полустепени исхода и захода вершин.
5. Для нечеткого графа из упражнения 1 задать различные части.
6. Ввести нечеткие подграф, суграф и кусок для нечеткого графа
второго рода.

Контрольные вопросы
1. Дать определение нечеткого графа первого и второго рода.
2. Какие способы задания нечетких графов вы знаете?
3. Какие графы называются сопряженными?
4. Дать определение полустепени захода и исхода.
5. Какие части нечеткого графа вы знаете?
137

10. НЕЧЕТКИЕ ИНВАРИАНТЫ НЕЧЕТКИХ ГРАФОВ

10.1. Нечеткие внутренне устойчивые множества


Пусть задан нечеткий неориентированный или ориентированный
~
граф G  ( X ,U~) , где X – множество вершин, U~  {U ( xi , x j )|( xi , x j )  X 2}
– нечеткое множество ребер с функцией принадлежности
~ ~
 U : X 2  [0,1]. Рассмотрим нечеткий подграф G   ( X ,U ), где
~ ~
X   X ,U   U .
Обозначим через t  xmax { U ( xi , x j )}.
, x X 
i j

Определение. Подмножество вершин X назовем нечетким


внутренне устойчивым множеством со степенью внутренней
устойчивости ( X  )=1-t.
Пример. Для нечеткого графа, показанного на рис. 10.1 и X’={x1,
x2, x3}, нечеткий подграф будет иметь вид, показанный на рис. 10.2.

Рис. 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

нечетких внутренне устойчивых k вершинных множеств со степенями


внутренней устойчивости  , ,...,
0

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

назовем нечетким множеством внутренней устойчивости нечеткого


~
графа G .
Из данного определения непосредственно вытекает неравенство
1 max
X1
 max
X2
 ...   max
Xn
 0.
Заметим, что величина  max
X1
равна 1, если в графе существует хотя
бы одна вершина без петли, а величина  max
Xn
равна 0, если в графе
существует хотя бы одно ребро со степенью 1.
Рассмотрим задачу нахождения семейства максимальных
нечетких внутренне устойчивых множеств с заданной степенью
внутренней устойчивости [0,1].
~
Для заданного нечеткого графа ~
G  ( X ,U ) и значения  построим
четкий суграф G = ( X ,U  ) следующим образом: ребро  xi , x j  U  ,
если величина  u ( xi , x j )  1   .
Для построенного суграфа G найдем семейство максимальных
внутренне устойчивых множеств T, элементы которого и будут
являться максимальными нечеткими внутренне устойчивыми
~
множествами графа G со степенью .
~
Пример. Рассмотрим нечеткий граф G , показанный на рис. 10.1.
Пусть величина  1 = 0,6. Построим суграф G0,6 , показанный на рис.
10.3.
140

Рис. 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 } .
Свойство. Пусть T1  {11 , 12 ,..., 11 } и T 2  {21 , 22 ,..., 2 2 } –
семейства максимальных внутренне устойчивых множеств со
141
степенями внутренней устойчивости  1 и  2 соответственно. Пусть
 1   2 , тогда справедливы следующие высказывания:
а) | T | | T | ;
1 2

б) (2i T 2 )[1 j T1 |2i  1 j ] .


Рассмотрим метод нахождения всех максимальных нечетких
внутренне устойчивых множеств с наибольшей степенью нечеткости.
Данный метод является обобщением метода Магу для четких графов.
Пусть  – некоторое нечеткое внутренне устойчивое множество
со степенью внутренней устойчивости  () . Для произвольных
вершин xi , x j  X может выполняться один из следующих случаев:
а) xi  ;
б) x j  ;
в) xi  и x j  .
В последнем случае степень внутренней устойчивости
 ()  1  U ( xi , x ) . Иными словами, справедливо высказывание:
j

(xi , x j  X )[ xi   x j   ( ()  1  U ( xi , x j ))]. (10.1)


С каждой вершиной xi  X свяжем булеву переменную pi ,
принимающую значение 1 при xi  и 0 при xi  . Высказыванию
 ()  1  U ( xi , x j ) поставим в соответствие нечеткую переменную

 ij  1  U ( xi , x j ) .
Рассматривая выражение (10.1) для всех возможных значений i и
j, получаем истинное нечеткое высказывание
   & &( pi  p j   ij ) . (10.2)
i j i

В последнем выражении раскроем скобки и приведем подобные


члены, используя правила нечеткого поглощения:
a  a& b  a,
a& b  a& b  a, (10.3)
142
 & a   & a& b   & a, если      .
Здесь a , b {0,1} и  ,   [0,1] .
В результате выражение (10.2) будет представлено в виде
   ( p & p & ... & p & a ) .
 i 1,l 1i 2i ki i
(10.4)

Свойство. Если в выражении (10.4) дальнейшее упрощение на


основе правил (10.3) невозможно, то для каждого i-го дизъ-
юнктивного члена совокупность всех вершин, соответствующая
переменным, которые в ней отсутствуют, дает максимальное
внутреннее устойчивое множество с вычисленной степенью
внутренней устойчивости ai .
На основании данного свойства можно предложить следующий
метод нахождения максимальных нечетких внутренне устойчивых
множеств:
~
- для рассматриваемого нечеткого графа G записать выражение
(10.2);
- упрощая выражение (10.2) используя правила нечеткого
поглощения (10.3), привести его к виду (10.4);
- по полученным дизъюнктивным членам разложения (10.4),
выписать максимальные нечеткие внутренне устойчивые
множества с вычисленными степенями внутренней ус-
тойчивости.
Пример. Найти все максимальные внутренне устойчивые
~
множества для нечеткого графа G , приведенного на рис.10.1.
Высказывание   для этого графа примет вид
   ( p1  p2  0,5)&( p2  p3  0,4)&( p3  p4  0,7)&( p4  p2  0)&( p4  p1  0,8).

Перемножая скобки первую на вторую и третью на пятую и


используя правила (10.3), получаем
  ( p  p p  0,5 p  0,4) & ( p p  p  0,8 p  0,7) & ( p  p ).
 2 1 3 3 1 3 4 3 4 2
143
Перемножая полученные скобки первую на вторую и далее на
третью, и опуская знак конъюнкции, окончательно получаем
  ( p p  0,8 p p  0,7 p  p p  0,5 p  0,4) & ( p  p ) 
 2 4 2 3 2 1 3 3 4 2

 p p p  p p p  p p  0,8 p p  0,7 p  0,5 p p  0,4 p .


1 3 4 1 2 3 2 4 2 3 2 3 4 4

Из последнего выражения следует, что рассматриваемый


нечеткий граф G~ имеет семь максимальных нечетких внутренне
устойчивых множеств: 1  {x4 }, 2  {x2 }, 3  {x1 , x3 } со степенью
внутренней устойчивости  (1 )   (2 )   (3 )  1; 4  {x1 , x4 } – со
степенью  (4 )  0,8; 5  {x1 , x3 , x4 } – со степенью  (5 )  0,7 ,
6  {x1 , x2 } – со степенью  ( 6 )  0,5 и 7  {x1 , x2 , x3 } – со степенью
 (7 )  0,4 . Таким образом, нечеткое множество внутренней
~
устойчивости имеет вид A  { 1 / 1 ,  1 / 2 ,  0,7 / 3 ,  0 / 4 }.
X

10.2. Нечеткие внешне устойчивые множества


Рассмотрим нечеткий граф G~  ( X ,U~) . Пусть X  – произвольное
подмножество множества вершин X. Для каждой вершины y  X \ X 
определим значение
 ( y)  max{ U ( y, x)} . (10.5)
x X

Определение. Множество X назовем нечетким внешне


устойчивым множеством для вершины y cо степенью внешней
устойчивости  ( y ) .
Определение. Множество X назовем нечетким внешне
~
устойчивым множеством графа G cо степенью внешней
устойчивости  ( X )  min  ( y).
yX \ X 

Учитывая выражение (10.5), получаем


 ( X )  min max{ U ( y, x)}.
y X \ X  x X 
144
Пример. Пусть задан граф G~ , показанный на рис. 10.1.
Подмножество X   {x3 } имеет степень внешней устойчивости
 ( X )  0 , а подмножество X   {x2 , x3} – степень  ( X )  0,5.
~
Примечание. В случае вырождения графа G в четкий граф G,
величина  для любого подмножества X  будет принимать значения 0
или 1. Если  ( X )  1 , то X  совпадает с одним из внешне
устойчивых множеств четкого графа G. Если величина  ( X )  0 , то
подмножество X не будет являться внешне устойчивым
множеством графа G.
Дадим теперь определение минимального нечеткого внешне
устойчивого множества.
Определение. Подмножество X X назовем минимальным
~
внешне устойчивым множеством графа G со степенью  ( X ) , если
для любого подмножества X   X выполняется условие  ( X )   ( X ) .
~
Пример. Для графа G , показанного на рис.10.1, подмножество
X   {x1 , x2 , x3 } не является минимальным внешне устойчивым
множеством со степенью 0,5, так как для подмножества X   {x2 , x3}
величина внешней устойчивости также равна 0,5.
Пусть   { X , X ,..., X }
k K1 K2 Kl
– семейство всех минимальных
нечетких внешне устойчивых k вершинных множеств со степенями
внешней устойчивости  ,  ,...,  0

X k1
0

X k2
0

X kl
соответственно. Обозначим
через  kmin  max{  X0 ,  X0 ,...,  X0 } . Если семейство    , то положим
1
k
2
k
l
k k

 Xmin   Xmin . Величина  kmin означает, что в графе существует подграф


k k 1

на k вершин со степенью внешней устойчивости  k


min
и не существует
никакого другого подграфа с k вершинами, чья степень внутренней
устойчивости была бы больше величины  . k
min
145
Определение. Множество ~
B  {  / 1 ,  
X
min
X1
min x
X2
/ 2 ,...,   / n }
min
Xn

назовем нечетким множеством внешней устойчивости нечеткого


~
графа G .
Свойство. Из данного определения непосредственно вытекает
неравенство
0 min
1
 min
2
 ...   min
n
 1.
Рассмотрим теперь задачу нахождения семейства минимальных
внешне устойчивых множеств с заданной степенью устойчивости
 [0,1] . Можно предложить следующий алгоритм решения этой
задачи:
1o . Для заданного нечеткого графа G~  ( X ,U~) и заданной степени
нечеткости  построим четкий суграф G   ( X ,U ) , в котором ребро
 x , y U  , если величина  U ( x, y)   .
2 o . Для построенного графа G   ( X ,U ) найдем все минимальные
внешне устойчивые множества (например, методом Магу для четких
графов).
Полученное на втором шаге семейство внешне устойчивых
множеств графа G является также семейством внешне устойчивых
множеств нечеткого графа G  со степенью нечеткости не менее  .
~
Пример. Для нечеткого графа G , показанного на рис. 10.1,
найдем все минимальные внешне устойчивые множества со степенью
нечеткости не менее 0,5. Согласно алгоритму, граф G  имеет вид,
показанный на рис. 10.5.
146

Рис. 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

Полагая   1 и учитывая, что для любого


ii
xi выполняется
равенство pi  j pi &  ij  j p j  ij , окончательно получаем
 T  & ( ij p j ) . (10.7)
i j

В выражении (10.7) раскроем скобки и приведем подобные


члены, используя правила нечеткого поглощения (10.3). В результате
выражение (10.7) будет представлено в виде
   ( p & p & ... & p & a ) .
T i 1,l 1i 2i ki i
(10.8)
Свойство. Если в выражении (10.8) дальнейшее упрощение на
основе правил (10.3) невозможно, то для каждого i-го
дизъюнктивного члена совокупность всех вершин, соответствующая
переменным, которые в нем присутствуют, дает минимальное внешне
устойчивое множество с вычисленной степенью внешней
устойчивости a. i

На основании данного свойства можно предложить следующий


метод нахождения минимальных нечетких внешне устойчивых
множеств:
~
- для рассматриваемого нечеткого графа G записать выражение
(10.7);
- упрощая выражение (10.7) используя правила нечеткого
поглощения (10.3), привести его к виду (10.8);
148
- по полученным дизъюнктивным членам разложения (10.8),
выписать минимальные нечеткие внешне устойчивые множества с
вычисленными степенями внешней устойчивости.
Пример. Найдем минимальные внешне устойчивые множества
для графа, приведенного на рис. 10.1. Выражение (10.7) для этого
графа примет следующий вид:
  ( p  0,5 p ) & ( p  0,6 p ) & ( p  0,3 p ) & ( p  p  0,2 p ).
T 1 2 2 3 3 4 4 2 1

Перемножая первую скобку на вторую, а третью на четвертую и,


используя правила поглощения, получаем
  ( p p  0,6 p p  0,5 p ) & ( p p  p p  0,2 p p  0,3 p ).
T 1 2 1 3 2 3 4 2 3 1 3 4

Перемножая полученные скобки, окончательно получаем


T  p1 p2 p3  0,6 p1 p3 p4  0,2 p1 p3  0,5 p2 p3  0,3 p2 p4 .
~
Из последнего равенства следует, что граф G , приведенный на
рис. 10.1, имеет 5 нечетких минимальных внешне устойчивых
множеств: P1  {x1 , x2 , x3 } со степенью внешней устойчивости 1;
P2  {x1 , x3 , x4 } – со степенью 0,6; P3  {x2 , x3 } – со степенью 0,5,
P4  {x1 , x3 } – со степенью 0,2 и P5  {x2 , x4 } – со степенью 0,3.
Нечеткое множество внешней устойчивости рассматриваемого
нечеткого графа имеет вид B~  { 0 /1 ,  0,5 / 2 ,  1/ 3 ,  1,4 }.
X

10.3. Нечеткие ядра


~ ~
Пусть задан нечеткий граф G  ( X ,U ) . Пусть N X–
произвольное подмножество вершин с нечеткой степенью
внутренней и внешней устойчивости соответственно  ( N ) и  ( N ) .
Определение. Подмножество N  X назовем нечетким ядром
~
графа G со степенью нечеткости  ( N )   ( N )&  ( N ).
~
Пример. Рассмотрим граф G , показанный на рис.10.1. Пусть
нечеткое ядро N 1  {x2 , x3 }. Тогда величина  ( N 1 )  0,4 и  ( N 1 )  0,5.
Следовательно,  ( N1 )  0,4.
149
Пусть   { X , X ,..., X } – семейство всех нечетких ядер графа,
k K1 K2 Kl

содержащих ровно k вершин со степенями  ,  ,..., 


0

X k1
0

X k2
0

X kl

соответственно. Обозначим через  max


k
 max{  ,  ,...,  }.
0

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)

Здесь   и  T – высказывания, определяемые выражениями


(10.2) и (10.7).
Используя правила поглощения (10.3), разложим выражение
(10.9). Каждый член этого разложения определяет вершины, которые
входят в некоторое ядро графа, и вершины, которые в него не входят.
Если какая-либо переменная pi и ее отрицание pi не входят в
некоторое разложение, то вершина x i может как входить, так и не
входить в определяемое нечеткое ядро графа с одинаковой степенью
нечеткости.
Пример. Найдем нечеткие ядра графа, показанного на рис. 10.1.
Учитывая выражения   и  P , полученные ранее, получаем
 N  ( p1 p3 p4  p1 p2 p3  p2 p4  0,8 p2 p3  0,7 p2  0,5 p3 p4  0,4 p4 ) &
& ( p1  0,5 p2 )&( p2  0,6 p3 )&( p3  0,3 p4 )&( p4  p2  0,2 p1 ).
Раскрывая скобки и упрощая, используя правила поглощения,
окончательно получаем
 N  0,6 p1 p2 p3 p4  0,2 p1 p2 p3 p4  0,4 p1 p2 p3 p4  0,4 p1 p2 p3 p4 .
150
~
Из полученного выражения следует, что нечеткий граф G имеет 4
нечетких ядра: N1  {x1 , x3 , x4 } со степенью 0,6; N 2  {x1 , x3 } со
степенью 0,2; N 3  {x1 , x2 , x3 } и N 4  {x2 , x3 } со степенями 0,4. А
нечеткое множество ядер примет следующий вид:
~
N  { 0 / 1 ,  0,4 / 2 ,  0,6 / 3 ,  0 / 4 } .

10.4. Нечеткие клики


Рассмотрим ориентированный или неориентированный нечеткий
~
граф G  ( X ,U~) .
Определение. Подмножество вершин X   X назовем нечетким
кликой со степенью
 ( X )  min min (μU (xi ,x j )  μU (x j ,xi )).
  xi  X x j  X
x j  xi

~
Величина  ( 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

0,2, а подмножество X   {x , x } – является максимальной нечеткой


2 1 2

кликой со степенью 0,5.


Как и ранее, рассмотрим семейство всех максимальных нечетких
клик  k  { X K , X K ,..., X K } , содержащих ровно k вершин со степенями
1 2 l

 ( X kq ), ( X k2 ),..., ( X kl ) соответственно. Обозначим через


 Xmax  max{ ( X k1 ), ( X k2 ),..., ( X kl )} . Как и в случае нечетких внутренне
k
151
устойчивых множеств, если семейство    , то положим  Xmax   Xmax .k k k 1

~ ~
Величина  Xmax означает, что в графе
k
G=(X,U) существует k-вершинный
подграф, в котором между любыми двумя вершинами существует
ребро со степенью не менее  X и не существует никакого другого
max
k

подграфа с k вершинами, чья степень была бы больше величины


 Xmax .
k

~
Определение. Множество K  {  Xmax
1
/ 1 ,   Xmax
2
/ 2 ,...,  Xmax
n
/ n }
~
назовем нечетким множеством клик нечеткого графа G .
Свойство. Из определения непосредственно вытекает
неравенство 1   Xmax   Xmax  ...   Xmax  0 .
1 2 n

Заметим, что величина  Xmax равна 0, если любой k-вершинный


1

подграф включает хотя бы одну пару вершин, например ( x , x ) , i j

между которыми нет никакого ребра, т.е.  ( x , x )   ( x , x )  0 . U i j U j i

Рассмотрим метод нахождения всех максимальных нечетких клик


~ ~
и нечеткое множество клик нечеткого графа G  ( X ,U ) . Для этого
построим дополнительный неориентированный нечеткий граф
~  ( X ,U~) , в котором
G
(x ,x  X )(μ (x ,x )  μ (x ,x )  min{ 1  μ (x ,x ),1  μ (x ,x )} ) .
i j U i j U j i U i j U j i

Свойство. Семейство максимальных нечетких клик исходного


~ ~
графа G  ( X ,U ) совпадает с семейством максимальных нечетких
~  ( X ,U~) .
внутренне устойчивых множеств дополнительного графа G
Данное свойство непосредственно вытекает из определений
максимальной нечеткой клики и максимального нечеткого внутренне
устойчивого множества.
Из данного свойства непосредственно вытекает следующее
следствие.
152
~ ~
Следствие. Нечеткое множество клик нечеткого графа G  ( X ,U )
совпадает с нечетким множеством внутренней устойчивости
~  ( X ,U~) .
дополнительного графа G
На основании указанных выше свойства и следствия можно
предложить следующий метод нахождения максимальных нечетких
клик и максимального нечеткого внутренне устойчивого множества
нечеткого графа:
~
- по заданному нечеткому графу G строим дополнительный
~;
граф G
- для графа G~ находим семейство максимальных нечетких

внутренне устойчивых множеств с соответствующей степенью


внутренней устойчивости методом, описанным в п. 4.1.1.
Полученное семейство одновременно является и семейством
~
максимальных нечетких клик исходного графа G ;
- по вычисленному семейству максимальных нечетких клик
определяем нечеткое множество клик K~ нечеткого графа.
Пример. Найти все максимальные нечеткие клики и
~
максимальное нечеткое внутренне устойчивое множество графа G ,
приведенного на рис.10.1. Дополнительный неориентированный
~  ( X ,U~) для графа G~ имеет вид, показанный на рис.
нечеткий граф G
10.6.

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

Умножая первую скобку на третью, а четвертую на пятую,


получаем
  ( p  p p  0,5 p  0,2) & ( p  p ) & ( p  p p  0,6 p  0,3).
 1 2 4 4 1 3 3 2 4 4

Перемножая полученные скобки, окончательно получаем


   p p  p p p  p p p  0,6 p p  0,3 p  0,5 p p  0,2 p .
1 3 1 2 4 2 3 4 1 4 1 3 4 3

Из последнего выражения следует, что рассматриваемый


~
нечеткий граф G имеет семь максимальных нечетких клик:   {x }, 1 3

  {x },   {x , x } со степенью 1; 4  {x2 , x3 } – со степенью 0,6;


2 1 3 2 4

  {x , x } – со степенью 0,7; 6  {x2 , x3 , x4 } – со степенью 0,3 и


5 1 2

  {x , x , x } – со степенью 0,2. Нечеткое множество клик


7 1 2 4

~ ~
нечеткого графа G имеет вид K  { 1 / 1 ,  1 / 2 ,  0,3 / 3 ,  0 / 4 }.

10.5. Нечеткие базы и антибазы нечетких графов


 
Пусть задан нечеткий ориентированный граф G = (X, U) , в
котором |X|= n .

Определение. Минимальной нечеткой базой со степенью 


назовем подмножество вершин B  X , из которого достижима
любая вершина графа со степенью достижимости не менее   и
которое является минимальным в том смысле, что не существует
подмножества B  B , обладающего таким же свойством
достижимости.
Пусть  Xk
 { X , X ,..., X } – семейство минимальных нечетких
k1 k2 kl

баз, состоящих из k вершин со степенями  , ,..., . Обозначим k1 k2 kl

через  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 .

Обозначим через RB нечеткое множество вершин, достижимых

из произвольного подмножества B  X , т.е. RB   x  ,
xiX
i где

xi  – нечеткое транзитивное замыкание вершины xi . Тогда
множество B является нечеткой базой со степенью  тогда и только
тогда, когда выполняются условия:

RB    j  xj  xj X&(j=1,nj   , (10.10)

(B  B R(B )=  j  xj  xj X&(j=1,nj   . (10.11)

Условие (10.10) означает, что любая вершина либо входит во


множество B , либо достижима из некоторой вершины этого же
множества со степенью не менее . А условие (10.11) говорит о том,
что любое подмножество B  B свойством (10.10) не обладает. Из
определения нечеткой базы вытекают следующие свойство
Свойство 1. Пусть xi  xj – степень достижимости вершины
xj из вершины xi . Тогда справедливо высказывание
xi  xj B  xi  xj   . (10.12)
Иными словами, степень достижимости любой вершины xj B
из любой другой вершины xi B меньше значения  .
Таким образом, нечеткой базой графа G со степенью  
является такое множество вершин B  X , которое удовлетворяет
следующим условиям:
155
1. Каждая вершина графа G достижима хотя бы из одной
вершины множества B и при этом степень достижимости не меньше
величины  , т.е. xj X/B xi B   xi  xj   .
2. Во множестве B нет вершины, которая достижима из другой
вершины множества B со степенью большей или равной  , т.е.
выполняется условие (10.12).
Из этих условий вытекают следующие свойства
Свойство 2. В нечеткой базе B нет двух вершин, которые входят
в один и тот же нечеткий сильно связный подграф со степенью
большей или равной  .
Пусть       L  – множество всех значений функции

принадлежности, приписанные ребрам графа G , тогда также
справедливы следующие свойства:
Свойство 3. В любом нечетком графе без циклов существует
ровно L нечетких баз со степенями       L  .
Свойство 4. В любом нечетком графе без циклов существует
единственная нечеткая база с заданной степенью  .
Свойство 5. Если в нечетком графе без циклов выполняется
неравенство     , то справедливо включение B  B . 1 2


Пример. Пусть нечеткий граф 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

0,9 0,6 0,5 0,6


1

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

не существует подмножества, состоящего из k вершин, достижимого


из всех оставшихся вершины со степенью более  Xmax . Если семейство k

   , то так же, как и для нечетких баз, определим 


Xk
max
Xk
 max
X k 1
.
~
Определение. Множество BX  {  Xmax /1 ,   Xmax / 2 ,...,   Xmax / n }
1 2 n

назовем нечетким множеством антибаз нечеткого графа G ~.

Свойство. Из приведенных определений непосредственно


вытекают неравенства.
0  max
X1
 max
X2
 ...   max
Xn
1 и 0  max
X1
 max
X2
 ...   Xn
max
 1.
Рассмотрим метод нахождения нечетких баз нечеткого графа.
Пусть B является нечеткой базой со степенью  . Тогда для
произвольной вершины xi  X должно выполняться одно из условий:
а) xi B ;
б) если xi B , то существует некоторая вершина xj B , для
которой степень достижимости  xj xi    .
158
Иными словами, справедливо высказывание
xi Xxi B  xi B  xj B   xj xi   . (10.13)

С каждой вершиной xi  X свяжем булеву переменную pi ,


принимающую значение 1 при xi  и 0 при xi  . Высказыванию
 xj xi    поставим в соответствие нечеткую переменную ji   .
Рассматривая выражение (10.13) для всех возможных значений i
и j, получаем истинное нечеткое высказывание
ΦB  &
i
(pi  (pi  ( j (p j &γ ji )))).

Учитывая взаимосвязь между операциями импликация и


дизъюнкция (        ), преобразуем данное выражение к виду:
   (pi  pi  pj&  ji  . Принимая во внимание, что величина
i j

jj  1 , окончательно получаем


ΦB  &
i
( j (p j &γ ji )) . (10.14)
В последнем выражении раскроем скобки и приведем подобные
члены, используя правила нечеткого поглощения (4.1.3). В результате
выражение (10.14) будет представлено в виде
ΦB  i
1 ,l
(p1 &p2 &...&pk &bi ) .
i i i
(10.15)
Свойство. Пусть в выражении (10.15) дальнейшее упрощение на
основе правил (10.3) невозможно. Тогда для каждого i-го
дизъюнктивного члена совокупность всех вершин, соответствующая
переменным, которые в нем присутствуют, дает нечеткую базу с
вычисленной степенью bi .
Пример. Рассмотрим пример нахождения нечетких баз для графа

G , показанного на рис. 10.8.
159

0,3

0,1

0,9

Рис. 10.8
Матрица достижимости    ij nn для этого графа будет иметь
вид
 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 

Выражение (10.14) запишется следующим образом:


 B  (p1  p 2 0,7  p3 0,6  p 4 0,6) & (p1 0,8  p 2  p3 0,6  p 4 0,6) &
& (p1 0,6  p 2 0,6  p3  p 4 0,6) & (p1 0,6  p 2 0,6  p3  p 4 ).
Перемножая первую скобку на вторую, а третью на четвертую,
получаем
 B  [(p1 0,8  p1 p 2  p1 p 3 0,6  p1 p 4 0,6) (p1 p 2 0,7  p 2 0,7  p 2 p 3 0,6  p 2 p 4 0,6)
 (p1 p 3 0,6  p 2 p 3 0,6  p 3 0,6  p 3 p 4 0,6) (p1 p 4 0,6  p 2 p 4 0,6  p 3 p 4 0,6  p 4 0,6)]&
& [(p1 0,6  p1 p 2 0,6  p1 p 3 0,6  p1 p 4 0,6) (p1 p 2 0,6  p 2 0,6  p 2 p 3 0,6  p 2 p 4 0,6)
 (p1 p 3 0,6  p 2 p 3 0,6  p 3  p 3 p 4 )  (p1 p 4 0,6  p 2 p 4 0,6  p 3 p 4 0,6  p 4 0,6)]=
= [p1 0,8  p1 p 2  p 2 0,7  p 3 0,6  p 4 0,6]& [p1 0,6  p 2 0,6  p 3  p 4 0,6] =
= (p1 0,6  p1 p 2 0,6  p1 p 3 0,8  p1 p 4 0,6) (p1 p 2 0,6  p1 p 2 0,6  p1 p 2 p 3  p1 p 2 p 4 0,6)
 (p1 p 2 0,6  p 2 0,6  p 2 p 3 0,7  p 2 p 4 0,6) (p1 p 3 0,6  p 2 p 3 0,6  p 3 0,6  p 3 p 4 0,6)
 (p1 p 4 0,6  p 2 p 4 0,6  p 3 p 4 0,6  p 4 0,6) =
= p1 0,6  p1 p 3 0,8  p1 p 2 p 3  p 2 0,6  p 2 p 3 0,7  p 3 0,6  p 4 0,6.
Откуда получаем, что рассматриваемый нечеткий граф имеет
следующие нечеткие базы: B  {x1 x2 x3}, B  {x1 x3},
160
B0,7  {x2 x3}, B  {x1}, B  {x2}, B
   {x3} и B    {x4}, а
IV

нечеткое множество баз имеет вид


~
B  { 0,6 /1 ,  0,8 / 2 ,  1/ 3 ,  1/ 4 }.
X

Рассмотренный метод можно использовать и для нахождения


нечетких антибаз. Рассуждая аналогичным образом, что и при
нахождении нечетких баз, мы приходим к истинности следующего
высказывания, аналогичного выражению (10.15):
-1   (  pj&  ij  . (10.17)
i=1,n j=1,n

Пример. Найдем нечеткие антибазы для графа G , показанного на
рис. 10.8. Выражение (10.17) для этого графа будет иметь вид
 1 B  (p1  p 2 0,8  p 3 0,6  p 4 0,6)& (p1 0,7  p 2  p 3 0,6  p 4 0,6)&
& (p1 0,6  p 2 0,6  p 3  p 4 ) & (p1 0,6  p 2 0,6  p 3 0,6  p 4 0,6).
Перемножая первую скобку на вторую а третью на четвертую,
получаем
 1 B  [(p1 0,7  p1 p 2  p1 p 3 0,6  p1 p 4 0,6)  (p1 p 2 0,7  p 2 0,8  p 2 p 3 0,6  p 2 p 4 0,6) 
 (p1 p 3 0,6  p 2 p 3 0,6  p 3 0,6  p 3 p 4 0,6)  (p1 p 4 0,6  p 2 p 4 0,6  p 3 p 4 0,6  p 4 0,6)]&
& [(p1 0,6  p1 p 2 0,6  p1 p 3 0,6  p1 p 4 0,6)  (p1 p 2 0,6  p 2 0,6  p 2 p 3 0,6  p 2 p 4 0,6) 
 (p1 p 3 0,6  p 2 p 3 0,6  0,6p3  p 3 p 4 )  (p1 p 4 0,6  p 2 p 4 0,6  p 3 p 4 0,6  p 4 )] =
= [p1 0,7  p1 p 2  p 2 0,8  p 3 0,6  p 4 0,6]& [p1 0,6  p 2 0,6  p 3  p 3 p 4 0,6  p 4 ] =
= (p1 0,6  p1 p 2 0,6  p1 p 3 0,6  p1 p 4 0,7)  (p1 p 2 0,6  p1 p 2 0,6  0,6p1 p 2 p 3  p1 p 2 p 4 ) 
 (p1 p 2 0,6  p 2 0,6  p 2 p 3 0,6  p 2 p 4 0,8)  (p1 p 3 0,6  p 2 p 3 0,6  p 3 0,6  p 3 p 4 0,6) 
 (p1 p 4 0,6  p 2 p 4 0,6  p 3 p 4 0,6  p 4 0,6)]=
= p1 0,6  p1 p 4 0,7  p1 p 2 p 4  p 2 0,6  p 2 p 4 0,8  p 3 0,6  p 4 0,6.
Откуда получаем, что нечеткий граф, приведенный на рис.10.8,
имеет антибазы B  {x1 x2 x4}, B  {x2 x4}, B0,7  {x1 x4},
'
B0,6  {x1}, B0,6
''
 {x2}, B0,6
'''
 {x3} и B0,6
IV
 {x4}, а нечеткое
множество антибаз нечеткого графа имеет вид
~
BX  { 0,6 /1 ,  0,8 / 2 ,  1/ 3 ,  1/ 4 }.
161
10.6. Нечеткая окраска нечетких графов
Пусть задан нечеткий (ориентированный или
  ~
неориентированный) граф G = (X, U) , где U = {<  G ( x, y) / ( x, y) },
x, y  X ,  G ( x, y) [0,1], |X|= n . Окрасим каждую вершину x X в
~ ~
один из k цветов (1  k  n) и рассмотрим подграф G i = (Xi ,Ui ) . Здесь
Xi – подмножество вершин, окрашенных в одинаковый i-й цвет.
Тогда величина  i = 1- x,yX  G ( x, y) определит степень внутренней
i

~ ~
устойчивости нечеткого подграфа G i = (Xi ,Ui ) .

Определение. Величину L  i &1,k  i = i &1,k (1- x,yX  G ( x, y)) назовем


i

~
степенью разделимости нечеткого графа 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))] .

Иными словами, если при «оптимальной» окраске нечеткого


~
графа G в i и j цветов степень разделимости одинаковая, то и при
«оптимальной» окраске графа в любое другое количество цветов,
лежащее между значениями i и j, степень разделимости не изменится.
Свойство 5. Справедливо выражение
( L ~ (i)  1& i  n)  (k i  1, n)( L ~ ( k)  1).

Иными словами, если для некоторого числа красок i (i  n)


существует окраска графа со степенью разделимости равной 1, то и
для любого другого числа красок, большего i, также существует
окраска со степенью разделимости, равной 1.
Свойство 6. Справедливо выражение
( L ~ (i)  0& i  1)  (k 1, i  1)( L ~ ( k)  0).
163
Иными словами, если для некоторого числа красок i (i  1) не
существует окраски графа со степенью разделимости отличной от 0,
то и для любого другого числа красок, меньшего i, также не
существует окраски со степенью разделимости отличной от 0.
~
Если для нечеткого графа G известно нечеткое хроматическое
~
множество  (G ) ,
~ то тем самым автоматически решаются
сформулированные выше задачи. Поэтому рассмотрим задачу
нахождения нечеткого хроматического множества. Справедлива
следующая теорема.
~
Теорема. Для того чтобы нечеткий граф G имел нечеткое
хроматическое множество ~  { L~ (k ) / k | k  1, n } , необходимо и
~
достаточно, чтобы для любого значения k  1, n в графе G
существовало не более k максимальных нечетких внутренне
устойчивых множеств 1 , 2 , ..., k  со степенями внутренней
устойчивости соответственно  1 ,  2 , ...,  k  , (k   k) , и при этом
1) min{  1 ,  2 , ...,  k  } = L ~ ( k) ;

2)  j  X ;
j1, k 

3) не существует другого семейства { 1, 2 , ..., k }, k   k , для


которого выполнялось бы условие 2 и при этом величина
min{1 ,  2 ,...,  k }  min{1 ,  2 ,...,  k } .
Данная теорема позволяет сформулировать следующий алгоритм
нахождения нечеткого хроматического множества нечеткого графа.
~
10 . Для нечеткого графа G определяем семейство всех
максимальных нечетких внутренне устойчивых множеств { 1 , 2 , ...,

r } со степенями внутренней устойчивости  1 ,  2 , ...,  r .

20 . Из множества { 1 , 2 , ..., r } определяем такую выборку k


внутренне устойчивых множеств { 1, 2 , ..., k }, для которой
выполнялось бы условие 2 из сформулированной выше теоремы, а
164
величина min{1 ,  2 ,...,  k } принимала максимально возможное
значение. При этом L~ (k)  min{1 ,  2 ,...,  k } .
30 . Шаг 2 0 повторяем для всех значений k  1, n  1 , учитывая
рассмотренные выше свойства нечеткого хроматического множества.
Пример. Рассмотрим пример определения нечеткого
хроматического множества для графа, представленного на рис.10.9.
Определяем все максимальные нечеткие внутренне устойчивые
множества.
Высказывание   для этого графа примет вид
   ( p A  p B  0,1) & ( p B  pC  0,3) & ( p B  p F ) & ( pC  p D  0,4) &
& ( pC  p F  0,6) & ( p D  p B  0,6) & ( p D  p E  0,4) & ( p E  p A )  1.
Умножая первую на вторую, третью на восьмую, четвертую на
пятую, а шестую на восьмую скобки, используя правила (4.1.3),
получаем
   ( p B  p A & pC  0,3 & p A  0,1) & ( pC  p D & p F  0,6 & p D  0,4) &
& ( p D  p B & p E  0,6 & p E  0,4) & ( p B & p E  p B & p A  p F & p E  p F & p A )  1.

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

 0,6 p p p  0,6 p p p  0,6 p p p p  0,4 p p  0,4 p p 


A B D B D E A C F E B E A B

 0,4 p p p  0,3 p p  0,1 p p  1.


A C F A F E F

~
Таким образом, нечеткий граф G имеет 13 максимальных
нечетких внутренне устойчивых множеств: 1  {E, F} , 2  {A, D, F} ,

3  {C, E} , 4  {A, C} , 5  {B, E} со степенями 1   2   3   4   5  1;


6  {С, E, F} , 7  {A, C, F} , 8  {B, D} со степенями  6   7  8  0,6 ;
9  {A, C, D, F} , 10  {C, D, E, F} , 11  {B, D, E} со степенями
9  10  11  0,4 ; 12  {B, C, D, E} со степенью 12  0,3 и 13  {A, B, C, D}
со степенью  6  0,1 .

Вхождение вершин в нечеткие внутренне устойчивые множества


представим в виде матрицы R , строки которой соответствуют
вершинам нечеткого графа, а столбцы – максимальным нечетким
внутренне устойчивым множествам. На пересечении строки и
столбца стоит степень внутренней устойчивости, если вершина
входит в соответствующее множество, 0 – в противном случае.
Задача определения нечеткого хроматического множества ~

заключается в нахождении покрытия всех строк k столбцами


( k  1, n  1 ) с наибольшей из величин min{  i 1
,  i2 , ...,  i k }.
166
1 2 3 4 5 6 7 8 9 10 11 12 13

A 0 1 0 1 0 0 0,6 0 0,4 0 0 0 0,1


B 0 0 0 0 1 0 0 0,6 0 0 0,4 0,3 0,1
C 0 0 1 1 0 0,6 0,6 0 0,4 0,4 0 0,3 0,1
D 0 1 0 0 0 0 0 0,6 0,4 0,4 0,4 0,3 0,1
E 1 0 1 0 1 0,6 0 0 0 0,4 0,4 0,3 0
F 1 1 0 0 0 0,6 0,6 0 0,4 0,4 0 0,3 0

Для нахождения таких покрытий по полученной матрицы R

запишем нечеткое высказывание


  &(r &   r &   ...  r &  ) ,
l1, n l1 1 l2 2 lt t
(10.18)
где t – число столбцов матрицы R .
Упрощая полученное выражение, используя правила (10.3),
получаем
   (1i & 2i & ... & ki & ri ) . (10.19)
i 1, m

Здесь ri [0,1] , ji [1 , 2 ,...,l ] , l 1, n .


Свойство. Пусть в выражении (10.19) дальнейшее упрощение на
основе правил (10.3) невозможно. Построим нечеткое множество
~  { ak / k | k  1, n} следующим образом:
- определим подмножество k  {1i & 2i & ... & ki & ri } , k 1, n ,
включающее в себя дизъюнктивные члены длины k правой части
выражения (4.7.2);
- если 1   , то положим a1  0 ;
- если  k   , то положим ak  max{ri } ;
- если  k   , то положим ak  ak 1 .
Построенное нечеткое множество ~ определяет нечеткое
~
хроматическое множество графа G .
167
~
Для нечеткого графа G, приведенного на рис.10.9, выражение 
запишется в виде
  (2  4  0,67  0,4 & 9  0,1& 13 ) & (5  0,6 & 8  0,4 & 11 
 0,3& 12  0,1& 13 ) & (3  4  0,66  0,67  0,4 & 9  0,410  0,312 
0,1& 13 ) & (2  0,68  0,4 & 9  0,410  0,411  0,312  0,1& 13 ) &
& (1  3  5  0,66  0,410  0,411  0,312 ) & (1  2  0,66  0,67 
 0,49  0,410  0,312 ).

Упрощая полученное выражение, используя правила (10.3),


окончательно получаем
  0,4 & 5 & 9  0,4 & 9 & 11  2 & 3 & 5  2 & 4 & 5  2 & 5 & 13  .....

Из последнего выражения следует, что для рассматриваемого


графа покрытиями являются:
- при k=2 – столбцы, соответствующие, например, множествам
5 и 9 со степенью L(2)=1&0,4 = 0,4;
- при k=3 – столбцы, соответствующие, например, множествам
2 , 3 и 5 со степенью L(1)=1&1&1 = 1.
Таким образом, для нечеткого графа, приведенного на рис.10.9,
нечеткое хроматическое множество имеет вид
~
~(G)  { 0 /1 ,  0,4 / 2 ,  1/ 3 ,  1,4 ,  1,5 ,  1,6 } .
Иными словами, вершины нечеткого графа можно раскрасить
двумя цветами – со степенью 0,4 (вершины B и E – 1 цветом, а
вершины A, C, D и F – 2 цветом) и тремя цветами со степенью
разделимости 1 (вершины A, D, F – 1 цветом, вершина C, E – 2 цветом
и вершина B – 3 цветом).

10.7. Упражнения и задачи


1. Для нечетких графов, приведенных на рис.10.1 и рис.10.10,
определить степени внутренней устойчивости следующих
подмножеств вершин: x  x   , x  x   x   , x  x   и x  x   x   .
168
2. Для нечетких графов, приведенных на рис.10.1 и рис.10.10
определить степени внешней устойчивости следующих подмножеств
вершин: x   x   , x   x   x   , x  x   и x  x   x  x   .

0,5 X

0,2 0,4

0,8
4
Рис. 10.10

3. Для нечетких графов, приведенных на рис.10.1 и рис.10.10,


определить, являются ли ядрами следующие подмножества вершин, и
если да, то с какой степенью: x  x   , x   x   , x   x   x   и x ,x   x   x   .
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

1. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ ГРАФА ………………….….4


1.1. Определение и способы задания графа ……………………….4
1.2. Части графа …………………………………………………….11
1.3. Задание графа с помощью матриц ………………………….. 15
1.4. Упражнения и задачи …………………………….………….. 19
Контрольные вопросы ……………………………………………. 21

2. ДОСТИЖИМОСТЬ И СВЯЗНОСТЬ ………………………22


2.1. Маршрут и цикл ………………………………………………22
2.2. Понятие шарнира и моста ……………………………………25
2.3. Метрика графа ……………………………………………….. 27
2.4. Эйлеровы циклы ……………………………………………… 28
2.5. Гамильтоновы циклы ……………………………………….... 31
2.6. Упражнения и задачи …………………………….………….. 33
Контрольные вопросы ……………………………………………. 37

3. СИЛЬНО СВЯЗНЫЙ ГРАФ …………………………………38


3.1. Понятие транзитивного замыкания .........................................38
3.2. Разложение на максимальные сильно связные подграфы .…40
3.3. Упражнения и задачи …………………………….………….. 42
Контрольные вопросы ……………………………………………. 42

4. ОСНОВНЫЕ ЧИСЛА ТЕОРИИ ГРАФОВ .…………….......43


4.1. Цикломатическое число и ранг графа ………………………..43
4.2. Внутренне устойчивое множество ……………………………46
4.3. Внешне устойчивое множество …………………………..…..52
4.4. Ядра графа ………………………………………………..……55
4.5. Базы и антибазы ………………………………………………..56
4.6. Упражнения и задачи …………………………….………….. 61
171
Контрольные вопросы ……………………………………………. 63

5. ДЕРЕВЬЯ. ДВУДОЛЬНЫЕ ГРАФЫ .………………………64


5.1. Понятие дерева. Свойства деревьев …………………………64
5.2. Двудольный граф. Его свойства ………………….………… 66
5.3. Упражнения и задачи …………………………….………….. 72
Контрольные вопросы ……………………………………………. 73

6. ПЛОСКИЙ ГРАФ. ОПЕРАЦИИ НАД ГРАФАМИ ……… 74


6.1. Плоский граф. Его свойства ……………………….………… 74
6.2. Окраска плоского графа ……………………………………… 80
6.3. Теоретико-множественные операции над графами ………... 81
6.4. Произведение и сложение графов ……………………………85
6.5. Упражнения и задачи …………………………….………….. 89
Контрольные вопросы ……………………………………………. 91

7. ТРАНСПОРТНЫЕ СЕТИ …………………………………… 91


7.1. Понятие транспортной сети. Поток транспортной сети …... 91
7.2. Теорема Форда–Фалкерсона …………………………………. 95
7.3. Задача о потоке минимальной стоимости ……………………98
7.4. Упражнения и задачи …………………………….……….…..102
Контрольные вопросы ……………………………………………. 107

8. РАЗМЕЩЕНИЕ ЦЕНТРОВ …………………….…………….108


8.1. Задачи размещения ……..…………………………………… 108
8.2. Центр и радиус ……………………………………………….. 110
8.3. Абсолютный центр…………………….……………………… 112
8.4. Упражнения и задачи …………………………….……….….. 123
Контрольные вопросы ……………………………………………. 124

9. НЕЧЕТКИЕ ГРАФЫ ………………………………………… 125


9.1. Определение и способы задания нечетких графов ………….125
9.2. Численные характеристики вершин нечетких графов …..… 129
172
9.3. Части нечеткого графа ……………………………………….. 131
9.4. Нечеткие включение и равенство нечетких графов………… 134
9.5. Упражнения и задачи …………………………….……….….. 136
Контрольные вопросы ……………………………………………. 136

10. НЕЧЕТКИЕ ИНВАРИАНТЫ НЕЧЕТКИХ ГРАФОВ ….. 137


10.1. Нечеткие внутренне устойчивые множества…………….… 137
10.2. Нечеткие внешне устойчивые множества …………………..143
10.3. Нечеткие ядра ………..……………………………………… 148
10.4. Нечеткие клики ……………………………………………….150
10.5. Нечеткие базы и антибазы нечетких графов ……………….153
10.6. Нечеткая окраска нечетких графов ………………………… 161
10.7. Упражнения и задачи ………..………………….……….….. 167
Контрольные вопросы ……………………………………………. 168

БИБЛИОГРАФИЧЕСКИЙ СПИСОК …..………………….... 169


173
Учебное издание

Берштейн Леонид Самойлович


Боженюк Александр Витальевич

Теория графов
Учебное пособие

Редакторы: Чиканенко Л.В., Селезнева Н.И., Надточий З.И.


Корректоры Чиканенко Л.В., Селезнева Н.И.

Подписано в печать
Заказ № Тираж 50 экз.
Формат 60х84 1/16. Усл.печ.л. – 10,9. Уч.-изд. л. – 10,7.

Издательство Южного федерального университета


344091, г. Ростов-на-Дону, пр. Стачки, 200/1
Тел. (863)2478051
Отпечатано в Секторе обеспечения полиграфической
продукцией кампуса в г. Таганроге отдела
полиграфической, корпоративной и сувенирной
продукции ИПК КИБИ МЕДИА ЦЕНТРА ЮФУ.
ГСП 17А, Таганрог, 28, Энгельса, 1. Тел. (8634)371717, 371655

Вам также может понравиться