Вы находитесь на странице: 1из 21

2.6.

ИЗОМОРФИЗМ ГРАФОВ

2.6.1. Понятие изоморфизма

Определение. Два графа 𝑮𝟏 =(𝑽𝟏 , 𝑬𝟏 ) и 𝑮𝟐 =(𝑽𝟐 , 𝑬𝟐 ) называются изоморфными (𝑮𝟏 ≌ 𝑮𝟐 ), если


между их множествами вершин и множествами ребер существуют взаимно-однозначные
соответствия :𝑽𝟏 𝑽𝟐 и :𝑬𝟏 𝑬𝟐 такие, что ((𝒆𝟏𝒊𝒋 (𝒗𝟏𝒊 , 𝒗𝟏𝒋 )𝑬𝟏 )  (𝒆𝟐𝒊,𝒋) (𝒗𝟐𝒊) , 𝒗𝟐𝒋))𝑬𝟐 ).
Но это определение можно сформулировать и по-другому.
Определение. Два графа 𝑮𝟏 =(𝑽𝟏 , 𝑬𝟏 ) и 𝑮𝟐 =(𝑽𝟐 , 𝑬𝟐 ) называются изоморфными (𝑮𝟏 ≌ 𝑮𝟐 ), если
между их множествами вершин существуют взаимно-однозначное соответствие, сохраняющее
инцидентность ребер, т.е. если существует :𝑽𝟏 𝑽𝟐 то ребро 𝒆𝟏𝒊𝒋 (𝒗𝟏𝒊 , 𝒗𝟏𝒋 )𝑬𝟏 ) тогда и только тогда,
когда ребро 𝒆𝟐𝒊,𝒋)(𝒗𝟐𝒊) , 𝒗𝟐𝒋))𝑬𝟐 .
Другими словами, изоморфизм – это отношение между графами, сохраняющее отношение
инцидентности с точностью до нумерации вершин.
Например, на рис. 35 изображены три графа, которые с геометрической точки зрения
совершенно различны (пересечение ребер, если оно не отмечено точкой, не является вершиной). Но
по существу они различаются лишь начертанием, а отношения инцидентности (при
соответствующем обозначении вершин и ребер) для них одинаковы.

Рис. 35. – Изоморфные графы

Для этих графов можно установить взаимно-однозначное соответствие (биекцию) между


вершинами, которое сохраняет отношение инцидентности. Т.е. если в одном графе вершины
связаны ребром, то в изоморфном графе соответствующие им вершины также связаны ребром.
Следовательно, для этих графов биекция будет иметь вид:

Очевидно, что матрица инцидентности определяет граф без петель с точностью до


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

2.6.2. Визуальное установление отсутствия изоморфизма


по геометрической реализации графов
Если буквально следовать определению, то нужно перебрать все биекции множества вершин
одного из них на множество вершин другого и для каждой из этих биекций проверить, является ли
она изоморфизмом. Для p вершин имеется p! биекций, и эта работа становится практически
невыполнимой уже для не очень больших p (например, 20! > 21018). Однако во многих случаях
бывает довольно легко установить, что два данных графа неизоморфны [10]. Для возможности
наличия изоморфизма у всех рассматриваемых графов должны совпадать следующие
характеристики, которые можно определить визуально:
 количество компонент связности;
 количество вершин;
 количество ребер;
 количество петель;
 количество изолированных вершин;
 количество висячих вершин;
 количество кратных ребер;
 количество циклов одинаковой длины.
Рассмотрим, например, графы, изображенные на рис. 36.

Рис. 36. – Неизоморфные графы

У всех этих графов одинаковое количество вершин (6), при этом у них у всех отсутствуют
изолированные и висячие вершины, петли, а также кратные ребра. Все эти графы связные, т.е. все
они имеют одну компоненту связности. Но общее количество ребер графа 𝑮𝟐 отличается от
остальных графов: у 𝑮𝟐 их семь, а у остальных графов по восемь. Следовательно, граф 𝑮𝟐 не может
быть изоморфным ни с одним из оставшихся графов, т.к. у него не сохраняется отношение
инцидентности, которое, возможно, удастся установить для остальных графов. В графах 𝑮𝟑 и 𝑮𝟒
присутствуют по два цикла длины «3»: ( 𝒗𝟑𝟐 , 𝒗𝟑𝟑 , 𝒗𝟑𝟒 , 𝒗𝟑𝟐 ) и ( 𝒗𝟑𝟐 , 𝒗𝟑𝟒 , 𝒗𝟑𝟓 , 𝒗𝟑𝟐 ) для графа 𝑮𝟑 и
( 𝒗𝟒𝟏 , 𝒗𝟒𝟐 , 𝒗𝟒𝟔 , 𝒗𝟒𝟏 ) и (𝒗𝟒𝟑 , 𝒗𝟒𝟒 , 𝒗𝟒𝟓 , 𝒗𝟒𝟑 ) для графа 𝑮𝟒 . В графе 𝑮𝟏 циклы длины «3» отсутствуют.
Следовательно, граф 𝑮𝟏 не может быть изоморфным графам 𝑮𝟑 и 𝑮𝟒 . Эти два графа также не
являются изоморфными, т.к. граф 𝑮𝟑 содержит два цикла длины «4»: ( 𝒗𝟑𝟐 , 𝒗𝟑𝟑 , 𝒗𝟑𝟒 , 𝒗𝟑𝟓 , 𝒗𝟑𝟐 ) и
(𝒗𝟑𝟐 , 𝒗𝟑𝟓 , 𝒗𝟑𝟔 , 𝒗𝟑𝟏 , 𝒗𝟑𝟐 ). В графе 𝑮𝟒 такой цикл только один: (𝒗𝟒𝟐 , 𝒗𝟒𝟑 , 𝒗𝟒𝟓 , 𝒗𝟒𝟔 , 𝒗𝟒𝟐 ).Эти результаты можно
свести в следующую таблицу:

Из всего вышесказанного следует, что никакие из рассмотренных на рис. 36 четырех графов


не являются изоморфными.

2.6.3. Установление изоморфизма графов по матрицам смежности


Теорема 2.10. Формулировка. Графы изоморфны тогда и только тогда, когда их матрицы
смежности можно получить одну из другой одновременными перестановками одноименных строк
и столбцов (т.е. одновременно с перестановкой i-той и j-той строк матрицы осуществляется и
перестановка i-того и j-того столбцов матрицы)
Доказательство. Перенумеруем вершины графов 𝑮𝟏 =(𝑽𝟏 , 𝑬𝟏 ) и 𝑮𝟐 =(𝑽𝟐 , 𝑬𝟐 )) (𝑽𝟏 =𝑽𝟐 =p)
целыми числами от 1 до p. Если 𝑨′ (𝑮𝟏 )=𝑨′′ (𝑮𝟐 ), то все доказано. В противном случае графы 𝑮𝟏 и
𝑮𝟐 отличаются только нумерацией вершин. Значит, существует такая подстановка S на множестве
вершин V, которая сохраняет смежность, т.е. если 𝒆𝟏𝒊𝒋 (𝒗𝟏𝒊 , 𝒗𝟏𝒋 )𝑬𝟏 , то 𝒆𝟐𝒔(𝒊,𝒋) (s(𝒗𝟏𝒊 ), s(𝒗𝟏𝒋 ))𝑬𝟐 . Тогда
имеем 𝒂′′ ′
𝒔(𝒊)𝒔(𝒋) =𝒂𝒊𝒋 . Теорема доказана.
Прежде чем устанавливать изоморфизм по матрицам смежности, следует проверить
совпадение характеристик обоих графов, которые можно установить по этим матрицам.
1. Матрицы должны иметь одинаковую размерность.
2. Сумма элементов одной матрицы должна совпадать с суммой элементов другой матрицы
(количество ребер в обоих графах должно быть одинаковым).
3. Количество ненулевых элементов на главной диагонали одной матрицы должно совпадать с
аналогичным показателем для второй матрицы (наличие и количество петель).
4. Количество нулевых столбцов и строк одной матрицы должны совпадать с
соответствующими показателями для второй матрицы (количество источников и стоков).
5. Количество одноименных нулевых строк и столбцов в одной матрице должно совпадать с
аналогичным их количеством во второй матрице (количество изолированных вершин).
6. Количество и значение элементов, превосходящих единицу, в одной матрице должно
совпадать с их количеством и значением во второй матрице (количество кратных ребер).
Если хотя бы одно из этих условий не выполняется, то графы не изоморфны. Если все условия
выполнены, то можно проводить дальнейшие исследования.
Пример 2.1. Пусть задан граф 𝑮𝟏 .

Необходимо построить изоморфный ему граф 𝑮𝟐 , которому будет соответствовать матрица


смежности А(𝑮𝟐 ), полученная из матрицы А(𝑮𝟏 ) перестановкой 4-х и 6-х строк и столбцов, а затем
3-х и 4-х строк и столбцов. Выписать полученный изоморфизм (биекцию).
Решение. Для необходимого построения следует определить матрицу смежности А(𝑮𝟏 ), а
затем выполнить с ней указанные преобразования. Матрица смежности для графа будет следующей:

С помощью указанных преобразований получаем:


Восстанавливая граф 𝑮𝟐 по его матрице смежности А(𝑮𝟐 ), получаем:

Биекция между вершинами для этих графов будет иметь вид:

Пример 2.2. Графы 𝑮𝟏 и 𝑮𝟐 заданы своими матрицами смежности А( 𝑮𝟏 ) и А( 𝑮𝟐 )


соответственно.
𝟎 𝟎 𝟎 𝟏 𝟏 𝟎 𝟎 𝟏 𝟏 𝟎 𝟎 𝟎
𝟎 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎
А(𝑮𝟏 ) = 𝟏 𝟎 𝟏 𝟏 𝟎 𝟎 , А(𝑮𝟐 ) = 𝟎 𝟎 𝟏 𝟏 𝟏 𝟎
𝟏 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏
𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏
(𝟎 𝟏 𝟎 𝟎 𝟏 𝟎) (𝟎 𝟏 𝟎 𝟏 𝟎 𝟎)
Определить, являются ли эти графы изоморфными. Если да, то выписать полученный изоморфизм
(биекцию).
Решение. Согласно теореме 2.10, графы являются изоморфными, если их матрицы можно
получить одна из другой с помощью указанных преобразований. Попробуем переставить 1-е и 6-е
строки и столбцы, затем 2-е и 3-и и, наконец, 2-е и 5-е. Получаем:
С помощью одновременной перестановки одноименных строк и столбцов мы преобразовали
матрицу смежности графа 𝑮𝟏 в матрицу смежности графа 𝑮𝟐 . Следовательно, по теореме 2.10, эти
графы являются изоморфными. Биекция между вершинами для этих графов будет иметь вид:

2.6.4. Установление изоморфизма графов по матрицам инцидентности


Теорема 2.11. Формулировка. Графы (орграфы) изоморфны тогда и только тогда, когда их
матрицы инцидентности можно получить одну из другой произвольными перестановками строк и
столбцов.
Доказательство. Перестановка любых двух строк или столбцов в матрице инцидентности
просто соответствует переназначению вершин и ребер одного и того же графа [11]. Следовательно,
если мы переставим местами любые строки матрицы инцидентности, это будет соответствовать
другой нумерации вершин. При этом всегда можно выписать соответствующую биекцию,
переводящую одну нумерацию в другую. Следовательно, полученные графы будут изоморфны.
Если переставить местами столбцы матрицы инцидентности, это будет соответствовать другой
нумерации ребер графа. Такая перестановка вообще не нарушает нумерации вершин.
Следовательно, любая вершина исходного графа будет переходить в вершину с тем же номером
полученного графа с сохранением отношения инцидентности между ними. Следовательно,
полученные графы также будут изоморфны. Теорема доказана.
Прежде чем устанавливать изоморфизм по матрицам инцидентности, следует проверить
совпадение характеристик обоих графов, которые можно установить по этим матрицам.
1. Матрицы должны иметь одинаковую размерность.
2. Количество нулевых столбцов одной матрицы должно совпадать с аналогичным показателем
для второй матрицы (наличие и количество петель).
3. Количество строк, все ненулевые значения которой равны +1 (или ( - 1)) одной матрицы
должны совпадать с соответствующими показателями для второй матрицы (количество
источников и стоков).
4. Количество нулевых строк в одной матрице должно совпадать с аналогичным их количеством
во второй матрице (количество изолированных вершин).
5. Количество одинаковых столбцов в одной матрице должно совпадать с их количеством во
второй матрице (количество кратных ребер).
Если хотя бы одно из этих условий не выполняется, то графы не изоморфны. Если все условия
выполнены, то можно проводить дальнейшие исследования.
Пример 2.3. Пусть задан граф 𝑮𝟏 из примера 2.1. Найти изоморфный ему граф 𝑮𝟐 , которому
будет соответствовать матрица инцидентности I(𝑮𝟐 ), полученная из матрицы I(𝑮𝟏 ) перестановкой
4-й и 6-й строк, 3-го и 4-го столбцов, а затем 1-й и 6-й строк и 2-го и 4го столбцов. Записать
соответствующий изоморфизм (биекцию).
Решение. Восстановим для этого графа матрицу инцидентности:

Теперь выполним с матрицей инцидентности I(𝑮𝟏 ) указанные преобразования:

Восстанавливая по матрице I(𝑮𝟐 ) граф 𝑮𝟐 , получаем:

Биекция для этих графов будет иметь вид:

Пример 2.4. Графы 𝑮𝟏 и 𝑮𝟐 заданы своими матрицами инцидентности I( 𝑮𝟏 ) и I( 𝑮𝟐 )


соответственно.
Определить, являются ли эти графы изоморфными. Если да, то выписать полученный изоморфизм
(биекцию).
Решение. Согласно теореме 2.11, графы изоморфны, если их матрицы инцидентности
получаются одна из другой произвольными перестановками строк и столбцов. Попробуем в матрице
I(𝑮𝟏 ) переставить 2-ю и 4-ю строки, 4-й и 8-й столбцы, 3-ю и 5-ю строки и 4-й и 6-й столбцы. В
результате получаем:

Биекция для вершин этих графов будет иметь вид:

2.6.5. Установление изоморфизма графов по степеням вершин


Итак, чтобы узнать, являются ли два графа изоморфными, нужно произвести все возможные
перестановки строк и столбцов матрицы одного из графов. Если после какой-нибудь перестановки
получится матрица второго графа, то эти графы изоморфны [12]. В общем случае узнать,
изоморфны ли два графа, достаточно сложно. Универсальным является алгоритм установления
изоморфизма по степеням вершин рассматриваемых графов. Этот алгоритм не зависит от способа
первоначального задания графа. Как было показано выше, при любом способе мы можем
подсчитать степени всех вершин как для ориентированного, так и для неориентированного графа.
Изоморфные графы должны иметь одинаковые наборы степеней [10]. Более того, вершины разной
степени соответствовать друг другу не могут, т.к. инцидентны разным количествам ребер (т.е. такое
соответствие не сохраняло бы инцидентность). Рассмотрим работу этого алгоритма на примере:
Пример 2.5. Пусть два графа заданы своими матрицами смежности:

Необходимо установить, изоморфны ли эти графы.


Решение. Сумма элементов матрицы смежности для графа G1 равна 15. Это значит, что у
первого графа 15 рёбер. Сумма элементов матрицы смежности графа G2 также равна 15. Значит, и у
второго графа 15 рёбер. Кратных рёбер, изолированных вершин, истоков и стоков у этих графов
нет. В обоих графах по 2 петли (одинаковое количество). Следовательно, изоморфизм возможен.
Выпишем все степени вершин для обоих графов:

G1 G2

+(v1)=4, -(v1)=3, (v1)=7; +(w1)=2, -(w1)=2, (w1)=4;


+(v2)=2, -(v2)=2, (v2)=4; +(w2)=1, -(w2)=2, (w2)=3;
+(v3)=3, -(v3)=3, (v3)=6; +(w3)=2, -(w3)=2, (w3)=4;
+(v4)=2, -(v4)=2, (v4)=4; +(w4)=3, -(w4)=3, (w4)=6;
+(v5)=3, -(v5)=3, (v5)=6; +(w5)=4, -(w5)=3, (w5)=7;
+(v6)=1, -(v6)=2, (v6)=3. +(w6)=3, -(w6)=3, (w6)=6.

Степени обоих графов (суммы степеней их вершин) равны 30. Это совпадает с удвоенным
количеством рёбер для обоих графов (лемма о рукопожатии). Значит, у нас устойчивые шансы, что
степени вершин посчитаны правильно. Далее смотрим, из чего состоит число 30 для обоих графов.
Если набор слагаемых разный, т.е. хотя бы одна вершина одного графа имеет степень, которую не
имеет ни одна вершина в другом графе, то на этом процесс исследования заканчивается ответом
«графы не изоморфны». Это связано с тем, что изоморфизм сохраняет отношение инцидентности.
Т.е., если вершина каким-то образом связана рёбрами с другими вершинами в исходном графе
(исходящая – входящая), то соответствующая ей вершина точно таким же образом должна быть
связана с соответствующими вершинами в итоговом графе. Т.е. степени соответствующих вершин
должны совпадать полностью, с учётом раскладки на + и -. Если итоговая степень какой-то
вершины в одном графе не имеет аналогов среди степеней вершин в другом графе, то никакую
вершину из другого графа не удастся поставить ей в соответствие.
В рассматриваемом примере у обоих графов степень графа состоит из одинаковых наборов
слагаемых: одной «7», двух «6», двух «4» и одной «3». Следовательно, изоморфизм по-прежнему
возможен. Далее начинаем устанавливать соответствие. Начинаем с тех вершин, которые
соответствуют единственным слагаемым. Степень «7» в первом графе имеет единственная вершина
𝒗𝟏𝟏 , а во втором – единственная вершина 𝒗𝟐𝟓 . Раскладка по полустепеням у них одинаковая: +=4 и
-=3. Если бы это было не так, процедура бы прервалась с ответом «графы не изоморфны». С
рассматриваемым примером мы продолжаем. В вершине 𝒗𝟐𝟓 , как и в вершине 𝒗𝟏𝟏 , есть петля. Значит,
между этими вершинами соответствие установлено. Степень «3» имеют вершины 𝒗𝟏𝟔 и 𝒗𝟐𝟐 .
Раскладка по полустепеням у них тоже одинаковая: +=1 и -=2. Петель эти вершины не имеют.
Значит, мы можем однозначно установить соответствие 𝒗𝟏𝟏  𝒗𝟐𝟓 и 𝒗𝟏𝟔  𝒗𝟐𝟐 . Степень «6» имеют
вершины 𝒗𝟏𝟑 , 𝒗𝟏𝟓 и 𝒗𝟐𝟒 , 𝒗𝟐𝟔 . Раскладка по степеням у всех четырёх вершин одинаковая: +=3 и -=3.
Если бы они были попарно разные (у одной пары, например, 4+2, а у другой – 2+4; или 5+1 и 1+5;
или у одной пары 3+3, а у другой 4+2 и т.д.), то соответствие между вершинами было бы очевидным.
В нашем примере помогает наличие петли. Она есть в вершинах 𝒗𝟏𝟑 и 𝒗𝟐𝟔 . В вершинах 𝒗𝟏𝟓 и 𝒗𝟐𝟒 её нет.
Поэтому мы можем однозначно установить соответствие 𝒗𝟏𝟑  𝒗𝟐𝟔 и 𝒗𝟏𝟓  𝒗𝟐𝟒 . Нам осталось
установить или опровергнуть соответствие между двумя парами вершин, имеющими степень «4»:
𝒗𝟏𝟐 , 𝒗𝟏𝟒 и 𝒗𝟐𝟏 , 𝒗𝟐𝟑 . Раскладка по степеням у всех четырёх вершин опять одинаковая: +=2 и -=2.
Никакими дополнительными свойствами (петля, кратные рёбра) эти вершины не обладают.
Следовательно, надо проверять инцидентность. Допустим, что имеет место соответствие 𝒗𝟏𝟐  𝒗𝟐𝟑
и 𝒗𝟏𝟒  𝒗𝟐𝟏 . В графе G1 из вершины 𝒗𝟏𝟐 выходят рёбра в вершины 𝒗𝟏𝟏 и 𝒗𝟏𝟓 . Вершинам 𝒗𝟏𝟏 и 𝒗𝟏𝟓
соответствуют вершины 𝒗𝟐𝟓 и 𝒗𝟐𝟒 . В графе G2 из вершины 𝒗𝟐𝟑 в вершины 𝒗𝟐𝟓 и 𝒗𝟐𝟒 рёбра не выходят.
Значит, это соответствие неверно. Проверим единственный оставшийся вариант соответствия:
𝒗𝟏𝟐  𝒗𝟐𝟏 и 𝒗𝟏𝟒  𝒗𝟐𝟑 . В графе G2 из вершины 𝒗𝟐𝟏 в вершины 𝒗𝟐𝟓 и 𝒗𝟐𝟒 рёбра выходят. В графе G1 в
вершину 𝒗𝟏𝟐 заходят рёбра из вершин 𝒗𝟏𝟒 и 𝒗𝟏𝟓 . Вершинам 𝒗𝟏𝟒 и 𝒗𝟏𝟓 соответствуют вершины 𝒗𝟐𝟑 и 𝒗𝟐𝟒 .
В графе G2 в вершину 𝒗𝟐𝟏 из вершин 𝒗𝟐𝟑 и 𝒗𝟐𝟒 рёбра заходят. Соответствие 𝒗𝟏𝟒  𝒗𝟐𝟑 проверяется
аналогично. Следовательно, соответствие 𝒗𝟏𝟐  𝒗𝟐𝟏 и 𝒗𝟏𝟒  𝒗𝟐𝟑 также однозначно установлено. Этот
процесс можно представить с помощью схемы, показанной на рис. 37.

Рис. 37. – Установление изоморфизма по степеням вершин

Таким образом, доказательством изоморфизма рассматриваемых графов служит


установленная биекция.

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

2.7. ДЕРЕВЬЯ И ЛЕС

2.7.1. Виды деревьев. Элементы дерева


Особый интерес представляет один простой и важный тип графов, отличающийся предельной
простотой строения [13].
Определение. Связные ациклические графы называются деревьями.
Неориентированные графы иногда называют свободными деревьями [16].
Определение. Произвольный (не обязательно связный) граф без циклов называется лесом.
Таким образом, деревья являются компонентами связности леса.
Очевидно, что лес может состоять из одной единственной компоненты связности. Таким
образом, дерево является частным случаем леса.
Определение. Ориентированный бесконтурный граф называется ориентированным деревом,
если у него полустепень захода любой вершины не превосходит единицу, и существует ровно одна
вершина, полустепень захода которой равна нулю. Эта единственная вершина называется корнем
ориентированного дерева. Обычно ее обозначают как 𝒗𝟎 [14].
Следует заметить, что корнем неориентированного дерева может служить любая его вершина.
Определение. Неориентированное (свободное) дерево, в качестве корня которого выбрана
произвольная вершина 𝒗𝒊 , называется подвешенным за вершину 𝒗𝒊 .
Всем ребрам неориентированного (свободного) дерева можно придать направление от корня к
следующим вершинам (рис. 38).
Определение. Дерево Т называется порожденным деревом 𝑻′ , если исходное дерево 𝑻′
является соотнесённым по отношению к дереву Т.
Например, на рис. 38б изображено ориентированное дерево Т. Можно считать, что оно
порождено своим соотнесённым деревом 𝑻′ (рис. 38а)

Рис. 38. – Порожденное дерево

Определение. Вершина 𝒗𝒊 ориентированного дерева называется потомком (подлинным


потомком) вершины 𝒗𝒋 , если существует путь из 𝒗𝒊 в 𝒗𝒋 (путь ненулевой длины из 𝒗𝒊 в 𝒗𝒋 ). В этом
же случае вершина 𝒗𝒋 называется предком (подлинным предком) вершины 𝒗𝒊 .
Определение. Если длина пути из 𝒗𝒊 в 𝒗𝒋 равна единице, то вершина 𝒗𝒊 называется сыном
вершины 𝒗𝒋 , а вершина 𝒗𝒋 называется родителем вершины 𝒗𝒊 .
Определение. Сыновья одного родителя называются братьями [3].
Определение. Вершина, не имеющая потомков, называется листом [14].

Рис. 39. – Дерево и его элементы

Все данные определения для ориентированного дерева проиллюстрированы на рис. 39.


Взаимно недостижимые вершины (например, вершины 𝒗𝟐 и 𝒗𝟗 ) такого дерева не являются ни
предком, на потомком одна для другой. Каждая вершина такого дерева будет сама для себя и
потомком, и предком, но не подлинным.
Форма представления дерева, показанная на рис. 39, является стандартной. В ней вершины
дерева распределены по уровням.
Определение. В ориентированном дереве уровень вершины 𝒗𝒊 – это длина пути от корня дерева
до этой вершины [15].
Определение. Высота ориентированного дерева – это длина самого длинного пути от корня
до листа.
Например, для графа на рис. 39 существует три значимых уровня. Уровень № 0 является
корневым, длина пути от единственной вершины этого уровня 𝒗𝟎 до корня дерева (т.е. до всё той
же вершины 𝒗𝟎 ) равна нулю. Для вершин уровня № 1 ( 𝒗𝟏 , 𝒗𝟐 и 𝒗𝟑 ) расстояние до корневой
вершины 𝒗𝟎 равно единице. Для вершин уровня № 2 (𝒗𝟒 , 𝒗𝟓 , 𝒗𝟔 , 𝒗𝟕 и 𝒗𝟖 ) расстояние до корневой
вершины 𝒗𝟎 равно двум. Для вершины уровня № 3 (𝒗𝟗 ) расстояние до корневой вершины 𝒗𝟎 равно
трем. Самый длинный путь от корня до листа в этом графе равен трем (номеру последнего уровня).
Следовательно, высота дерева Т на рис. 39 также равна трем.
При стандартном изображении ориентированного дерева направление дуг всегда должно идти
от вершин некоторого уровня к вершинам следующего за ним по номеру уровня, т.е. общее
направление дуг ориентированного дерева всегда расположено от корня к листьям.
Определение. Ориентированное дерево, у которого все вершины, кроме корня, являются
листами, называется кустом.
Например, если у дерева на рис. 39 выделить подграф, порожденный подмножеством вершин
𝑽′ ={𝒗𝟎 , 𝒗𝟏 , 𝒗𝟐 , 𝒗𝟑 }, то полученное дерево будет кустом.
Определение. Ориентированное дерево называется бинарным, если полустепень исхода любой
его вершины не превосходит двух [14].
Определение. Бинарное ориентированное дерево называется полным, если из любой его
вершины не являющейся листом, выходят ровно две дуги, а уровни всех листьев совпадают.

