Способы задания графа. Изоморфные графы

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

А. Сухотин

Существуют различные способы задания графа: геометрический (рисунки, схемы, диаграммы), простое перечисление вершин и ребер, табличный. Человеку удобно работать с графом-рисунком, так как он может легко установить связь между вершинами в наглядном виде с помощью ребер, изображаемых непрерывными линиями. Такое геометрическое представление плоского графа называется его реализацией.Для машинной обработки удобнее задать граф в алгебраической форме — перечислением (списком) вершин или ребер.

Например, орграф на рис. 2.3 можно задать с помощью пар (V1, V2), (V2, V3), (V2, V3) и (V1, V1), что соответствует дугам (r, и, t, s). При переходе от алгебраического способа к геометрическому одному и тому же графу могут соответствовать различные изображения — изоморфные графы,при этом от правильного изображения зависит, например, свойство плоской реализуемости. Для этого нужно правильно задать сам граф.

Основным способом задания графа является перечисление всех его вершин и ребер. Но такое представление, во-первых, несимметрично (с ним трудно работать, особенно ЭВМ), во-вторых, для указания каждого ребра нужно еще раз выписывать соответствующие вершины, что плохо с точки зрения сжатия и хранения информации. Иногда граф задается таблицей,состоящей из п строк (вершины) и т столбцов (ребра). Главным во всех способах задания графа (диаграммой, матрицей, таблицей) является указание соответствия между множествами п вершин Vi и т ребер X i.

Одним из самых распространенных способов задания графа является матричный способ.Пусть дан граф G(V, X), где V={V1, V2, ..., Vп} — вершины, а Х= {Х1, Х2, ..., Хт} — ребра графа.

Назовем матрицей инцидентноститаблицу В, состоящую из п строк (вершины) и т столбцов (ребра), в которой:

для неориентированного графа:

bij = 1, если вершина Viинцидентна ребру Xj;

bij = 0, если вершина Viне инцидентна ребру Xj;

для ориентированного графа:

bij = 1, если вершина Viявляется началом дуги Xj,

bij =0, если вершина Viне инцидентна дуге Xj,

bij = -1, если вершина Viявляется концом дуги Xj.

Очевидно, что в каждом столбце матрицы инцидентности должно быть только два ненулевых числа, так как ребро инцидентно двум вершинам. Число ненулевых элементов каждой строки — степень соответствующей вершины. Но в математике удобнее работать с квадратными матрицами, так как для них хорошо разработан соответствующий алгебраический аппарат.

Назовем матрицей смежностиграфа G( V, X) без кратных ребер квадратную матрицу А порядка я, в которой:

aij = 1, если (Vi,, Vj) ÎX;

aij =0, если (Vi,, Vj} Ï X.

Поскольку для неориентированного графа ребра (Vi,, Vj) и (Vj,, Vi) одновременно принадлежат или не принадлежат графу, так как символизируют одно и то же ребро, то aij == aji. Матрица смежности неориентированного графа является симметрической и не меняется при транспонировании.

Хотя формально каждая вершина всегда смежна сама с собой, в матрице смежности мы будем ставить aij = 0, если у нее нет петли, и aij =1, если есть одна петля. Итак, если граф имеет матрицу смежности и не имеет петель, на главной диагонали у него всегда стоят нули.

Например, орграф на рис. 2.3 можно задать такой таблицей инцидентности (табл. 2.1).

Таблица 2.1. Таблица инцидентности орграфа

 

Vi Xj
s t r u
V1 -1
V2 -1
V3 -1 -1

Его же можно задать матрицей B=

Поскольку ребра изначально не упорядочены, то, например, записывая сначала инцидентность ребра t (1-й столбец), потом ребра s (2-й столбец), получим матрицу с переставленными столбцами 1 и 2. Тогда при решении обратной задачи -восстановлении графа по его матрице инцидентности — можно получить граф лишь с точностью до изоморфизма. Поэтому в графах важно лишь отношение между вершинами (т. е. смежность), а их название и порядок не столь важны.

Граф, изображенный на рис. 2.18, задается таблицей инцидентности (табл. 2.2).

Таблица 2.2. Таблица инцидентности графа

    Xj
Х1 Х2 Х3 Х4 Х5 Х6 Х7 Х8 Х9 Х10
V1
V2
V3
V4
V5
V6

Рис. 2.18. Графическая интерпретация графа G, заданного табл. 2.2

Матрица инцидентности для него имеет вид

Этому же рисунку соответствуют таблица и матрица смежности (табл. 2.3).

Таблица 2.3. Таблица смежности графа G

 

Vi Vj
V1 V2 V3 V4, V5 V6
V1
V2
V3
V4
V5
V6

Граф с кратными ребрами (особенно орграф) сложно задать с помощью матрицы смежности. Сделаем это формально. Если граф неориентированный, то справедливо aij == aji. и равно кратности ребра (Vi, Vj). В частности, если i=j, то aijчисло петель при Vi. Недостаток подобного подхода заключается в том, что остается неучтенным взаимное расположение кратных ребер. Так, ребра могут переплетаться между собой, что, к сожалению, не отразится на матрице смежности.

Заметим, что для ориентированного графа данное определение графа без кратных ребер является частным случаем графа с кратными ребрами при кратности любого ребра, равной 1 или 0. Очевидно, что для двух вершин Vi и Vj (i¹j) существуют две принципиальные возможности:

если все ребра выходят из одной и входят в другую вершину

или если для каждой вершины существуют как входящие, так и исходящие ребра.

Пусть полная кратность ребра равна n, при этом из вершины Vi в вершину Vj исходят т £ п ребер, а из Vj в Vi исходят п - т ребер. Тогда в клетке aij напишем m, а в клетке aji напишем п - т. Если есть кратные петли, то все они связаны с одной вершиной Vi. Поэтому в клетке aii напишем кратность петли при Vi.

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

В матрицах инцидентности такой проблемы нет, так как наличие элемента вида -1 является критерием ориентированности графа. Для матрицы смежности несимметричность может являться достаточным условием ориентированности, но не критерием. Например, графу с матрицей смежности может соответствовать отрезок V1 V2 (и две вершины) — неориентированный граф или кольцо с двумя ребрами V = {( V1, V2); ( V2, V1)} — орграф. Это -существенный недостаток, и возник он как раз при попытке определения матрицы смежности для графа с кратными ребрами Поэтому для задания ориентированного графа с помощью матрицы смежности (если она получается симметричной) надо или указывать это отдельно, например Аор , или у любого элемента матрицы написать «-».

Задача 19.Пусть граф G задан матрицей смежности А. Построить диаграмму этого графа, если

 

Решение. Поскольку матрица А несимметрична (например a35¹a53) и указания на ориентированность нет, А не может яляться матрицей смежности реального графа.

Задача 20.Пусть граф G задан матрицей смежности А. Построить диаграмму этого графа, если

Решение. Диаграмму графа, имеющего шесть вершин, представим на рис. 2.19.

Любой ориентированный граф является бинарным отношением А под V, где V— множество вершин графа, а пары из X— ребра.

Для конечного числа V вершин отношение X можно представить тремя способами:

графически, т.е. диаграммой (рис. 2.19);

с помощью таблиц, в которых представлены 1 и 0;

с помощью матриц (в случае матриц смежности).

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

Рис. 2.19. Граф к задаче