Как найти матрицу пути графа

      1. Матрица путей

Для
связного графа, вершины которого
перенумеро­ваны, можно построить
матрицу путей (или цепей) Р
следующим
образом: строки матрицы должны
соответствовать путям из первой вершины
в последнюю, а столбцы – ребрам графа.
Следовательно, элемент мат­рицы
принимает значение 1 или 0 в зависимости
от того, принадлежит ли данное ребро
данному пути или нет. Например, граф,
изображенный на рис. 11, имеет матрицу
путей между вершинами v1
и v5:

Рис.11.
Граф для иллюстрации матрицы путей

    1. Представление графов в виде списков

Можно
связать список Lv
с
каждой вершиной
v
V.
Таким образом, Lv
– это список вершин, смежных с v
(например, рис.12).

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

а) б)

Рис.
12. Полный граф (а) и его списки смежности
(б)

    1. Упорядоченные графы

Представление
Lv
вершин, смежных с v,
в виде списка связей определяет «порядок»
ребер, выходящих из v
(рис. 13).

v1

Рис.
13. Пример упорядоченного графа

Множество
V
= {
v1,
v2,…,
vn}
вершин вместе с множеством {Lv1,
Lv2,
…,
Lvn}
упорядоченных списков упорядоченных
пар вершин называют упорядоченным
графом.

Для
того чтобы рассматриваемые структуры
являлись графами, необходимо наложить
некоторые условия на списки Lv:

  • (v,
    v)
    Lv
    ,
    v
    V;

  • (w,
    u) Lw (u, w) Lu.

Граф,
изображенный на рис. 13, может быть
представлен в терминах упорядоченного
графа следующим образом:

({v1,
v2,
v3,
v4},
{((
v1,
v2),
(
v1,
v3),
(
v1,
v4)),
((
v2,
v1),
(
v2,
v3),
(
v2,
v4)),
((
v3,
v1),
(
v3,
v2),
(
v3,
v4)),
((
v4,
v1),
(
v4,
v2),
(
v4,
v3))}).

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

  1. Задачи нахождения путей в графах

Пусть
G
= (
V,
E)
– ориентированный граф.

Рефлексивным
и транзитивным замыканием графа G
называется граф G*,
который содержит то же множество узлов,
что и G,
но в котором из v
в w
идет ребро тогда и только тогда, когда
в G
существует путь (длины 0 или больше) из
v
в w.

С
задачей нахождения транзитивного
замыкания тесно связана задача о
кратчайшем пути.

Поставим
в соответствие каждому ребру e
графа G
= (V, E)

неотрицательную стоимость c(e).
Стоимость пути определяется как сумма
стоимостей ребер, образующих этот путь.
Задача о кратчайшем пути состоит в
нахождении для каждой пары узлов (v,
w)
пути наименьшей стоимости среди всех
путей из v
в w.

Наряду
с понятием стоимости пути применяется
понятие метки пути. Определим метку
пути как произведение меток ребер,
составляющих этот путь. Причем метки
берутся в порядке прохождения ребер. В
частности, метка пути нулевой длины
равна 1. Для каждой пары узлов (v,
w)

определим c(v,
w)
как сумму меток всех путей между v
и w.
Назовем c(v,
w)
стоимостью прохождения из v
в w.

Например,
рассмотрим ориентированный граф, в
котором каждое ребро помечено элементом
полукольца S1
= ({0, 1}, +, , 0, 1)

(рис. 14).

Метка
пути v1,
v2,
v3,
равна 1. Простой цикл из v2
в v2
имеет метку 1 0 = 0. Вообще, каждый путь
положительной длины имеет метку 0. Но
стоимость пути нулевой длины из v2
в
v2
равна 1. Следовательно, c(v2,
v2)=
1
.

Рис.
14. Метка пути и стоимость пути

Соседние файлы в папке Структуры и алгоритмы

  • #
  • #
  • #

Нахождение множества вершин, входящих в путь

Если необходимо узнать о вершинах графа, входящих в эти пути, то следует вспомнить определения прямого и обратного транзитивных замыканий. Так как T+(xi) – это множество вершин, в которые есть пути из вершины xi, а Tj) множество вершин, из которых есть пути в xj, то T^{+}(x_{i}) cap  T^{–}(x_{j})множество вершин, каждая из которых принадлежит, по крайней мере, одному пути, идущему от xi к xj. Эти вершины называются существенными или неотъемлемыми относительно двух концевых вершин xi и xj. Все остальные вершины графа называются несущественными или избыточными, поскольку их удаление не влияет на пути от xi к xj.

Орграф

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

Так для графа на
рис.
4.2
нахождение вершин, входящих в путь, например из вершины х2 в вершину х4, сводится к нахождению Т^{+}( х_{2}) ={ х_{2}, x_{3}, х_{4}, х_{5}, х_{6}} ,   Т^{-}( х_{4}) ={  х_{1}, х_{2}, x_{3}, х_{4}, х_{5}} ,  и  их  пересечения  T^{+}(х_{2}) cap  T^{–}(х_{4}) ={   х_{2}, x_{3}, х_{4}, х_{5}}.

Матричный метод нахождения
путей в графах

Матрица смежности полностью определяет структуру графа. Возведем матрицу смежности в квадрат по правилам математики. Каждый элемент матрицы А2
определяется по формуле

a^{(2)}_{ik}=  sum ^{n}_{j=1}a_{ij}a_{jk}

