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

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

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

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

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

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

a(2) ik= n j=1aijajk

Слагаемое в формуле равно 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
  X2
A= X3
  X4
  X5
  X6
Таблица 4.1б.
    X1 X2 X3 X4 X5 X6
  X1
  X2
A2= X3
  X4
  X5
  X6
Таблица 4.1в.
    X1 X2 X3 X4 X5 X6
  X1
  X2
A3= X3
  X4
  X5
  X6
Таблица 4.1г.
    X1 X2 X3 X4 X5 X6
  X1
  X2
A4= X3
  X4
  X5
  X6
       

 

Так "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 .

 

 

 

 

 

5. Лекция: Типы графов (нет)

Граф G = (X, A) называют полным, если для любой пары вершин хi и хj в X существует ребро (хi, хj) в неориентированном графе G=(X,A), т. е. для каждой пары вершин графа G должна существовать по крайней мере одна дуга, соединяющая их (рис. 5.1,а).

Граф G =(X, A)называется симметрическим, если в множестве дуг A для любой дуги (хi, хj) существует также противоположно ориентированная дуга (хj, хi) (рис. 5.1,б).

 

Рис. 5.1. а – полный граф; б – симметрический граф; в – антисимметрический граф;

г – полный симметрический

 

Антисимметрическим называется такой граф, для которого справедливо следующее условие: если дуга (хi, хj) A, то во множестве A нет противоположно ориентированной дуги, т. е. ( хj, хi) A (рис. 5.1,в). Очевидно, что в антисимметрическом графе нет петель.

В качестве примера можно рассмотреть граф, являющийся моделью некоторой группы людей: вершины графа интерпретируют людей, а дуги – их взаимоотношения. Так, если в графе дуга, нарисованная от вершины хi к вершине хj , означает, что хi является другом или родственником хj , тогда данный граф должен быть симметрическим. Если дуга, направленная от хi к хj , означает, что вершина хj подчинена вершине хi , то такой граф должен быть антисимметрическим.

Комбинируя определения полного и симметрического графов и полного и антисимметрического графов, получили следующие определения:

  • граф G =(X, A), в котором любая пара вершин (хi, хj) соединена двунаправленными дугами, называется полным симметрическим (рис. 5.1,г);
  • граф G =(X, A), имеющий для каждой пары вершин (хi, хj) только одну дугу, называется полным антисимметрическим или турниром.

Связный граф, не имеющий циклов, либо граф, в котором каждая пара вершин соединена одной и только одной простой цепью, называется деревом (рис. 5.2, а, б).

 

Рис. 5.2. Граф типа “дерево”: а – неориентированное дерево,

б – ориентированное дерево

 

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

Граф G =(X, A), который может быть изображен на плоскости или сфере без пересечений называется планарным (рис. 5.3).

 

Рис. 5.3. Планарный граф

 

На рис. 5.4 показаны непланарные графы. Эти два графа играют важную роль в теории планарных графов и известны как графы Куратовского.

 


Рис. 5.4. Непланарные графы

 

Неориентированный граф G = (X, A)называют двудольным, если множество его вершин X может быть разбито на такие два подмножества Xа и Xb , что каждое ребро имеет один конец в Xа , а другой в Xb (рис. 5.5,а).

Ориентированный граф G называется двудольным, если его неориентированный двойник – двудольный граф (рис. 5.5,б,в).

Двудольный граф G=(Xа Xb, A) называют полным, если для любых двух вершин хi Xа и хj Xb существует ребро (хij) в G=(X,A) (рис. 5.5,г).

 

Рис. 5.5. Двудольные графы: а, б, в – двудольные графы; г – полный двудольный граф