Рис. 40. – Бинарные деревья

Например, дерево на рис. 40а является полным, т.к. уровни всех листьев (вершин 𝒗𝟑 , 𝒗𝟒 , 𝒗𝟓 ,
𝒗𝟔 ) совпадают: все листья являются вершинами 2-го уровня. Из остальных вершин (𝒗𝟎 , 𝒗𝟏 , 𝒗𝟐 )
выходит ровно по две дуги. Дерево на рис. 40б является бинарным. У него из каждой вершины, не
являющейся листом (вершины 𝒗𝟎 , 𝒗𝟐 , 𝒗𝟒 , 𝒗𝟔 ), выходит ровно по две дуги. Но уровни листьев
(вершины 𝒗𝟏 , 𝒗𝟑 , 𝒗𝟓 ) различны. Следовательно, это бинарное дерево не является полным. У дерева
на рис. 40в уровни всех листьев (вершины 𝒗𝟔 , 𝒗𝟕 , 𝒗𝟖 , 𝒗𝟗 ) совпадают, но не из всех оставшихся
вершин выходит ровно по две дуги (полустепени исхода вершин 𝒗𝟎 , 𝒗𝟐 , 𝒗𝟑 равны единице).
Следовательно, это дерево, хоть и является бинарным, но также не является полным.
Лемма 2.2. Формулировка. В полном бинарном ориентированном дереве высоты h ровно 𝟐𝒉
листьев [14].
Доказательство. Проводить доказательство будем, используя индукцию по высоте дерева.
Действительно, ориентированное дерево нулевой высоты имеет 𝟐𝟎 =1 лист. Полное бинарное
ориентированное дерево единичной высоты имеет 𝟐𝟏 =2 листа. Пусть полное бинарное
ориентированное дерево имеет высоту m и, соответственно, 𝟐𝒎 листьев. Рассмотрим полное
бинарное ориентированное дерево высоты m+1. Т.к. в полном бинарном ориентированном дереве
уровни всех листьев совпадают, то очевидно, что ориентированное дерево высоты m+1 можно
получить из полного бинарного ориентированного дерева высоты m, если из каждого листа
последнего уровня провести ровно по две дуги. Тогда количество листьев в ориентированном
дереве высоты m+1 будет в два раза больше, чем в ориентированном дереве высоты m, т.е.
𝟐𝒎 2=𝟐𝒎+𝟏 . Лемма доказана.
Следствие. Формулировка. Произвольное бинарное дерево высоты m содержит не больше,
чем 𝟐𝒎 листьев.
Доказательство. Полный граф, в том числе и дерево, содержит максимально возможное
количество ребер. Следовательно, любой неполный граф получается из полного удалением
некоторого количества ребер. Это значит, что неполное бинарное дерево будет содержать строго
меньшее количество листьев, чем полное бинарное дерево. Таким образом, количество листьев
произвольного бинарного дерева ни при каких условиях не превысит величины 𝟐𝒎 . Следствие
доказано.
Доказанная лемма 2.2 вместе со следствием из нее дают очень важный результат.
Теорема 2.12 (о высоте бинарного ориентированного дерева с заданным количеством
листьев). Формулировка. Бинарное ориентированное дерево с n листьями имеет высоту, не
меньшую, чем 𝐥𝐨𝐠 𝟐 𝒏.
Доказательство. Согласно доказанному следствию из леммы 2.2, для количества листьев
произвольного бинарного дерева высоты h имеем соотношение n⩽𝟐𝒉 . Логарифмируя обе части
этого неравенства по основанию 2, имеем 𝐥𝐨𝐠 𝟐 𝒏⩽h, т.е. h⩾𝐥𝐨𝐠 𝟐 𝒏. Теорема доказана.
Этот результат широко используется при оценке времени работы алгоритмов.
Например, блок-схемы алгоритмов характеристики графов по матрицам смежности и
инцидентности, изображенные на рис. 8 и рис. 11, можно разбить на подзадачи, каждая из которых
решает вопрос о какой-то конкретной характеристике. Блок-схема каждой такой подзадачи будет
представлять собой неполное бинарное дерево.

2.7.2. Признаки дерева


