Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tipovoy_raschet_diskretnaya.doc
Скачиваний:
11
Добавлен:
17.08.2019
Размер:
1.93 Mб
Скачать

5.2 Примеры

Пример. Является ли сильно связным орграф, матрица смежности которого имеет вид:

?

Если нет, то найти компоненты сильной связности.

Решение

Сначала определим матрицу сильной связности данного графа:

.

Матрица сильной связности S(G) содержит нули, следовательно, орграф не является сильно связным. Образуем первую компоненту сильной связности. Это орграф, вершины которого соответствуют единицам первой строки матрицы сильной связности. Множество вершин G1 - первой компоненты сильной связности: . В качестве матрицы смежности G1 берем подматрицу матрицы А(G), находящуюся на пересечении первой, третьей, пятой строк с первым, третьим, пятым столбцом:

.

Вычеркиваем из матрицы первую, третью, пятую строки, а также первый, третий, пятый столбцы, переходим к матрице . С помощью нее определяем множество вершин G2 - второй компоненты сильной связности: . Матрица смежности G2 имеет вид: .

Вычеркивая из матрицы S2 первые строку и столбец, получаем матрицу . Третья компонента сильной связности G3 содержит одну вершину – х4 и характеризуется матрицей смежности .

В результате вычеркивания первых строки и столбца из матрицы S3 ничего не осталось. Работа алгоритма прекращена. Орграф имеет три компоненты сильной связности.

    1. Варианты задачи №9

Найти матрицу смежности А ориентированного графа G (диаграмма дана на рисунке). Обозначить дуги и найти матрицу инцидентности В орграфа. Найти матрицу сильной связности S. Выделить компоненты сильной связности орграфа G. Построить диаграммы компонент сильной связности.

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10

Вариант 11

Вариант 12

Вариант 13

Вариант 14

Вариант 15

Вариант 16

Вариант 17

Вариант 18

Вариант 19

Вариант 20

Вариант 21

Вариант 22

Вариант 23

Вариант 24

Вариант 25

Вариант 26

Вариант 27

Вариант 28

Вариант 29

Вариант 30

5.4 Нахождение кратчайших путей

Орграф G(X, A) называется взвешенным, если каждой дуге (x,y) поставлено в соответствие некоторое действительное число l(x, y) - вес дуги (x, y). Весом маршрута x1,x2, …,xn, xn+1 называется число l= . Взвешенным расстоянием (w- расстоянием) между вершинами x и y называется минимальный из весов (x, y) – маршрутов. (x, y) – маршрут, вес которого равен расстоянию , называется кратчайшим (x, y) – маршрутом во взвешенном графе G.

Алгоритм Форда-Беллмана позволяет определить кратчайшее расстояние от фиксированной вершины графа G, называемой источником, до всех других вершин этого графа.

Задаётся строка D(1)=(d1(1), d2(1), ..., dn(1)), полагая di(1)=0, dj(1)=wij, i≠j. В этой строке dj(1) (i≠j) есть вес wij дуги (xi, xj), если (xi, xj) существует, и dj(1)=∞, если дуга (xi, xj) отсутствует в G. Далее определяется строка D(2)=(d1(2), d2(2), ..., dn(2)), полагая dj(2)=min{ dj(1), dk(1) + wkj}k=1, ..., n. При этом dj(2) - минимальный из весов (xi, xj) – маршрутов, состоящих не более, чем из двух дуг.

Продолжая процесс, на шаге s определяется строка D(s)=(d1(s), d2(s), ..., dn(s)), полагая dj(s)=min{ dj(s-1), dk(s-1) + wkj}k=1, ..., n. Искомая строка w-расстояний получается при s=n – 1: dj(n-1) = . Работа алгоритма завершается на шаге k, если D(k) = D(k+1).

Задача. Найти кратчайшие расстояния от вершины 1 до всех других вершин в орграфе G с матрицей весов W:

.

Решение

Выберем в качестве источника вершину 1. Тогда D(1)=(0, 1, ∞, ∞, 3), D(2)=(0, 1, 4, 4, 3), D(3)=(0, 1, 4, 4, -1), D(4)=(0, 1, 4, 3, -1). Таким образом, , , , , .