Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2947

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
2.67 Mб
Скачать

Теперь упорядочим дуги исходного графа.

B C

B D D C

E C

B E A A C B A E

Рис. 31. Результат упорядочивания дуг

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

Матричный способ упорядочивания вершин орграфа

Выписывают матрицу смежности вершин P . Находят

5

координаты вектора 1 P xi , являющиеся полустепе-

i 1

нями захода вершин графа. Для орграфа выделяют полустепень захода P xi вершины xi (число дуг, входящих в xi ) и

полустепень выхода P xi (число дуг, выходящих из xi ).

Первую группу образуют вершины, полустепени заходов которых равны нулю. Отбрасывают данные вершины и дуги, из них выходящие, удалив соответствующие столбцы и строки матрицы P. Далее определяют координаты вектора 2 , яв-

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

101

Для нашего примера:

 

 

 

 

 

 

 

 

A

B

C

D

E

 

A 0

0

1

0

0

B

 

1

0

1

1

1

 

 

 

P C

 

0

0

0

0

0

 

 

 

 

 

 

 

 

 

D 0

0

1

0

1

E

 

1

0

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

B

 

C

 

D

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

0

 

4

 

1

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

-

 

3

 

0

 

1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

-

 

2

 

-

 

0

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

-

 

1

 

-

 

-

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

-

 

0

 

-

 

-

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Группа

4

 

1

 

5

 

2

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выявление маршрутов

 

 

 

 

 

 

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

 

 

 

 

Теорема. Для нахождения маршрутов из k рёбер, нуж-

но возвести в

k -ую степень матрицу смежности вершин.

В

этом случае элемент p k

определит число маршрутов длины

 

 

 

 

 

ij

 

 

 

 

 

 

 

 

k из вершины xi в вершину x j .

 

 

 

 

 

 

 

Следствие 1.

Для того, чтобы в графе G порядка

n

имелся

xi , x j

– маршрут

xi xj

, необходимо и достаточно,

чтобы i, j -й элемент матрицы

P P2 L Pn 1

был отли-

чен от нуля.

102

Следствие 2. Для того, чтобы в графе

G порядка n

имелся цикл, проходящий через вершину xi ,

необходимо и

достаточно, чтобы i, i -й элемент матрицы

P P2 L Pn

был отличен от нуля.

Пример. Пусть дан неориентированный граф:

 

 

B

 

U1

U5

 

 

U4

A

U2

C

 

 

 

U3

U6

 

 

D

 

Рис. 32. Неорграф

 

 

A

B

C

D

 

 

 

A 0

1

1

1

 

 

 

 

 

 

 

 

 

 

P

B

1

0

1

1

 

;

 

C

1

1

0

1

 

 

 

 

 

 

 

 

 

 

 

D

1

1

1

0

 

 

0

1

1

1 0

1

1

1

3

2

2

2

 

1

0

1

1

 

 

1

0

1

1

 

 

2

3

2

2

 

P2

 

 

 

 

.

 

1

1

0

1

 

1

1

0

1

 

 

2

2

3

2

 

 

1

1

1

0

 

 

1

1

1

0

 

 

2

2

2

3

 

 

 

 

 

 

Возьмём первую строку. Элемент p112 3. Следовательно, имеются три маршрута из A в A длиной в два ребра.

103

В самом

деле,

таковы маршруты

Au1Bu1 A,

Au2Cu2 A,

Au3Du3 A.

Из A

в B имеются два

маршрута

Au2Cu5 B, ,

Au3 Du4 B.

При работе с числовой матрицей смежности вершин для определения маршрутов ннжно иметь дело с графами. Моди-

фицированная матрица смежности, элементами которой яв-

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

A B C D

~ 2

P

u u u u u u

 

 

1

1

2

2

3

3

 

 

 

u2u5 u3u4

 

 

 

 

 

 

 

 

 

 

u1u5

u3u6

 

 

 

 

 

 

 

 

 

u1u4

u2u6

 

 

 

 

 

 

 

A 0

u

u

 

u

 

P B

 

 

1

 

2

 

3

 

u1

0

u5

u4 ;

~

 

 

 

 

 

 

 

 

C

u

 

u

0

u

 

 

 

 

2

5

 

 

 

6

 

D u3

u4

u6

0

 

u2u5 u3u4

 

 

u1u5 u3u6

u1u1 u5u5 u4u4

 

 

u1u2 u4u6

u1u2 u4u6

 

u2u2 u5u5 u6u6

u1u3 u5u6

 

 

u2u3 u5u4

u1u4 u2u6 u1u3 u5u6 u2u3 u5u4

u3u3 u4u4 u6u6

.

Пример 2.

 

 