Теорема 2.13 (первый критерий дерева). Формулировка. Связный граф является деревом
тогда и только тогда, когда любые две его вершины соединены только одной цепью [4].
Доказательство. Необходимость. Пусть граф является деревом. Если допустить
существование больше, чем одной цепи, которая соединяет любые две его вершины, то в таком
графе существует цикл, т.е. граф не может быть деревом.
Достаточность. Поскольку произвольные две вершины графа соединены цепью, то такой
граф является связным. В силу того, что эта цепь единственна, рассматриваемый граф не имеет
циклов. Следовательно, этот граф является связным ацикличным, т.е. (по определению) он является
деревом. Теорема доказана.
Следствие 1. Если Т – дерево и 𝒗𝒊 – его висячая вершина (лист), то граф Т∖{𝒗𝒊 } – тоже дерево.
Доказательство. Действительно, граф Т∖{𝒗𝒊 } является подграфом дерева Т, для которого
выполняются все условия теоремы 2.13. Следовательно, этот подграф также является деревом.
Следствие 1 доказано.
Следствие 2. В дереве Т каждое ребро является мостом.
Доказательство. Рассмотрим произвольное ребро 𝒆(𝒗𝒊 , 𝒗𝒋 ) дерева Т. В силу того, что любые
две вершины 𝒗𝒊 и 𝒗𝒋 связаны только одной единственной цепью, то удаление ребра 𝒆(𝒗𝒊 , 𝒗𝒋 )
приведет к разрыву этой цепи и получению двух различных компонент связности, одна из которых
будет содержать вершину 𝒗𝒊 , а вторая – вершину 𝒗𝒋 . Таким образом, после удаления ребра 𝒆(𝒗𝒊 , 𝒗𝒋 )
граф Т перестанет быть связным. Следовательно, это ребро является мостом. Следствие 2
доказано.
Следствие 3. Добавление одного нового ребра в дерево приводит к образованию одного цикла.
Доказательство. Любые две вершины 𝒗𝒊 и 𝒗𝒋 дерева Т уже связаны одной единственной
цепью. Пусть вершины 𝒗𝒊 и 𝒗𝒋 несмежные. Если ввести в дерево Т ребро 𝒆(𝒗𝒊 , 𝒗𝒋 ), соединяющее эти
две вершины (т.е. делающее их смежными), то цепь, их соединяющая, замыкается этим ребром и
становится циклом. Если бы при этом существовал еще один цикл, содержащие ребро 𝒆(𝒗𝒊 , 𝒗𝒋 ), то
это противоречило бы тому, что вершины 𝒗𝒊 и 𝒗𝒋 связаны единственной цепью. Если же вершины
𝒗𝒊 и 𝒗𝒋 смежные, то они уже соединены ребром 𝒆(𝒗𝒊 , 𝒗𝒋 ). Добавление еще одного такого же ребра
делает эти ребра кратными. А наличие кратных ребер – это уже наличие цикла. Следовательно,
добавление в дерево одного ребра приводит к образованию ровно одного цикла. Следствие 3
доказано.
Теорема 2.14 (второй критерий дерева). Формулировка. Связный граф Т является деревом
тогда и только тогда, когда его количество вершин p и ребер q связаны соотношением 𝒒=𝒑 − 𝟏 [15].
Доказательство. Необходимость. Возьмем две вершины графа (например, вершины 𝒗𝟏 и 𝒗𝟐 ).
Для их связи необходимо ровно одно ребро. Для связи каждой последующей вершины с уже
построенным деревом также потребуется ровно одно ребро. Следовательно, для связи p вершин
необходимо ровно 𝒑 − 𝟏 ребро.
Достаточность. Если граф Т содержит цикл, содержащий ребро 𝒆(𝒗𝒊 , 𝒗𝒋 ), то по теореме 2.13
существуют два пути из вершины 𝒗𝒊 в вершину 𝒗𝒋 . Таким образом, ребро 𝒆(𝒗𝒊 , 𝒗𝒋 ) можно из цикла
удалить, а путь из вершины 𝒗𝒊 в вершину 𝒗𝒋 останется. Пусть 𝒗𝒂 и 𝒗𝒃 – произвольные вершины в
графе Т. В силу того, что этот граф связный, существует путь из 𝒗𝒂 в 𝒗𝒃 . Если ребро 𝒆(𝒗𝒊 , 𝒗𝒋 ) входит
в этот путь, то после его удаления путь из 𝒗𝒂 в 𝒗𝒃 все равно будет существовать, т.к. вместо ребра
𝒆(𝒗𝒊 , 𝒗𝒋 ) существует альтернативный путь из вершины 𝒗𝒊 в вершину 𝒗𝒋 . Если после удаления ребра
𝒆(𝒗𝒊 , 𝒗𝒋 ) оставшийся граф будет содержать еще какой-то цикл, то описанная процедура будет
повторяться до тех пор, пока не будут удалены все циклы графа Т. В результате будет получен
связный ацикличный граф 𝑻′ . По определению граф 𝑻′ будет деревом. В процессе ликвидации
циклов по описанной процедуре ни одна из вершин не была удалена. Поэтому, как следует из
доказанной необходимости, дерево 𝑻′ будет содержать 𝒒′ =𝒑 − 𝟏 ребро. Отсюда следует, что 𝒒 =
𝒒′ , т.е. количество ребер исходного графа совпадает с количеством ребер полученного графа. Это
значит, что ни одно ребро не было удалено. Следовательно, исходный граф Т – дерево. Теорема
доказана.
Таким образом, 𝒒=𝒑 − 𝟏 - это минимальное количество ребер, необходимое для того, чтобы
граф был связным.
Следствие. Формулировка. Лес из k деревьев, содержащий p вершин, имеет ровно 𝒑 − 𝒌 ребер.
Доказательство. Каждое дерево из рассматриваемого леса содержит 𝒑𝒊 , i=𝟏, 𝒌, вершин и
𝒒𝒊 , i=𝟏, 𝒌, ребер. При этом весь лес состоит из 𝒑 = ∑𝒌𝒊=𝟏 𝒑𝒊 вершин и 𝒒 = ∑𝒌𝒊=𝟏 𝒒𝒊 ребер. В силу того,
что каждая компонента связности леса является деревом, справедлива формула 𝒒𝒊 = 𝒑𝒊 − 𝟏 .
Следовательно,
𝒌 𝒌

𝒒 = ∑ 𝒒𝒊 = ∑ 𝒑𝒊 − 𝒌 = 𝒑 − 𝒌.
𝒊=𝟏 𝒊=𝟏

Следствие доказано.
Сказанное иллюстрируется на примере дерева (рис. 41а), содержащего 𝒑 = 𝟏𝟏 вершин и
q = 11 – 1 = 10 ребер. Это дерево превращается в циклический граф добавлением ребра (рис. 41б) и
распадается на лес из двух деревьев Т1 и Т2 при удалении ребра е (рис. 41в).
Рис. 41. – Критерии дерева

2.7.3. Покрывающие деревья


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

Рис. 42. – Деревья графа

Пусть произвольный граф состоит из k компонент связности.


Определение. Коцикломатическое число графа отражает количество ребер в остовах всех k
компонент связности графа [9]. Оно рассчитывается по формуле:
𝒓(𝑮) = 𝒑 − 𝒌. (2.2)
До сих пор деревья рассматривались как минимальные связные графы на множестве p вершин.
Важное значение имеет и другая точка зрения, когда деревья или лес являются частями некоторого
графа, т.е. образуются из его ребер [1].
Описанная в ходе доказательства теоремы 2.13 процедура позволяет построить из любого
графа G некоторый его подграф – дерево 𝑻′ .
Определение. Цикломатическое число графа показывает, сколько ребер надо удалить из графа,
чтобы в нем не осталось ни одного цикла [9].
Другими словами, цикломатическое число показывает, сколько ребер надо удалить из графа,
чтобы построить его остовный лес.
Теорема 2.15 (о цикломатическом числе графа). Формулировка. Количество ребер
произвольного неориентированного графа G, которые необходимо удалить для получения остова,
не зависит от последовательности их удаления и рассчитывается по формуле [13]:
𝝈(𝑮) = 𝒒 − 𝒑 + 𝒌. (2.3)
Доказательство. Рассмотрим i-ю компоненту связности 𝑮𝒊 графа G. Пусть 𝑮𝒊 содержит 𝒑𝒊
вершин. Тогда остов 𝑻𝒊 графа 𝑮𝒊 , являясь деревом, содержит 𝒒𝒊 − 𝟏 ребро. Следовательно, для
получения 𝑻𝒊 из компоненты 𝑮𝒊 необходимо удалить 𝒒𝒊 − (𝒑𝒊 − 𝟏) ребро. Просуммировав
удаляемые ребра по всем компонентам связности, получаем:
𝒌 𝒌 𝒌

