Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diskretnaya_matematika.pdf
Скачиваний:
1253
Добавлен:
12.03.2015
Размер:
2.47 Mб
Скачать

 

 

 

 

 

 

 

 

134

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0 1 0

 

 

 

0

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поэтому

вычисляем

матрицу A 3

=

0 2 0 1

 

×

 

1

0

1

0

=

1 0 2 0

 

 

0

1

0

1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

 

 

 

 

 

 

 

 

 

 

 

0 1 0 1

 

 

 

0

 

0

2

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

0

3

0

 

Для

полученной

матрицы (1,4)й

элемент

равен 1,

 

0

3

0

2

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

2

0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

следовательно, расстояние между 1-й и 4-й вершинами графа G2 равно трём (минимальной степени матрицы А2 при котором (1,4)-й её элемент отличен от

нуля) и имеется ровно одна цепь длины 3, ибо (1,4)-й элемент матрицы A

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

равен единице.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим граф G3, диаграмма которого представлена на рис. 5.13, в).

Матрица смежности А3 графа G3 равна:

 

 

 

 

 

 

 

 

 

 

 

 

 

0 1 0 1

 

 

 

2 0 2 0

 

 

 

0 4

0

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0 1 0

. Тогда: А

2

0 2 0 2

,

3

4 0

4

0

 

А =

0

1

0

1

 

 

=

2

0

2

0

 

А

=

0

4

0

4

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

0

 

 

1 0 1 0

 

 

 

0 2 0 2

 

 

 

4 0

 

 

По матрице А2 можно определить, что из вершины v1 до вершины v3 имеется две цепи длины 2: v1 - v2 - v3 и v1 - v4 - v3. По матрице А3 можно определить, что из вершины v1 до вершины v2 имеется четыре цепи длины 3: v1 – v4 - v3

v2, v1 – v2 - v3 – v2, v1 – v2 – v1 – v2 и v1 – v4 – v1 – v2.

Матрица смежности остовного подграфа G* графа G, очевидно, равна: А(G*)=J - А(G), где J - матрица смежности полного графа, состоящая полностью из единиц, за исключением элементов диагонали.

Логика стала математической, математика логической. Вследствие

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

Б. Рассел

§ 7. Матрицы смежности и достижимости

Матрицу смежности графа (орграфа) с n вершинами вводят и как логическую n× n матрицу L = (lij), такую, что:

для графа:

 

135

 

 

И,

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

и vj

соединены ребром,

lij =

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

и vj

не соединены

Л ,

для орграфа:

 

 

 

 

И,

если из вершины vi

идет дуга в вершину vj,

lij =

если из вершины vi

нет дуги в вершину vj.

Л,

Например, для графа, изображенного на рис. 5.13, в), и для орграфа, представленного на рис. 5.12, матрицы смежностей имеют соответственно вид:

 

 

Л И И Л

 

 

 

 

Л И И И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И Л Л И

 

и

 

 

Л Л И Л

 

 

L1 =

И Л

Л

И

 

 

L2 =

 

Л

Л

Л

Л

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Л И И Л

 

 

 

 

Л Л И Л

 

 

При перемножении таких матриц смежностей умножение элементов

матрицы понимается как конъюнкция, а сложение – как дизъюнкция.

 

 

По введенной матрице смежности или её степеням, как и в предыдущем

v1

 

 

 

v2

 

 

параграфе,

можно

 

 

определять

наличие или

 

 

 

 

 

отсутствие цепей (путей) заданной длины.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Например, по матрице Lk

= L L … L (здесь

 

 

 

 

 

 

 

содержится k множителей L) можно определить

 

 

 

 

 

 

 

наличие или отсутствие цепей (путей) длины k.

 

 

 

 

 

 

 

 

Матрица

 

L* = L L2 L3 … Ln

 

 

 

 

 

 

 

 

 

 

 

 

v4

 

v3

 

 

орграфа G с n вершинами содержит все сведения

 

 

 

 

о путях любой длины между вершинами

 

 

 

 

 

 

 

 

 

Рис. 5.14

 

 

 

заданного

орграфа

 

G.

Матрица

 

L* считается

 

 

 

 

 

матрицей достижимости орграфа G.

 

 

 

 

 

 

 

 

 

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

5.14 (пример взят из [17]). Матрица смежности L и матрицы L2, L3 и L4 равны

соответственно:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Л И Л Л

 

 

 

Л И Л Л

Л И Л Л

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Л Л И И

 

2

Л Л И И Л Л И И

L =

 

Л Л Л Л

.

L

=

Л Л Л Л

&

Л Л Л Л

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Л Л И Л

 

 

 

Л Л И Л

Л Л И Л

Л

Л

И

И

 

 

 

 

 

 

 

 

Л

Л

И

Л

 

=

Л

Л

Л

Л

 

;

 

 

 

 

 

 

 

 

 

 

Л

Л

 

 

 

Л

Л

 

 

Л

Л

И

Л

 

 

 

 

 

 

 

 

 

3

Л

Л

Л

Л

;

L =

Л

Л

Л

Л

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Л

Л

 

 

 

 

Л

Л

 

 

Л

Л

Л

Л

 

 

 

 

 

 

 

4

Л

Л

Л

Л

L =

Л

Л

Л

Л

.

 

 

 

 

 

 

 

 

 

 

 

Л

Л

 

 

 

Л

Л

136

Следовательно, матрица достижимости равна:

 

 

Л И Л Л

 

 

Л Л И И

 

Л Л И Л

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

Л Л И И

Л Л И Л

 

Л Л Л Л

 

L

 

=

Л Л Л Л

 

 

Л Л Л Л

 

 

 

Л Л Л Л

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Л Л И Л

 

 

Л Л Л Л

 

Л Л Л Л

 

 

 

 

Л

И

И

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Л

Л

И

И

 

 

 

 

 

 

 

 

 

=

Л

Л

Л

Л

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Л

И

Л

 

 

 

 

 

 

 

 

 

 

 

Л

 

 

 

 

 

 

 

 

 

 

 

 

По матрице L* видно, что из вершины v1 достижимы вершины v2, v3 и

v4;

из вершины v2

-

вершины v3 и v4;

из вершины v3

ни одна вершина

недостижима, а из вершины v4 достижима только вершина v3.

Пусть G = (V,X) – орграф с n вершинами v1, v2,…,vn и его матрица смежности есть некоторая матрица L. При больших значениях числа n вычисление степеней матрицы L лучше осуществлять на ЭВМ. Для этого существует алгоритм Уоршелла. Этот алгоритм генерирует последовательность матриц W0 = L, W1, W2,…,Wn, причём элемент матрицы Wk (k≥ 1), стоящий на пересечении i–й строки и j–го столбца wk(i,j), равен И в том и только в том случае, когда существует путь (произвольной длины) из вершины vi в вершину vj с внутренними вершинами из множества {v1, v2,…,vn}. Матрица Wn является искомой матрицей достижимости исходного графа: L* = Wn.

Алгоритм Уоршелла: begin

W:= L;

for k=1 to n do

for i=1 to n do

for j=1 to n do

w(i,j)= w(i,j) или (w(i,k) и w(k,j));

end

Мы часто ищем сложности вещей, Где истина лежит совсем простая.

С. Щипачев

§ 8. Критерий изоморфизма графов

Теорема 5.8 (критерий изоморфизма графов). Графы G=(V,X) и G′=(V′,X′) с матрицами смежностей (aij) и (aij′) соответственно изоморфны тогда и только тогда, когда: 1) число вершин в V и V′ совпадает (и равны,

137

например, n); 2) существует такое взаимно однозначное соответствие ψ множества {1,2,…,n} на себя, что aij=аψ(i) ψ(j).

