Академический Документы
Профессиональный Документы
Культура Документы
ИЗОМОРФИЗМ ГРАФОВ
У всех этих графов одинаковое количество вершин (6), при этом у них у всех отсутствуют
изолированные и висячие вершины, петли, а также кратные ребра. Все эти графы связные, т.е. все
они имеют одну компоненту связности. Но общее количество ребер графа 𝑮𝟐 отличается от
остальных графов: у 𝑮𝟐 их семь, а у остальных графов по восемь. Следовательно, граф 𝑮𝟐 не может
быть изоморфным ни с одним из оставшихся графов, т.к. у него не сохраняется отношение
инцидентности, которое, возможно, удастся установить для остальных графов. В графах 𝑮𝟑 и 𝑮𝟒
присутствуют по два цикла длины «3»: ( 𝒗𝟑𝟐 , 𝒗𝟑𝟑 , 𝒗𝟑𝟒 , 𝒗𝟑𝟐 ) и ( 𝒗𝟑𝟐 , 𝒗𝟑𝟒 , 𝒗𝟑𝟓 , 𝒗𝟑𝟐 ) для графа 𝑮𝟑 и
( 𝒗𝟒𝟏 , 𝒗𝟒𝟐 , 𝒗𝟒𝟔 , 𝒗𝟒𝟏 ) и (𝒗𝟒𝟑 , 𝒗𝟒𝟒 , 𝒗𝟒𝟓 , 𝒗𝟒𝟑 ) для графа 𝑮𝟒 . В графе 𝑮𝟏 циклы длины «3» отсутствуют.
Следовательно, граф 𝑮𝟏 не может быть изоморфным графам 𝑮𝟑 и 𝑮𝟒 . Эти два графа также не
являются изоморфными, т.к. граф 𝑮𝟑 содержит два цикла длины «4»: ( 𝒗𝟑𝟐 , 𝒗𝟑𝟑 , 𝒗𝟑𝟒 , 𝒗𝟑𝟓 , 𝒗𝟑𝟐 ) и
(𝒗𝟑𝟐 , 𝒗𝟑𝟓 , 𝒗𝟑𝟔 , 𝒗𝟑𝟏 , 𝒗𝟑𝟐 ). В графе 𝑮𝟒 такой цикл только один: (𝒗𝟒𝟐 , 𝒗𝟒𝟑 , 𝒗𝟒𝟓 , 𝒗𝟒𝟔 , 𝒗𝟒𝟐 ).Эти результаты можно
свести в следующую таблицу:
G1 G2
Степени обоих графов (суммы степеней их вершин) равны 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.
Следует заметить, что иногда инцидентность может сохраняться и при нескольких вариантах
соответствия (для тех вершин, которые имеют одинаковые общие степени, одинаковую раскладку
по степеням и одинаковые, если они есть, свойства). В этом случае ответом могут служить
несколько вариантов биекций, отличающиеся по некоторым вершинам. Для доказательства
изоморфизма достаточно установить хотя бы одну из них.
Например, дерево на рис. 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, можно разбить на подзадачи, каждая из которых
решает вопрос о какой-то конкретной характеристике. Блок-схема каждой такой подзадачи будет
представлять собой неполное бинарное дерево.
𝒒 = ∑ 𝒒𝒊 = ∑ 𝒑𝒊 − 𝒌 = 𝒑 − 𝒌.
𝒊=𝟏 𝒊=𝟏
Следствие доказано.
Сказанное иллюстрируется на примере дерева (рис. 41а), содержащего 𝒑 = 𝟏𝟏 вершин и
q = 11 – 1 = 10 ребер. Это дерево превращается в циклический граф добавлением ребра (рис. 41б) и
распадается на лес из двух деревьев Т1 и Т2 при удалении ребра е (рис. 41в).
Рис. 41. – Критерии дерева
∑ 𝒒𝒊 = 𝒒, ∑ 𝒑𝒊 = 𝒑, ∑(𝒒𝒊 − 𝒑𝒊 + 𝟏) = 𝒒 − 𝒑 + 𝒌.
𝒊=𝟏 𝒊=𝟏 𝒊=𝟏
Теорема доказана.
Из теоремы 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.
Решение. Превратим граф 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.
Теорема 2.18 для вычисления количества остовных деревьев графа использует матрицу
инцидентности. Однако, этот же результат можно получить и с использованием другой матрицы.
Теорема 2.20 (теорема Трента). Формулировка. Для графа G, содержащего р вершин,
построим квадратную матрицу Трента порядка р следующим образом: элементы главной диагонали
равны степеням соответствующих вершин. Элементы 𝒂𝒊𝒋 и 𝒂𝒋𝒊 равны взятому со знаком «минус»
количеству ребер, связывающих вершины 𝒗𝒊 и 𝒗𝒋 . Количество остовов графа G равно любому из
главных миноров этой матрицы.
Пример 2.7. Рассмотрим граф G из примера 2.6. Построим для него матрицу Трента.