Матричное представление графов

Задание графов соответствием

Рис. 1.4.

Рис. 1.3.

G5 = (X, A),

где X = {B, C, D, E, F} – множество вершин графа, A = {ai}, i = 1, 2,..., 5 – множество дуг графа, причем a1 = (F, B), a2 = (B, E), a3 = (F, D), a4 = (E, C), a5 = (C, D).

Описание графов состоит в задании множества вершин Х и соответствия Г, которое показывает, как между собой связаны вершины.

Соответствием Г называется отображение множества Х в Х, а граф в этом случае обозначается парой G = (X, Г).

Отображением вершины хi — Г(хi) является множество вершин, в которые существуют дуги из вершины хi, т. е. Г(хi) = { хj: дуга (хi, хj) A}.

Так для орграфа на рис. 1.3 описание заданием множества вершин и соответствия выглядит следующим образом: G4=(X, Г), где X = {хi}, I = 1, 2,..., 4 – множество вершин, Г(х1) = { х2 }, Г(х2) = { х3, х4 }, Г(х3) = { х3 }, Г(х4) = { х1, х2 } – отображения.

Для неориентированного или смешанного графов предполагается, что соответствие Г задает такой эквивалентный ориентированный граф, который получается из исходного графа заменой каждого неориентированного ребра двумя противоположно направленными дугами, соединяющими те же самые вершины. Например, для графа на рис. 1.2,б Г(х2) = { х1, х3, х5 }, Г(х4) ={ х3, х5} и т. д.

Для обработки на ЭВМ графы удобно представлять в виде матриц смежности и инциденций.

Матрица смежности – это квадратная матрица размерностью n x n, (где n – число вершин графа), однозначно представляющая его структуру.

A = {aij}, i, j = 1, 2,..., n, а каждый элемент матрицы определяется следующим образом:

aij = 1, если дуга (хi, хj), aij = 0, если нет дуги (хi, хj).

Матрица инциденций представляет собой прямоугольную матрицу размером n x m, где n – количество вершин графа, а m – количество дуг графа. Обозначается матрица инциденций B = {bij}, i = 1, 2,..., n, j = 1, 2,..., m.

Каждый элемент матрицы определяется следующим образом:

bij = 1, если хi является начальной вершиной дуги aj,

bij = –1, если хi является конечной вершиной дуги aj,

bij = 0, если хi не является концевой вершиной дуги aj или если aj является петлей.

На рис. 1.5, а,б приведен граф и его матрица смежности, по которой можно найти характеристики вершин. Так сумма элементов i-ой строки матрицы дает полустепень исхода вершины хi, а сумма элементов i-го столбца дает полустепень захода вершины хi. По матрице смежности можно найти прямые и обратные отображения. Рассмотрим i-ю строку матрицы. Если элемент aij=1, то элемент графа хj входит в отображение Г(хi). Например, во 2-й строке матрицы А (рис. 1.5,б) единицы стоят в 2-м и 5-м столбцах, следовательно, Г(х2) = { х2, х5}.

Рис. 1.5. Орграф и его матричное представление: а – орграф; б – матрица смежности; в – матрица инциденций

Для графа на рис. 1.5,а матрица инциденций приведена на рис. 1.5,в. Поскольку каждая дуга инцидентна двум различным вершинам, за исключением того случая, когда дуга образует петлю, то каждый столбец либо содержит один элемент равный 1 и один – равный – 1, либо все элементы столбца равны 0.

Для неориентированного графа, матрица инциденций определяется так же, за исключением того, что все элементы, равные –1, заменяются на 1.

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

Объединение графов G1 и G2, обозначаемое как G1 G2, представляет такой граф G3 = (Х1 Х2, A1 A2), что множество его вершин является объединением Х1 и Х2, а множество ребер – объединением A1 и A2. Граф G3, полученный операцией объединения графов G1 и G2, показан на рис. 2.1,д, а его матрица смежности – на рис. 2.1,е. Матрица смежности результирующего графа получается операцией поэлементного логического сложения матриц смежности исходных графов G1 и G2.


Рис. 2.1.

Пересечение графов G1 и G2, обозначаемое как G1 G2, представляет собой граф G4 = (Х1 Х2, A1 A2). Таким образом, множество вершин графа G4 состоит из вершин, присутствующих одновременно в G1 и G2. Операция пересечения графов G1 G2 показана на рис. 2.2,в, а результирующая матрица смежности получается операцией поэлементного логического умножения матриц смежности исходных графов G1 и G2. показана на рис. 2.2.г.


Рис. 2.2.

Рис.2.2. Операция пересечения и кольцевой суммы: а – граф G1; б – граф G2;

в – граф G1 G2; г – матрица смежности графа G1 G2; д – граф G1 G2 ;

е – матрица смежности графа G1 G2

Кольцевая сумма двух графов G1 и G2, обозначаемая как G1 G2, представляет собой граф G5, порожденный на множестве ребер A1 A2. Другими словами, граф G5 не имеет изолированных вершин и состоит только из ребер, присутствующих либо в G1, либо в G2, но не в обоих одновременно. Кольцевая сумма графов G1 и G2 показана на рис. 2.2,д, а результирующая матрица смежности получается операцией поэлементного логического сложения по mod 2 матриц смежности исходных графов G1 и G2. показана на рис. 2.2.е.

Легко убедиться в том, что три рассмотренные операции коммутативны т. е. G1 G2 = G2 G1, G1 G2 = G2 G1, G1 G2 = G2 G1, и многоместны, т. е. G1 G2 G3 G4..., G1 G2 G3 G4... и так далее.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: