Файл: Дискретная математика.pdf

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

2.8 Метрика графа

31

Пусть L

(q) = (X,Uq) — обыкновенный граф с весовой функцией q, относящей

каждому ребру u

∈ действительное число q

(u) в качестве длины. Если 

маршрут на графе L, то сумма q

(u) по всем рёбрам маршрута называется его

q-длиной, а просто «длина» понимается как количество рёбер маршрута (каждое
ребро графа нужно считать столько раз, сколько оно встречается в маршруте).

Число

ρ

(x,y) = min{q(M)/M(M(x,y))},

(2.1)

где M

(x,y) — множество всех простых цепей из в называется расстоянием меж-

ду вершинами xy

∈ взвешенного графа L

(q); если y, то — цепь нулевой

длины и её длина q

(M) = 0; если вершины и отделены в графе, то ρ(x,y) = +∞.

Термин «расстояние» оправдан тем, что функция

ρ, определённая посредством

выражения (2.1), удовлетворяет трём аксиомам метрики (аксиомы Фрише):

x∈ X

[ρ(x,y) = 0 ⇒ y] (аксиома тождества),

(2.2)

x∈ X

[ρ(x,y) = ρ(y,x)] (аксиома симметрии),

(2.3)

x∈ X

[ρ(x,y) + ρ(y,z) = (x,z)] (аксиома треугольника),

(2.4)

т. е.

ρ является метрикой на множестве вершин .

В частном случае, когда все q

(u) = 1 и, значит, — длина всякой цепи совпа-

дает с её обычной длиной, метрика

ρ

= ρ

L

1

графа L

[1] называется естественной

метрикой обыкновенного графа L

= (U).

Вершина x

0

∈ графа = [q] называется центральной, если

∈ [max ρ(xy) ⩾ max ρ(x

0

y

)],

x

∈ ∈ X.

Вершина x

0

∈ графа = [q] называется периферийной, если

∈ [max ρ(xy) ⩽ max ρ(x

0

y

)],

x

∈ ∈ X.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Величина

r

(G) = min max ρ(xy),

x

∈ ∈ X

носит название радиуса графа.

Величина

d

(G) = max ρ(xy),

xy

∈ X

называется диаметром графа L

(U).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

У несвязного графа для любой пары вершин xy

∈ , max ρ(xy) =

= +∞, поэтому каждая его вершина является одновременно
и центральной, и периферийной, а радиус и диаметр бесконечны.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


background image

32

Глава 2. Теория графов

. . . . . . . . . . . . . . . . . . . . . .

Пример 2.11

. . . . . . . . . . . . . . . . . . . . .

Дан граф L

= (U) (рис. 2.19) с естественной метрикой ρ.

Рис. 2.19 – Граф L

(U), где = {x

1

x

2

. . .x

13

}

У данного графа вершины x

4

и x

10

— центральные, вершины x

1

x

7

x

8

x

13

— пе-

риферийные, радиус r

(L) = 4, диаметр d(L) = 7.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Для нахождения метрики

ρ

= ρ

L

1

графа L

= (U) достаточно знать его матри-

цу смежности над булевой алгеброй B

= (0, 1), где элемент матрицы r

i j

= 1, если

вершины x

i

и x

j

— смежны, и r

i j

= 0, в противном случае.

Все дальнейшие действия над элементами матрицы выполняются по прави-

лам алгебры логики Буля:

1

+ 1 = 1; 0 + 0 = 0; 1 + 0 = 1; 0 ⋅ 0 = 0; 1 ⋅ 0 = 0.

Сопоставляя уже известные нам способы для установления существования

в графе маршрутов длины l, можно утверждать, что при возведении в степень
матрицы S

E, где — единичная матрица той же размерности, что и размер-

ность матрицы R, на некотором шаге возведения в степень получим: S

k

S

k

+1

, т. е.

устойчивую матрицу в степени «k».

Значения степеней матрицы S

k

k

= {1, 2, 3, . . .t} равны длинам простых крат-

чайших цепей, связывающих вершины x

i

и x

j

.

Таким образом, последовательно возводя в степень k

= {1, 2, 3, . . .t} матрицу S,