u5

 

 

 

 

А

u1

В

u3

 

u6

D

u2

u4

С

 

 

 

 

 

Рис. 33. Орграф

104

 

A

B

A 0

1

 

1

0

B

P C

0

1

 

 

 

D

0

0

 

 

 

0

1

1

0

 

0

1

 

 

 

 

1

0

1

0

 

 

 

1

0

P

2

 

 

 

 

 

 

 

0

1

0

1

 

 

0 1

 

 

 

 

0

0

0

0

 

 

 

0

0

 

 

 

 

 

 

 

 

 

 

1

1

1

1

 

0

1

 

 

 

 

0

2

1

1

 

 

 

1

0

P

3

 

 

 

 

 

 

 

1

0

1

0

 

 

0

1

 

 

 

 

0

0

0

0

 

 

 

0

0

 

 

 

 

 

 

 

C

D

1

0

 

 

1

0

 

 

 

;

0

1

 

 

0

0

 

 

 

 

1

0

1

1

1

1

 

 

1

0

 

 

0

2

1

1

 

 

 

 

 

;

0

1

 

 

1

0

1

0

 

 

0

0

 

 

0

0

0

0

 

 

 

 

 

 

1

0

1

2

2

1

 

 

1

0

 

 

2

1

2

1

 

 

 

 

.

0

1

 

 

0

2

1

1

 

 

0

0

 

 

0

0

0

0

 

 

 

 

 

 

Возьмём элемент p222 после возведения матрицы смежности вершин во вторую степень. Элемент р22(2) 2, это означает, что из вершины B в вершину B имеется два маршрута длиной две дуги. Таковы маршруты Bu3Cu4 B и Bu2 Au1B. Аналогичные результаты можно получить после возведения матрицы в третью степень. Возьмём элемент p123 2; таким образом, существуют два маршрута длиной три дуги из вер-

шины A в вершину B.

Такими маршрутами являются

Au1Bu2 Au1B и Au1Bu3Cu4 B.

Для нахождения цепей, то есть

маршрутов, в которых любое ребро входит только однажды,

~ 3

надо в модифицированной матрице P удалить слагаемые, в которые какой–либо сомножитель входит несколько раз.

Card G 4 n.

105

1 2

2

1 0

1

1

 

0

2

3

3

2

 

 

2 1

2

1

 

 

1

0

1

 

0

 

 

1

4

3

2

 

 

P4

 

 

 

 

 

 

;

 

0 2

1

1

 

 

0

1

0

 

1

 

 

1

1

2

1

 

 

 

0 0

0

0

 

 

0

0

0

 

0

 

 

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

2

 

4

4

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 3

4

2

 

 

 

 

 

 

 

 

 

 

A P P2 P3

 

;

 

 

 

 

 

 

 

 

 

 

 

 

1

 

3

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

7

7

4

 

 

4 7

7

4

 

B P P2 P3 P4 A P4

.

 

3

4

4

3

 

 

0

0

0

0

 

 

 

Возьмём, к примеру, элемент a24 2 0 матрицы A.

Получим, что в заданном графе имеются маршруты из вершины B в вершину D. Таковы маршруты: BCD, BACD,

BCBACD. Подобным образом, b22 7 0. Это означает, что имеются циклы, содержащие вершину B, такими, к примеру, являются циклы BACB, BAB и BCB. Поскольку элемент b44 0, то не существует циклов, содержащих вершину D.

Определение экстремальных путей на графах. Операции Шимбелла

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

1. Операция умножения двух величин a и b при возве-

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

106

a b b a a b b a,

(33)

 

 

a 0

0 a 0 a 0 0.

 

2. Операция сложения двух величин a и b отвечает вы-

бору из них наименьшего (наибольшего) значения, таким об-

разом

 

a b b a min max a,b ,

(34)

нули в данном случае не учитываются. Наименьшее (наибольшее) значение находится среди отличных от нуля значений. Нуль в итоге применения операции (34) возможен только в том случае, когда все значения равны нулю.

Метод Шимбелла

При использовании операций Шимбелла длины наименьших или наибольших путей между всеми вершинами находятся посредством возведения в степень весовой матрицы , состоящей из весов рёбер. В частном случае, элементы

матрицы 2 находят так:

 

 

 

 

 

 

 

.

ij

min max i1

1 j

, i 2

2 j

,..., in

nj

2

1

1

1

1

1

1

 

Подобным образом вычисляют элементы k -ой степени матрицы .

 

B

 

2

1

 

 

 

 

 

A

2

 

C

 

2

 

 

 

 

3

 

 

2

 

 

1

D

Рис. 34. Сеть Пример. Выпишем для исходного графа матрицу ве-