∑ 𝒒𝒊 = 𝒒, ∑ 𝒑𝒊 = 𝒑, ∑(𝒒𝒊 − 𝒑𝒊 + 𝟏) = 𝒒 − 𝒑 + 𝒌.
𝒊=𝟏 𝒊=𝟏 𝒊=𝟏
Теорема доказана.
Из теоремы 2.15 существуют очевидные следствия [4].
Следствие 1. Неориентированный граф G является лесом тогда и только тогда, когда 𝝈(𝑮)=0.
Следствие 2. Неориентированный граф G имеет единственный цикл тогда и только тогда,
когда 𝝈(𝑮)=1.
Следствие 3.Неориентированный граф, у которого количество ребер не меньше количества
вершин, имеет цикл.
Следствие 4. Формулировка. Любое дерево, содержащее не меньше двух вершин, имеет по
крайней мере две висячие вершины и по крайней мере одно висячее ребро.
Доказательство. Из леммы 2.1 (о рукопожатии) и теоремы 2.14 (второго признака дерева)
следует, что сумма всех степеней вершин дерева равна 𝟐(𝒑 − 𝟏) и каждая степень при этом больше
нуля (дерево не может содержать изолированные вершины). Это значит, что хотя бы два числа из
всех степеней вершин дерева раны единице. Таким образом, по крайней мере две вершины дерева
имеют единичную степень, т.е. являются висячими. Если эти вершины не смежные (это происходит
в случае, когда дерево имеет строго больше двух вершин), то к этим вершинам инцидентны разные
ребра, и, следовательно, дерево имеет больше одного висячего ребра. В случае, когда дерево имеет
ровно две вершины, они обе являются висячими, и их соединяет одно ребро, инцидентное им обеим.
Таким образом, в этом случае дерево имеет одно единственное ребро, которое и является висячим.
Следствие 4 доказано.
В теории электрических цепей цикломатическое и коцикломатическое числа имеют прямой
физический смысл. Цикломатическое число равно наибольшему количеству независимых контуров
в графе электрической цепи, т.е. наибольшему количеству независимых круговых токов, которые
могут протекать в цепи. Коцикломатическое число равно наибольшему количеству независимых
разностей потенциалов между узлами электрической цепи [2].
Теорема 2.16. Формулировка. Любой ацикличный подграф произвольного конечного графа
G(V, E) является подграфом его остова T [4].
Доказательство. Пусть 𝑻′ (𝑽′ , 𝑬′ ) – ацикличный подграф графа G. Достаточно рассмотреть
ситуацию, когда G связный. Допустим, что 𝑻′ - несвязный и К – одна из его компонент связности.
Тогда в G существует такое ребро 𝒆(𝒗𝒊 , 𝒗𝒋 ), что 𝒗𝒊 𝑽𝑲 , а 𝒗𝒋 𝑽′ ∖𝑽𝑲 , где 𝑽𝑲 – множество вершин
графа К. В этом случае граф 𝑻′ + 𝒆(𝒗𝒊 , 𝒗𝒋 ) – ацикличный подграф графа G, который имеет меньше
компонент связности, чем 𝑻′ . Повторяя это построение дальше, мы в конце концов придем к
остовному дереву Т графа G, которое содержит 𝑻′ в качестве подграфа.
Пусть теперь 𝑻′ связный, но не является остовом графа G (𝑻′ T). Т.к. 𝑻′ - связный ацикличный
граф, он является деревом. В силу того, что 𝑻′ T, в G существует вершина 𝒗𝒊 𝑽′ (т.е. не является
вершиной подграфа 𝑻′ ) и в G существует ребро 𝒆(𝒗𝒊 , 𝒗𝒋 ), которое соединяет вершину 𝒗𝒊 с одной из
вершин подграфа 𝑻′ (с вершиной 𝒗𝒋 ). Тогда граф 𝑻′ + 𝒆(𝒗𝒊 , 𝒗𝒋 ) представляет собой дерево, для
которого 𝑻′ является подграфом. Если 𝑻′ + 𝒆(𝒗𝒊 , 𝒗𝒋 ) – остовное дерево для графа G, то теорема
доказана. В противном случае описанная процедура построения повторяется до тех пор, пока не
будет получено остовное дерево Т, для которого 𝑻′ будет подграфом.
В случае, когда 𝑻′ уже является остовным деревом для G, теорема также справедлива. Теорема
доказана.
Теорема 2.17. Формулировка. Если 𝑻𝟏 и 𝑻𝟐 – два остова графа G, то для любого ребра 𝒆𝟏
остова 𝑻𝟏 существует такое ребро 𝒆𝟐 остова 𝑻𝟐 , что граф 𝑻𝟑 =(𝑻𝟏 ∖{𝒆𝟏 })+𝒆𝟐 также является остовом
графа G [5].
Доказательство. Будем считать, что граф G является связным. В соответствии со следствием 2
из теоремы 2.13 (первого критерия дерева), каждое ребро дерева является мостом. Т.к. по условию
теоремы 𝑻𝟏 – дерево, то граф 𝑻𝟏 ∖{𝒆𝟏 } будет иметь две компоненты связности: 𝑻′𝟏 и 𝑻′′ 𝟏 . Т.к. граф 𝑻𝟐
является связным, то в нем существует ребро 𝒆𝟐 , одна из граничных вершин которого принадлежит
компоненте 𝑻′𝟏 , а вторая – компоненте 𝑻′′
𝟏 . Таким образом, граф 𝑻𝟑 =(𝑻𝟏 ∖{𝒆𝟏 })+𝒆𝟐 является связным,
и количество его ребер совпадает с количеством ребер дерева 𝑻𝟏 . Следовательно, граф 𝑻𝟑 также
является деревом. Таким образом, 𝑻𝟑 - остов графа G. Теорема доказана.
Определение. Ребра графа, которые принадлежат его остову, называются ветвями [1].
Если дерево T является остовом графа G, то множество ребер графа G разбивается на два
подмножества: подмножество ветвей и подмножество ребер дополнения дерева Т до графа G.
Определение. Множество ребер графа G, которые составляют дополнение его остова Т до
графа G, называются хордами.
При этом связный граф G содержит r = p – 1 ветвей и  = q – p + 1 хорд. Если граф несвязный,
то то количество ветвей будет равно r = p – k, а количество хорд будет равно  = q – p + k. Легко
видеть, что количество ветвей равно коцикломатическому числу, а количество
хорд - цикломатическому числу графа.
Таким образом, для заданного графа G, содержащего р вершин и q ребер, процесс
формирования дерева можно организовать поочередным рассмотрением ребер двумя способами:
 очередное ребро графа относится к дереву, если оно не образует цикла с уже выбранной
совокупностью ветвей, до тех пор, пока не получится р – 1 ветвь, составляющих дерево;
 очередное ребро удаляется из графа, если оно образует контур с оставшимися ребрами, до тех
пор, пока не будет удалено q – p+1 хорда, составляющие дополнение (остальные р – 1 ребро
служат ветвями).
Пусть Т – остовный лес графа G. Если в лес Т ввести произвольное ребро графа G? которое в
Т не входит, то в соответствии со следствием 3 из теоремы 2.13 (первого критерия дерева) получим
единственный цикл.
Определение. Множество всех циклов графа G, полученных путем введения в лес Т каждого
отдельного ребра графа G, которое не входит в Т, называется фундаментальной системой циклов
графа G, ассоциированной с остовом Т [4].
Например, для графа на рис. 42а фундаментальная система циклов, ассоциированная с его
остовом на рис. 42в, представлена на рис. 43.

Рис. 43. – Фундаментальная система циклов графа G,


ассоциированная с остовом Т

2.7.4. Количество деревьев


С увеличением количества вершин количество различных деревьев резко возрастает.
Теорема 2.18 (теорема Кэли). Формулировка. Количество различных деревьев, которые
можно построить на p вершинах, выражается формулой [5]:
𝒕𝒑 = 𝒑𝒑−𝟐 . (2.4)
В теореме Кэли, по сути, речь идет о всех возможных остовах полного графа 𝑲𝒑 . Например,
для полного графа 𝑲𝟔 (полного шестиугольника на рис. 4) таких остовов существует 𝒕𝟔 = 𝟔𝟔−𝟐 =
𝟔𝟒 = 𝟏𝟐𝟗𝟔. Но рассматривать их все с практической точки зрения совершенно нецелесообразно.
Многие из них отличаются друг от друга исключительно нумерацией вершин.
Определение. Деревья считаются существенно различными, если они не изоморфны [1].
Таким образом, если пренебречь нумерацией вершин и ребер и рассматривать исключительно
геометрическую реализацию деревьев, построенных на шести вершинах, то существенно
различными будут деревья, представленные на рис. 44.

Рис. 44. – Существенно различные деревья с шестью вершинами

Среди существенно различных деревьев выделяются два важных частных случая:


последовательное дерево (рис. 44а), представляющее собой простую цепь, и звездное дерево
(рис. 44е), в котором одна из вершин (центр) является смежной со всеми остальными вершинами.
Однако, когда речь идет не о произвольном дереве с заданным количеством вершин р, а об
остове конкретного графа, то количество возможных вариантов существенно сокращается. Это
происходит за счет того, что любой граф с заданным количеством вершин р является подграфом
полного графа 𝑲𝒑 . Таким образом, не все ребра полного графа содержатся в множестве ребер
исследуемого графа. Следовательно, количество ребер, допустимых к использованию для
построения дерева с заданным количеством вершин р, для каждого конкретного графа меньше, чем
для графа 𝑲𝒑 . Поэтому остовы неполных графов зачастую возможно перечислить и исследовать.
Ответ на вопрос об их количестве для каждого конкретного графа дает следующая теорема.
Теорема 2.19. Формулировка. Пусть G – неориентированный (свободный) граф без петель
(мультиграф), имеющий p вершин. Пусть B – матрица инцидентности графа 𝑮′ , полученного из G
путем придания одного из возможных направлений каждому его ребру. Тогда 𝑩𝟎 – его матрица,
полученная из B удалением какой-то одной любой ее строки (т.е. содержащая 𝒑 − 𝟏 независимую
строку), а 𝑩𝑻𝟎 – транспонированная матрица к 𝑩𝟎 . Тогда определитель 𝑩𝟎 𝑩𝑻𝟎  равен количеству
различных остовных деревьев графа G [2].
Пример 2.6. Найти все остовные деревья для графа, заданного на рис. 45а.

Рис. 45. – Граф и одна из его возможных ориентаций

Решение. Превратим граф G в ориентированный, присвоив каждому его ребру одно из двух
возможных направлений. Полученный граф изображен на рис. 45б. Матрица инцидентности для
этого графа имеет вид:
Для получения матрицы 𝑩𝟎 удалим из матрицы B, например, 1-ю строку. Тогда матрицы 𝑩𝟎 , 𝑩𝑻𝟎 и
их произведение имеют вид:

Теперь найдем определитель матрицы 𝑩𝟎 𝑩𝑻𝟎 .

Следовательно, для графа на рис. 45а можно построить 15 различных остовных деревьев. Все они
показаны на рис. 46.
Рис. 46. – Все остовы графа G

Однако не все эти остовы различны существенно. Например, изоморфными между собой будут
деревья №№ 1 – 6, №№ 7 – 8, №№ 10 – 11, №№ 12 – 15.
Если же учитывать выбранную ориентацию дуг т.е. исследовать остовы графа 𝑮′ , то
указанный изоморфизм нарушается. Более того, не все 15 указанных деревьев смогут служить
остовами графа 𝑮′ . В качестве остовных деревьев для графа 𝑮′ подойдут только деревья №№ 1, 6,
7, 9, 11, 12, 13, 15. При этом корневой вершиной 𝒗𝟎 для каждого конкретного остова могут служить
разные вершины графа. Эти ориентированные остовы с однозначно определяемой для каждого из
них корневой вершиной представлены на рис. 47.

Рис. 47. – Ориентированные остовы графа 𝑮′

Перерисуем эти остовные деревья в стандартной форме (рис. 48).


Рис. 48. – Стандартная форма остовов графа 𝑮′

Из приведенной геометрической реализации этих остовов становится очевидным, что остовы


№ 7 и № 13 являются изоморфными. Биекция, которая доказывает их изоморфизм, имеет вид:

Теорема 2.18 для вычисления количества остовных деревьев графа использует матрицу
инцидентности. Однако, этот же результат можно получить и с использованием другой матрицы.
Теорема 2.20 (теорема Трента). Формулировка. Для графа G, содержащего р вершин,
построим квадратную матрицу Трента порядка р следующим образом: элементы главной диагонали
равны степеням соответствующих вершин. Элементы 𝒂𝒊𝒋 и 𝒂𝒋𝒊 равны взятому со знаком «минус»
количеству ребер, связывающих вершины 𝒗𝒊 и 𝒗𝒋 . Количество остовов графа G равно любому из
главных миноров этой матрицы.
Пример 2.7. Рассмотрим граф G из примера 2.6. Построим для него матрицу Трента.

Найдем для этой матрицы, например, минор 𝑴𝟏𝟏 :


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

Вам также может понравиться