до получения устойчивой матрицы S

k

можно определить расстояния между всеми

вершинами графа L

= (U), построив матрицу метрики графа L.

Алгоритм построения матрицы метрики графа

Введём обозначения, которые будут использоваться в алгоритме построения

матрицы метрики (матрицы отклонений):


background image

2.9 Структурный анализ графов

33

• L

= (U) — граф;

• — матрица смежности заданного графа L;
• — единичная матрица;
• — матрица метрики;
• матрица смежности графа c элементами логического типа:

r

i,j

=

⎧⎪⎪

⎨⎪⎪

1,

если вершины x

i

x

j

— смежны;

0,

в противном случае;

• — матрица S

E.

Значения элементов m

i,j

матрицы определяются за несколько итераций по

результатам последовательного возведения матрицы S

=

(R) в степень k, где

k

=

{1,2,3,...,t} до получения устойчивой матрицы S

k

. Матрица S

k

называется

устойчивой, если S

k

S

k

+1

.

Шаг 1. Задаём матрицу метрики M

=

(m

i,j

)

n

×n

. Размерность матрицы равна

размерности матрицы R. Все элементы m

i,j

матрицы не определены.

Шаг 2. Начальное значение степени матрицы равно «1»: k

= 1. ∀m

i i

при-

сваиваем значение «0», на основании 1-ой аксиомы Фрише.

Шаг 3. Всем элементам m

i,j

, значения которых не определены, присвоить зна-

чение степени k, если соответствующие им элементы матрицы S

k

≠ 0. (Значения

элементов m

i,j

определяются только один раз.)

Шаг 4. Повышаем степень матрицы Sk

+ 1.

Шаг 5. Проверяем, является ли матрица S

k

−1

устойчивой.

Если матрица S

k

−1

— неустойчивая, то переходим к шагу 3.

Иначе — переходим к шагу 6.
Шаг 6. Всем элементам m

i,j

матрицы M, значения которых остались неопреде-

ленными, присваиваем значение ∞ (бесконечность).

Шаг 7. Матрица метрики M

=

(m

i,j

) построена. Конец алгоритма.

Примечание: Элементам

{m

i,j

} значения присваиваются только один раз. Сле-

довательно, если значение элемента m

i,j

уже определено, то оно больше не меняется.

Радиус графа определяется по матрице метрики следующим способом: в каж-

дой строке матрицы выделяется значение максимального элемента.

Наименьшее из выделенных значений — есть величина радиуса графа.
Диаметр графа также определяется по матрице метрики следующим спосо-

бом: в каждой строке матрицы выделяется значение максимального элемента.
Наибольшее из выделенных значений — есть величина диаметра графа.

2.9 Структурный анализ графов

Задача структурного анализа графов является одной из центральных задач тео-

рии графов и имеет широкое применение при решении фундаментальных теорети-
ческих проблем в программировании и прикладных задачах при анализе объектов
математических моделей.

Данная задача связана с базовыми понятиями: связность графа, компонента

связности графа, число компонент связности, полный граф, максимальные полные


background image

34

Глава 2. Теория графов

подграфы (клика) и максимальные пустые подграфы, скелет графа. Рассмотрим
эти понятия.

Связность графа

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Говорят, что две вершины в графе G

=