сов. С её помощью находятся все маршруты длиной в одно ребро.

107

 

A

B

C

D

 

A 0

1

3

2

 

 

 

 

 

 

 

 

P

B

2

0

2

0

.

 

C

0

0

0

0

 

 

 

 

 

 

 

 

 

D

0

2

1

0

 

Определим все минимальные пути в два ребра, с этой целью возведём данную матрицу во вторую степень, используя операции Шимбелла (min – наименьшие пути).

 

 

 

0 1 3

2 0

1 3 2

 

3 4 3

0

 

 

 

 

 

 

2 0 2

0

 

 

 

 

2

0 2 0

 

 

 

0 3 5

4

 

 

 

P2

 

 

 

 

 

 

.

 

 

 

 

 

 

0 0 0

0

 

0

0 0 0

 

 

 

0 0 0

0

 

 

 

 

 

 

 

0 2 1

0

 

 

 

 

0

2 1 0

 

 

 

4 0 4

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

К примеру,

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

min 11

11

 

 

12

 

21

, 13

31 ,

14

41

 

2

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

1

1

 

1

1

 

min

 

 

0

 

 

 

 

 

 

 

 

 

3 0

 

 

 

 

2 0

 

 

 

 

 

 

3;

 

 

0

 

, 1

2

 

 

,

 

 

 

 

,

 

 

 

min 0,3, 0, 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

 

min 11

12

 

 

12

 

22

, 13

32 ,

14

42

 

2

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

1

1

 

1

1

 

min

 

 

 

0

 

 

 

 

 

 

0

 

 

 

 

2 2

 

 

 

 

 

 

4.

 

 

0

1 , 1

 

 

,

 

3

 

 

,

 

 

 

 

min 0, 0, 0, 4

 

 

 

 

Подобным образом, длинами наименьших путей в три

ребра являются элементы матрицы

 

 

 

 

 

 

 

 

 

 

3 4 3

0 0

1 3 2

 

6 4 6

5

 

 

 

 

 

 

0 3 5

4

 

 

 

 

 

2

0 2 0

 

 

 

5 6 5

0

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

0 0 0

0

 

 

 

 

0

0 0 0

 

 

 

0 0 0

0

 

 

 

 

 

 

 

4 0 4

0

 

 

 

 

 

0

2 1 0

 

 

 

0 5 7

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и так далее. К примеру, длина минимального пути в три ребра из вершины D в вершину C равна 7. Таков путь DBAC .

108

Порядковая функция орграфа без контуров. Функция Гранди

Предположим, что имеется орграф без контуров, други-

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

ся концом последней, G S,U , S xj , j

 

.

Совокуп-

1, n

ность дуг U есть многозначное отображение : X X , в

котором X S. В этих обозначениях орграф G S,U мож-

но записать в виде G X , . Зададим множества

N0 , N1,

...,

Nr таким образом:

 

 

N0 xi X : xi ,

 

 

N1 xi X \ N0 : xi N0 ,

 

 

N2 xi X \ N0 \ N1 : xi N0 N1 ,

 

 

L L L L L L L L L L L

 

 

Nr

xi X \ N0 \L \ Nr 1 : xi N0 L Nr 1 ,

где

r

минимальное число, удовлетворяющее

условию

1 Nr .

Ясно, что подмножества

N0 , N1, N2 , ..., Nr составля-

ют разбиение множества

X

и вполне упорядочены соотно-

шением Nk Nm k m.

Иначе говоря, множество X раз-

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

ются уровнями.

Определение. Введём на X числовую функцию or x таким образом, что or xi k, при условии, что xi Nk . Вве-

109

дённая так функция называется порядковой функцией орграфа без контуров.

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

Имея матрицу смежности вершин орграфа и исследуя количество единиц в её столбцах, возможно довольно просто

определить вершины,

входящие в множество N0 . Потом

возьмём подграф заданного графа G X \ N0 , , образуе-

мый удалением строк и столбцов данной матрицы

P, номера

которых равны индесам вершин,

входящих в N0 .

Для графа

G X \ N0 , подобным образом находится подмножество

N для G . Ясно, что

N N . Повторяя эту последователь-

0

1

0

 

 

 

ность действий, находим подмножества N2 ,

N3 , ..., Nr .

Пример 1. Найти порядковую функцию орграфа, изо-

бражённого на рис. 35.

 

 

 

 

 

Решение.

 

 

 

 

 

 

 

2

x3

 

 

3

 

 

 

0

 

 

 

 

 

 

x2

 

 

 

x4

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

 

x1

 

 

0

x5

 

 

 

 

x6

 

 

Рис. 35. Порядковая функция орграфа

110

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