Слагаемое в формуле равно 1 тогда и только тогда, когда оба числа aij
и ajk
равны 1, в противном случае оно равно 0. Поскольку из равенства aij = ajk = 1 следует существование пути длины 2 из вершины xi
в вершину хk
, проходящего через вершину xj
, то
( i -й, k -й) элемент матрицы А2
равен числу путей длины 2, идущих из xi
в хk
.

На таблице 4.1a представлена матрица смежности графа, изображенного на
рис.
4.2. Результат возведения матрицы смежности в квадрат А2
показан на таблице 4.1б.

Таблица
4.1а.

X1 X2 X3 X4 X5 X6
X1 0 1 0 0 0 1
X2 0 0 0 0 1 1
A= X3 0 1 0 0 1 1
X4 0 0 1 0 0 0
X5 0 0 0 1 0 1
X6 0 0 0 0 0 0

Таблица
4.1б.

X1 X2 X3 X4 X5 X6
X1 0 0 0 0 1 1
X2 0 0 0 1 0 1
A2= X3 0 0 0 1 1 2
X4 0 1 0 0 1 1
X5 0 0 1 0 0 0
X6 0 0 0 0 0 0

Таблица
4.1в.

X1 X2 X3 X4 X5 X6
X1 0 0 0 1 0 1
X2 0 0 1 0 0 0
A3= X3 0 0 1 1 0 1
X4 0 0 0 1 1 2
X5 0 1 0 0 1 1
X6 0 0 0 0 0 0

Таблица
4.1г.

X1 X2 X3 X4 X5 X6
X1 0 0 1 0 0 0
X2 0 1 0 0 1 1
A4= X3 0 1 1 0 1 1
X4 0 0 1 1 0 1
X5 0 0 0 1 1 2
X6 0 0 0 0 0 0

Так «1», стоящая на пересечении второй строки и четвертого столбца, говорит о существовании одного пути длиной 2 из вершины х2
к вершине х4
. Действительно, как видим в графе на
рис.
4.2, существует такой путь: a6, a5
. «2» в матрице A2 говорит о существовании двух путей длиной 2 от вершины х3
к вершине х6 : a8, a4 и a10, a3
.

Аналогично для матрицы смежности, возведенной в третью степень A3 (
таблица
4.1в), a (3)
ik
равно числу путей длиной 3, идущих от xi к хk
. Из четвертой строки матрицы A3 видно, что пути длиной 3 существуют: один из х4
в х4(a9, a8, a5), один из х4 в х5(a9, a10, a6) и два пути из х4 в х6(a9, a10, a3
и a9, a8, a4). Матрица A4 показывает существование путей длиной 4 (
таблица
4.1г).

Таким образом, если a р
ik
является элементом матрицы Aр
,то a р
ik
равно числу путей (не обязательно орцепей или простых орцепей) длины р, идущих от xi
к хk
.

Дискретная математика:
логика, группы, графы, фракталы

Акимов О.Е.

3.2. Морфология графа

Пути и контуры в графе

Сама матрица смежности A(Г0) дает число путей, длина которых равна единице. Квадрат матрицы смежности
A2(Г0) дает число путей, длина которых равна двум дугам. Куб матрицы
A3(Г0) дает число путей в три дуги и т.д. В частности, на пересечении 2-го столбца и 3-ей строки матрицы
A3(Г0) стоит 3. Это означает, что из вершины 3 в вершину 2 имеется три пути, а из вершины 2 в вершину 3 существует уже четыре пути в три дуги:

A2(Г0) =
,     A3(Г0) =
,

A4(Г0) =
,  
A5(Г0) =
.

Введем понятие об означенной матрице смежности
A(Г0), в которой вместо единиц выставляются соответствующие вершины (новое обозначение для этой матрицы вводить не станем). Вспомогательная матрица
A’(Г0), получается из A(Г0) путем отбрасывания первого символа в означенных дугах.

A(Г0) =
,    
A’(Г0) =
.

Матрица A’(Г0) нужна для получения соответствующей степени матрицы A(Г0). Так,

A(Г0) · A’(Г0) = A2(Г0),     
A2(Г0) · A’(Г0) =
A3(Г0), …

В чем преимущество означенной матрицы перед матрицей смежности? Означенная матрица An помимо числа путей указывает еще и вершины, через которые эти пути пролегают. На диагонали матрицы An будут указаны всевозможные контуры, длина которых равна 1, 2, 3 и т.д. дугам. Неповторяющиеся вершины для отдельных путей укажут на
элементарные пути. Так как в нашем графе
Г0 (рис. 3.14) имеется шесть вершин, то элементарных путей, длина которых равнялась бы шести дугам, вообще быть не может. Отсюда максимальная степень означенной матрицы для определения всех
гамильтоновых путей должна быть равна пяти. В нашем графе
Г0, как на то указывает матрица A5(Г0), только три гамильтоновых пути:
{3, 2, 6, 4, 5, 1};  {4, 5, 1, 6, 2, 3} и {2, 3, 5, 1, 6, 4}. На диагонали матрицы
A6(Г0) стоит один и тот же гамильтонов контур
{1, 3, 2, 6, 4, 5, 1}, который всякий раз начинается с новой вершины.

A2(Г0) =
A(Г0) · A’(Г0) =
,

A3(Г0) = A2(Г0) · A’(Г0) =
.

При получении следующих степеней означенных матриц оставим только гамильтоновы пути и контуры:

A4(Г0) =
,

A5(Г0) =
,

A6(Г0) =
.

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • В приложении google снова произошла ошибка на xiaomi как исправить
  • Карта желаний как составить пример
  • Как исправить уже сделанные ошибки в кассовой книге
  • Как найти страховую стоимость объекта
  • Как найти сопротивление лампочки по схеме

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии