Матрица смежности и матрица инцидентности графа

Пусть дан граф Матрица смежности и матрица инцидентности графа - student2.ru с множеством вершин Матрица смежности и матрица инцидентности графа - student2.ru и множеством рёбер Матрица смежности и матрица инцидентности графа - student2.ru

Матрица смежности графа Матрица смежности и матрица инцидентности графа - student2.ru – это матрица Матрица смежности и матрица инцидентности графа - student2.ru размера Матрица смежности и матрица инцидентности графа - student2.ru элементы которой определяются по формуле

Матрица смежности и матрица инцидентности графа - student2.ru

Матрица инцидентности графа Матрица смежности и матрица инцидентности графа - student2.ru – это матрица Матрица смежности и матрица инцидентности графа - student2.ru размера Матрица смежности и матрица инцидентности графа - student2.ru элементы которой определяются по формуле

Матрица смежности и матрица инцидентности графа - student2.ru

Следует отметить, что каждая из матриц Матрица смежности и матрица инцидентности графа - student2.ru Матрица смежности и матрица инцидентности графа - student2.ru определяет граф Матрица смежности и матрица инцидентности графа - student2.ru однозначно (с точностью до изоморфизма): графы, имеющие одинаковые матрицы Матрица смежности и матрица инцидентности графа - student2.ru (или Матрица смежности и матрица инцидентности графа - student2.ru изоморфны друг другу. Далее, перестановка строк или столбцов матрицы Матрица смежности и матрица инцидентности графа - student2.ru даёт граф, изоморфный первоначальному (это соответствует перенумерации вершин или рёбер графа Матрица смежности и матрица инцидентности графа - student2.ru ). Матрица Матрица смежности и матрица инцидентности графа - student2.ru симметрическая (т.е. Матрица смежности и матрица инцидентности графа - student2.ru или, другими словами, Матрица смежности и матрица инцидентности графа - student2.ru при любых Матрица смежности и матрица инцидентности графа - student2.ru ). На диагонали матрицы Матрица смежности и матрица инцидентности графа - student2.ru стоят нули ( Матрица смежности и матрица инцидентности графа - student2.ru ). Перестановка строк или столбцов матрицы Матрица смежности и матрица инцидентности графа - student2.ru вообще говоря, недопустима. Однако, можно делать синхронные перестановки строк и столбцов с одинаковыми номерами, т.е. переставлять между собой i-ю и j-ю строки, затем i-й и j-й столбец и т.д. – это соответствует перенумерации вершин графа.

Замечание. Для обобщённых графов (графов с петлями или кратными рёбрами) и для ориентированных графов также можно ввести понятие матрицы смежности и матрицы инцидентности. Тогда в матрице смежности могут появиться Матрица смежности и матрица инцидентности графа - student2.ru (у графов с кратными рёбрами), на диагонали могут быть элементы Матрица смежности и матрица инцидентности графа - student2.ru (у графов с петлями), у ориентированного графа матрица Матрица смежности и матрица инцидентности графа - student2.ru может не быть симметрической.

Упражнение 3.7. Построить матрицу смежности и матрицу инцидентности графа Матрица смежности и матрица инцидентности графа - student2.ru изображённого на рисунке 3.10.

Решение. Пусть вершины и рёбра занумерованы так, как показано на рисунке. Тогда по определению матриц Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru получаем:

Матрица смежности и матрица инцидентности графа - student2.ru Матрица смежности и матрица инцидентности графа - student2.ru Матрица смежности и матрица инцидентности графа - student2.ru

Можно заметить, что в каждой строке матрицы Матрица смежности и матрица инцидентности графа - student2.ru стоят ровно две единицы. Это общий факт, справедливый для любого графа. Он следует из того, что каждое ребро инцидентно ровно двум вершинам.

Отметим ещё ряд свойств матриц Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru Количество единиц в i-й строке матрицы Матрица смежности и матрица инцидентности графа - student2.ru (или, что то же самое, сумма элементов i-й строки) равна степени вершины:

Матрица смежности и матрица инцидентности графа - student2.ru

Кроме того, как уже отмечалось ранее,

Матрица смежности и матрица инцидентности графа - student2.ru

Двойные суммы сводятся к однократным следующим образом: Матрица смежности и матрица инцидентности графа - student2.ru Поэтому Матрица смежности и матрица инцидентности графа - student2.ru а значит,

Матрица смежности и матрица инцидентности графа - student2.ru (4)

Аналогично получаем, что Матрица смежности и матрица инцидентности графа - student2.ru

Упражнение 3.8. Построить граф Матрица смежности и матрица инцидентности графа - student2.ru по его матрице смежности

Матрица смежности и матрица инцидентности графа - student2.ru

Матрица смежности и матрица инцидентности графа - student2.ru Решение. Так как Матрица смежности и матрица инцидентности графа - student2.ru а остальные Матрица смежности и матрица инцидентности графа - student2.ru равны 0, то рёбрами соединяются лишь пары вершин 1-2 и 3-4. Мы получаем граф, изображённый на рисунке 3.11.

Этот граф несвязный, он имеет две компоненты связности: одна с вершинами 1, 2, другая – с вершинами 3, 4.

Матрица смежности и матрица инцидентности графа - student2.ru Упражнение 3.9. Изобразить граф, имеющий следующую матрицу инцидентности:

Матрица смежности и матрица инцидентности графа - student2.ru

Решение. По матрице Матрица смежности и матрица инцидентности графа - student2.ru мы определяем, что граф имеет 5 вершин и 4 ребра. Так как в 1-й строке матрицы единицы стоят на 1-й и 5-й позициях, то ребро Матрица смежности и матрица инцидентности графа - student2.ru соединяет вершины 1 и 5. Рассматривая остальные строки матрицы и рассуждая аналогично, мы получим граф, изображённый на рисунке 3.12.

Упражнение 3.10. Выяснить, существует ли граф со следующим набором степеней вершин:

(а) 1, 1, 1, 2, 2, 3, 3, 4; (б) 1, 1, 1, 2, 2, 2, 3, 4.

Решение. По формуле (4) Матрица смежности и матрица инцидентности графа - student2.ru т.е. Матрица смежности и матрица инцидентности графа - student2.ru Это невозможно, так как Р – целое число. Следовательно, графа с набором степеней вершин (а) не существует.

Для набора (б) получаем Матрица смежности и матрица инцидентности графа - student2.ru поэтому можно попробовать построить граф. Начинать, конечно, нужно с вершины степени 4, затем подрисовывать вершины и рёбра. Вершин должно быть 8, так как даны 8 степеней вершин. Попытки построить граф оказываются успешными, более того, найдены даже два таких графа: Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru – см. рис. 3.13. Графы Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru не изоморфны, например, ввиду того, что у графа Матрица смежности и матрица инцидентности графа - student2.ru вершина степени 3 инцидентна двум вершинам степени 1, а в графе Матрица смежности и матрица инцидентности графа - student2.ru это не так.

Матрица смежности и матрица инцидентности графа - student2.ru

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

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

Решение. Пусть Матрица смежности и матрица инцидентности графа - student2.ru – граф с Матрица смежности и матрица инцидентности графа - student2.ru вершинами. Тогда степени вершин могут принимать значения Матрица смежности и матрица инцидентности графа - student2.ru Этих чисел Матрица смежности и матрица инцидентности графа - student2.ru штук. Если все степени вершин различны, то для каждого Матрица смежности и матрица инцидентности графа - student2.ru существует вершина степени Матрица смежности и матрица инцидентности графа - student2.ru Значит, есть вершина Матрица смежности и матрица инцидентности графа - student2.ru степени 0 и есть вершина Матрица смежности и матрица инцидентности графа - student2.ru степени Матрица смежности и матрица инцидентности графа - student2.ru Так как Матрица смежности и матрица инцидентности графа - student2.ru то Матрица смежности и матрица инцидентности графа - student2.ru – изолированная вершина, она не соединена ребром ни с какой вершиной. А так как Матрица смежности и матрица инцидентности графа - student2.ru то вершина Матрица смежности и матрица инцидентности графа - student2.ru соединена со всеми остальными вершинами и, в частности, с вершиной Матрица смежности и матрица инцидентности графа - student2.ru Мы получили противоречие, а значит, графа с различными степенями всех вершин не существует.

Возникает естественный вопрос: как по матрице смежности или матрице инцидентности графа Матрица смежности и матрица инцидентности графа - student2.ru определить, является ли граф связным, и разбить его на компоненты связности? Ответ получить несложно: если матрицу Матрица смежности и матрица инцидентности графа - student2.ru синхронной перестановкой строк и столбцов можно превратить в блочную матрицу:

Матрица смежности и матрица инцидентности графа - student2.ru

где Матрица смежности и матрица инцидентности графа - student2.ru Матрица смежности и матрица инцидентности графа - student2.ru – квадратные матрицы, то граф несвязен. При этом блоки Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru являются матрицами смежности двух непересекающихся подграфов графа Матрица смежности и матрица инцидентности графа - student2.ru таких, что Матрица смежности и матрица инцидентности графа - student2.ru Продолжая делать синхронные перестановки строк и столбцов, мы в конце концов получим:

Матрица смежности и матрица инцидентности графа - student2.ru

где Матрица смежности и матрица инцидентности графа - student2.ru – квадратные матрицы, которые уже нельзя разложить на блоки (синхронной перестановкой строк и столбцов). В этом случае Матрица смежности и матрица инцидентности графа - student2.ru – матрицы смежности подграфов Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru – разложение графа Матрица смежности и матрица инцидентности графа - student2.ru на компоненты связности.

Приведём пример. Пусть

Матрица смежности и матрица инцидентности графа - student2.ru

матрица инцидентности графа Матрица смежности и матрица инцидентности графа - student2.ru Поставим второй и третий столбцы в конец матрицы, а затем то же сделаем со второй и третьей строками. Мы получим:

Матрица смежности и матрица инцидентности графа - student2.ru

Незаполненные участки матрицы состоят из нулей. Мы их не пишем, чтобы подчеркнуть блочный вид матрицы. Теперь ясно, что граф Матрица смежности и матрица инцидентности графа - student2.ru состоит из 3 компонент связности (см. рис. 3.14).

Матрица смежности и матрица инцидентности графа - student2.ru

Нумерация вершин на рисунке 3.14а соответствует новой матрице. На рисунке 14б приведён граф Матрица смежности и матрица инцидентности графа - student2.ru с первоначальной нумерацией вершин. Связь между двумя нумерациями видна из следующего преобразования: Матрица смежности и матрица инцидентности графа - student2.ru (столбцы и строки с номерами 2,3 отправляются в конец).

Степени матрицы смежности ( Матрица смежности и матрица инцидентности графа - student2.ru ) имеют интересный геометрический смысл. А именно, пусть Матрица смежности и матрица инцидентности графа - student2.ru Тогда Матрица смежности и матрица инцидентности графа - student2.ru равно количеству путей длины Матрица смежности и матрица инцидентности графа - student2.ru (т.е. из Матрица смежности и матрица инцидентности графа - student2.ru рёбер) из i-й вершины в j-ю. Приведём пример. Матрица Матрица смежности и матрица инцидентности графа - student2.ru является матрицей смежности графа Матрица смежности и матрица инцидентности графа - student2.ru изображённого на рисунке 3.15.

Матрица смежности и матрица инцидентности графа - student2.ru Возведём матрицу Матрица смежности и матрица инцидентности графа - student2.ru в квадрат. Получим: Матрица смежности и матрица инцидентности графа - student2.ru Так как Матрица смежности и матрица инцидентности графа - student2.ru то существуют ровно 2 пути длины 2 из вершины 2 в эту же вершину. Это 2-1-2 и 2-3-2.

Деревья и леса

Дерево – связный граф без циклов. Лес – произвольный граф без циклов.

Очевидно, связные компоненты леса являются деревьями. Необходимые и достаточные условия для графа “быть деревом” даёт следующая теорема.

Теорема.Связный граф является деревом в том и только том случае, если количества его вершин и рёбер связаны соотношением Матрица смежности и матрица инцидентности графа - student2.ru

Отметим ещё два свойства деревьев: 1) для любых вершин Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru дерева существует единственный путь из Матрица смежности и матрица инцидентности графа - student2.ru в Матрица смежности и матрица инцидентности графа - student2.ru 2) в любом дереве есть висячая вершина (если дерево имеет хотя бы одно ребро, то у него не менее двух висячих вершин).

Упражнение 3.12. Найти количество неизоморфных графов с 3 вершинами.

Решение. Если граф с 3 вершинами не имеет ни одного ребра, то он изоморфен Матрица смежности и матрица инцидентности графа - student2.ru Рассматривая далее случаи графов с 1, 2, 3 рёбрами, мы получим все неизоморфные графы с 3 вершинами – см. рис. 3.16. Их всего 4.

Матрица смежности и матрица инцидентности графа - student2.ru

Упражнение 3.13.Найти все (с точностью до изоморфизма) связные графы с 4 вершинами.

Матрица смежности и матрица инцидентности графа - student2.ru Решение. Пусть Матрица смежности и матрица инцидентности графа - student2.ru – граф с 4 вершинами. Понятно, что если рёбер два или меньше, то Матрица смежности и матрица инцидентности графа - student2.ru несвязен. Следовательно, возможное количество рёбер – это 3, 4, 5, 6. Граф с 6 рёбрами – полный, он изоморфен графу Матрица смежности и матрица инцидентности графа - student2.ru Несложный перебор оставшихся вариантов показывает, что графов, удовлетворяющих требуемым условиям, ровно 6. Они изображены на рис. 3.17.

Упражнение 3.14. Найти все (с точностью до изоморфизма) деревья с 5 вершинами.

Решение. Пусть Матрица смежности и матрица инцидентности графа - student2.ru – дерево с 5 вершинами. Понятно, что возможны ровно 3 следующих случая: а) все степени вершин не превосходят 2; б) есть вершина степени 3; в) есть вершина степени 4. В каждом из этих случаев имеется по одному дереву – см. рисунок 3.18.

Матрица смежности и матрица инцидентности графа - student2.ru

Существуют способы компактной записи (кодирования) деревьев. Из них мы рассмотрим два: двоичное (или бинарное) кодирование (т.е. составление кода из 0 и 1) и кодирование Прюфера (код из натуральных чисел).

Матрица смежности и матрица инцидентности графа - student2.ru При бинарном кодировании каждому дереву приписывается последовательность из 0 и 1 длины Матрица смежности и матрица инцидентности графа - student2.ru где Матрица смежности и матрица инцидентности графа - student2.ru – количество рёбер дерева. В этой последовательности ровно Матрица смежности и матрица инцидентности графа - student2.ru единиц и столько же нулей. Для составления кода представим себе, что граф представляет собой реку, по берегу которой мы совершаем её обход так, чтобы река оставалась всё время с одной стороны, для определённости будем считать, что слева. При проходе по ребру в первый раз в код записывается 0, а второй раз (по противоположному берегу) – пишется 1. На рисунке 3.19 показано на примере, как осуществляется бинарное кодирование.

Двоичное кодирование дерева неоднозначно. Оно зависит от выбора начала обхода, направления обхода, а также изображения дерева на плоскости. Далее, не всякая последовательность из Матрица смежности и матрица инцидентности графа - student2.ru единиц и Матрица смежности и матрица инцидентности графа - student2.ru нулей является бинарным кодом какого-нибудь дерева. Необходимое и достаточное условие существования дерева для данной двоичной последовательности даёт следующее утверждение.

Теорема. Пусть Матрица смежности и матрица инцидентности графа - student2.ru – последовательность, в которой Матрица смежности и матрица инцидентности графа - student2.ru нулей и Матрица смежности и матрица инцидентности графа - student2.ru единиц. Она является бинарным кодом некоторого дерева в том и только том случае, если в любом её начальном отрезке Матрица смежности и матрица инцидентности графа - student2.ru количество нулей не меньше количества единиц.

Например, последовательность 0011011100011 не является кодом никакого дерева (так как содержит начальный отрезок 00110111), а последовательность 00011010011011 является кодом дерева.

Декодирование (т.е. построение дерева по коду) можно осуществить, копируя процесс кодирования, т.е. восстанавливая “реку”, обход которой был совершён.

Упражнение 3.15. Построить дерево по его двоичному коду 00011010011011.

Решение показано на рисунке 3.20.

Матрица смежности и матрица инцидентности графа - student2.ru

Для построения кода Прюфера вначале следует занумеровать вершины дерева натуральными числами Матрица смежности и матрица инцидентности графа - student2.ru (произвольным образом). Далее поступаем так. Берём висячую вершину с наименьшим номером. Пусть это будет вершина с номером Матрица смежности и матрица инцидентности графа - student2.ru Она инцидентна единственной вершине, которая имеет номер, скажем, Матрица смежности и матрица инцидентности графа - student2.ru Тогда записываем Матрица смежности и матрица инцидентности графа - student2.ru в код и удаляем вершину Матрица смежности и матрица инцидентности графа - student2.ru с ребром Матрица смежности и матрица инцидентности графа - student2.ru после чего возвращаемся к началу алгоритма. Это делается до тех пор, пока не останется одно ребро. Длина кода получается равной Матрица смежности и матрица инцидентности графа - student2.ru где Матрица смежности и матрица инцидентности графа - student2.ru – количество вершин дерева.

Упражнение 3.16. Построить код Прюфера дерева, изображённого на рисунке 3.21.

Матрица смежности и матрица инцидентности графа - student2.ru Решение. Применим описанный выше алгоритм (см. рисунок 3. 22):

1) висячая вершина с наименьшим номером – 2; пишем 1, удаляем вершину 2 и ребро (1,2);

2) висячая вершина – 1; пишем 3, удаляем вершину 1 и ребро (1,3);

3) висячая вершина – 5; пишем 4, удаляем вершину 5 и ребро (4,5);

4) висячая вершина – 4; пишем 3, удаляем вершину 4 и ребро (4,3).

Получится код 1343.

Матрица смежности и матрица инцидентности графа - student2.ru

Декодирование кода Прюфера осуществляется следующим образом. Пусть дан код Матрица смежности и матрица инцидентности графа - student2.ru где Матрица смежности и матрица инцидентности графа - student2.ru Нарисуем на плоскости Матрица смежности и матрица инцидентности графа - student2.ru точек, занумерованных числами Матрица смежности и матрица инцидентности графа - student2.ru пока не соединённые друг с другом рёбрами. Далее рисуем рёбра одно за другим согласно следующему правилу:

1) находим Матрица смежности и матрица инцидентности графа - student2.ru – наименьшее число из множества Матрица смежности и матрица инцидентности графа - student2.ru которого нет в последовательности Матрица смежности и матрица инцидентности графа - student2.ru соединяем ребром вершины Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru

2) находим Матрица смежности и матрица инцидентности графа - student2.ru – наименьшее число из множества Матрица смежности и матрица инцидентности графа - student2.ru не встречающееся в последовательности Матрица смежности и матрица инцидентности графа - student2.ru соединяем ребром вершины Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru

3) находим Матрица смежности и матрица инцидентности графа - student2.ru – наименьшее число из множества Матрица смежности и матрица инцидентности графа - student2.ru не встречающееся в последовательности Матрица смежности и матрица инцидентности графа - student2.ru соединяем ребром вершины Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru

. . . . . . . . . . . .

Матрица смежности и матрица инцидентности графа - student2.ru находим Матрица смежности и матрица инцидентности графа - student2.ru – наименьшее число из множества Матрица смежности и матрица инцидентности графа - student2.ru не встречающееся в последовательности Матрица смежности и матрица инцидентности графа - student2.ru соединяем ребром вершины Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru

Матрица смежности и матрица инцидентности графа - student2.ru в последовательности Матрица смежности и матрица инцидентности графа - student2.ru отсутствуют ровно 2 числа из множества Матрица смежности и матрица инцидентности графа - student2.ru обозначим их Матрица смежности и матрица инцидентности графа - student2.ru и Матрица смежности и матрица инцидентности графа - student2.ru соединим соответствующие вершины.

Упражнение 3.17. Построить дерево по коду 1353.

Решение. Применим описанный выше алгоритм.

1) Так как длина кода равна 4, то дерево будет иметь 6 вершин. Нарисуем на плоскости точки 1,2,3,4,5,6.

2) Наименьшее число Матрица смежности и матрица инцидентности графа - student2.ru – это 2. Пишем его под 1: Матрица смежности и матрица инцидентности графа - student2.ru

3) Наименьшее число Матрица смежности и матрица инцидентности графа - student2.ru – это 1. Пишем его под 3: Матрица смежности и матрица инцидентности графа - student2.ru

4) Наименьшее число Матрица смежности и матрица инцидентности графа - student2.ru – это 4. Пишем его под 5: Матрица смежности и матрица инцидентности графа - student2.ru

5) Матрица смежности и матрица инцидентности графа - student2.ru Наименьшее число Матрица смежности и матрица инцидентности графа - student2.ru – это 5. Пишем его под 3: Матрица смежности и матрица инцидентности графа - student2.ru

6) Отсутствуют в последовательности 2145 числа 3 и 6.

Таким образом, в графе будут следующие рёбра: (1,2), (3,1), (5,4), (3,5), (3,6). Искомое дерево изображено на рисунке 3.23.

Замечание. В отличие от бинарного кода код Прюфера определяется деревом однозначно, если зафиксирована нумерация вершин дерева. Назовём дерево с заданной на нём нумерацией вершин помеченным деревом. Кодирование Прюфера определяет взаимно однозначное соответствие между помеченными деревьями и их кодами. Следовательно, число помеченных деревьев с Матрица смежности и матрица инцидентности графа - student2.ru вершинами (обозначим это число Матрица смежности и матрица инцидентности графа - student2.ru ) равно числу их кодов. Кодом является произвольная последовательность Матрица смежности и матрица инцидентности графа - student2.ru чисел, взятых из множества Матрица смежности и матрица инцидентности графа - student2.ru Таким образом, мы имеем:

Матрица смежности и матрица инцидентности графа - student2.ru (5)

Формула (5) называется формулой Кэли.

Циклы на графе

Наши рекомендации