Доказательство. Необходимость. Пусть ϕ - изоморфизм G и G′. Докажем, что выполняются условия 1) и 2). Если ϕ - изоморфизм, то это означает, что ϕ взаимно однозначное отображение V на V′, следовательно, условие 1) выполняется. Отображение ϕ сохраняет смежность, поэтому если vi было соединено ребром с vj, т.е. aij=1, то ϕ(vi)=v′k будет соединено ребром с ϕ(vj)= v′m, следовательно, аkm=1. Тогда если aij=0, то аkm=0. Таким образом, ϕ порождает взаимно однозначное отображение ψ множества {1,2,…,n} на себя (ψ(i)=k, ψ(j)=m), при котором aij=аψ(i) ψ(j), следовательно, условие 2) выполнено.

Достаточность. Пусть выполняются условия 1) и 2). Докажем, что графы G и G′ изоморфны. Определим отображение ϕ: ϕ(vi)=v′ψ(i). Это отображение ϕ взаимно однозначное и сохраняет смежность, следовательно, ϕ - изоморфизм G и G′, что и требовалось доказать.

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

Количество взаимно однозначных отображений множества {1,2,…,n} на себя равно числу перестановок, т.е. равно n! и это число является большим при больших значениях n. Поэтому использовать непосредственно теорему 5.8 при практическом распознавании изоморфизма для графов с большим n нецелесообразно.

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

Очевидно, что если графы G и G′ изоморфны, то у соответствующих вершин одинаковы локальные степени. Для орграфов одинаковы полустепени исхода и захода соответствующих вершин. В связи с этим строим граф соответствия как граф, множество вершин которого есть V V′, и вершина из V соединена с вершиной из V′ тогда и только тогда, когда у этих вершин совпадают локальные степени (полустепени исхода и захода) в графах G и G′ соответственно. Вершины из V между собой не соединяем, вершины из V′ - тоже.

Из построенного графа соответствия определяем, какие варианты отображений вершин из V на V′ допустимы и какие нет. Эти

оставшиеся допустимые варианты придется перебрать и выяснить существование изоморфизма.

Поясним на примере. Пусть даны орграфы, изображенные на рис 5.15.

138

v1

v2

v3

u1

u2

 

 

 

u5

u6

v4

v5

v6

u4

u3

 

 

 

Рис. 5.15

В каждом графе по 6 вершин, следовательно, возможных взаимно однозначных отображений 6!=720. Перебрать все 720 отображений и выяснить среди них существование изоморфных отображений дело громоздкое.

Построим граф соответствия, см. рис. 5.16. У каждой вершины записываем полустепени исхода и захода в виде (k,l), здесь k - полустепень исхода, l - полустепень захода вершины.

 

 

 

 

 

 

vi

1

2

3

4

5

6

 

 

 

u1

(1,2)

 

 

 

 

 

(1,2)

v1

 

1)

 

 

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

u2

(1,2)

 

ui

2

5

3

4

1

6

 

 

 

 

(2,1)

v2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3,0)

v3

 

u3

(3,0)

 

1

2

3

4

5

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2)

 

 

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

(0,3)

v4

 

u4

(0,3)

 

1

6

3

4

2

5

 

 

 

 

 

 

 

 

 

 

 

 

(1,2)

v5

 

 

 

 

1

2

3

4

5

6

 

 

u5

(2,1)

 

 

 

 

 

3)

 

 

 

 

 

 

 

 

 

 

 

;

 

(2,1)

v6

 

 

 

 

2

6

3

4

1

5

 

 

 

 

 

 

 

u6

(2,1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

5

6

 

 

 

Рис. 5.16

 

 

 

 

 

 

4)

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

5

3

4

2

6

 

Очевидно, что вершину v3 нужно отобразить на вершину u3 (v3→ u3), а v4→ u4. Вершина v1 может при изоморфных отображениях отображаться на u1

или u2, вершина v2 - на u5 или u6, вершина v5 - на u1 или u2, а v6 - на u5 или u6. Таким образом, из 720 возможных отображений осталось 4

отображения, при которых возможен изоморфизм. Эти отображения представлены справа от Рис. 5.15.

Выясним, есть ли среди них изоморфное отображение рассматриваемых графов. При отображении 1) имеем, что а51=1, а а12=0, следовательно, не выполнено второе условие теоремы 5.8, поэтому отображение 1) не будет изоморфизмом рассматриваемых графов. При

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]