(X,Uсвязаны, если суще-

ствует (простая) цепь, соединяющая их. Отношение связности вер-
шин является эквивалентностью. Классы эквивалентности по от-
ношению связности называются компонентами связности. Чис-
ло компонент связности графа будем обозначать k

(G). Граф

является связным тогда и только тогда, когда k

(G) = 1. Если

k

(G) > 1, то — несвязный граф. Обозначим число вершин и чис-

ло рёбер графа соответственно через

ρ

(G) и q(G). Граф, состо-

ящий только из изолированных вершин (в котором k

(G) = ρ(G)

и q

(G) = 0), называется вполне несвязным.

Скелет G

графа получается путём отбрасывания в графе G

всех петель и заменой кратных рёбер одним эквивалентным, а так-
же дезориентацией имеющихся дуг.

Говорят, что в графе вершина покрывает инцидентные ей рёб-
ра
, а ребро покрывает инцидентные ему вершины.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Множество вершин графа G, покрывающее все рёбра, называется вершинным

покрытием. Наименьшее число вершин во всех вершинных покрытиях называется
числом вершинного покрытия и обозначается

α

0

(G).

Множество таких рёбер, которые покрывают все вершины, называется рёбер-

ным покрытием. Наименьшее число рёбер во всех рёберных покрытиях называет-
ся числом рёберного покрытия и обозначается

α

1

(G).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Подграф L

называется максимальным пустым подграфом гра-

фа L

=

(X,U), если L

не является собственным подграфом ни-

какого большего максимального пустого подграфа данного графа L.

Подграф L

′′

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

L

=

(X,U), если L

′′

не является подграфом никакого большего

максимального полного подграфа графа L.

Подмножество X

k

⊆ вершин неорграфа =

(X,U) называется

кликой, если G

k

=

(X

k

,

Γ

k

) полный подграф (без петель) некоторого

неорграфа G

=

(X,Γ), соответствующего графу = (X,U).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Клика X

max

называется максимальной, если соответствующий ей подграф G

max

строго не содержится ни в каком другом полном подграфе графа G.


background image

2.9 Структурный анализ графов

35

Алгоритм нахождения всех максимальных пустых и всех
максимальных полных подграфов (максимальных клик)
в графе общего вида

Задача выявления всех максимальных полных и максимальных пустых подгра-

фов в заданном графе L

=

(X,UP) общего вида легко сводится к случаю обыкно-

венных графов.

Поэтому для практического выявления всех максимальных полных и макси-

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

Рассмотрим алгоритм выявления всех максимальных пустых подграфов в неор-

графе общего вида, основанный на работах Х. Магу и Дж. Вэйсмана.

Шаг 1. Для графа L

=

(X,UP) общего вида построить его скелет.

Шаг 2. Построить матрицу инциденций графа L

=

(X,U) с элементами a

ij

, где

i

= 1, n= 1, m=

X∣ — число вершин и = ∣U∣ — число рёбер в графе = (X,U).

Шаг 3. Ввести систему логических переменных x

1

x

2

. . .x

i

. . .x

n

, подчинив её

условиям, вытекающим из законов булевой алгебры:

x

2
i

x

i

,

x

i

+

1

= 1,

а также законам коммутативности, ассоциативности и дистрибутивности.

Шаг 4. Матрицу инциденций преобразовать в матрицу A

x

и составить про-

изведение

Π

L

:

A

x

=

⎜⎜

a

11

x

1

a

12

x

1

. . . a

1m

x

1

a

21

x

2

a

22

x

2

. . . a

2m

x

2

. . .

. . .

. . .

. . .

a

n1

x

n

a

n2

x

n

. . . a

nm

x

n

⎟⎟

,

Π

L

= Π

L

(x

1

x

2

. . .x

n

) =

m

j

=1

n

i

=1

a

ij

x

i

,

где j-й сомножитель произведения

Π

L

есть сумма двух слагаемых, соответствую-

щих тем двум вершинам, которые в графе соединены j-м ребром.

Шаг 5. Преобразовать выражение произведения

Π

L

к бесскобочному виду и при-

вести его к минимальной форме, применяя законы дистрибутивности, ассоциатив-
ности, коммутативности и закон поглощения:

а) ⋅ b

a; б)

(b)(c)...(p) = ⋅ c...p,

где abc. . .— логические переменные, принимающие значения 0; 1, выполняя
при этом условия, описанные в шаге 3. В результате выполненных преобразова-
ний выражение

Π

L

будет иметь минимальную форму и представлять выражение

суммы произведений переменных из множества x

1

x

2

. . .x

i

. . .x

n

, т. е. многочлен.

Обозначим его

Σ

L

.

Шаг 6. Для каждого слагаемого многочлена

Σ

L

выделить переменные, кото-

рые в него не входят, но входят в множество

{x

1

x

2

. . .x

i

. . .x

n

}. Эти переменные

порождают максимальные пустые подграфы данного графа L, так как соответству-
ющие им вершины в графе образуют максимальные пустые подграфы.