Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину

Вход алгоритма: неориентированный граф Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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 . Алгоритм заканчивает свою работу тогда, когда текущей вершиной является начальная, а все смежные с ней вершины помечены.

Пример. Рассмотрим граф:

1(1)
2(4)
4(7)
7(6)
8(7)
3(1)
5(3)
6(5)

Начальная вершина Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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 – исходный граф. Будем считать его связным. Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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 .

Предположим противное. Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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 .

Доказательство

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

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

Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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 свойства графа:

1) Связность

2) Отсутствие циклов

3) Число ребер в графе Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru (далее будем рассматривать графы без петель).

Утверждение. Любые два свойства из указанных порождают третье.

Доказательство:

(a) Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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 .

Что и требовалось доказать.

(b) Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru

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

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

Что и требовалось доказать.

(c) 2 Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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
Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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
Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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 . Эти возможности подобны. Предположим, это ребро расположено в области Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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 должны соединяться ребром в Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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 . Число граней в любой планарной укладке данного графа равна k. Данные три параметра связаны соотношением:

Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru

Доказательство:

Доказательство будем проводить по индукции по числу граней в укладке планарного графа.

1-ый шаг индукции. Рассмотрим граф с единственной гранью. Связный граф с единственной гранью – дерево (так как грань одна, то циклов в графе быть не может, поскольку каждый цикл разрезает плоскость на 2 области). Известно, что в дереве на Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru вершинах Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru ребро. Подставив данные значения в формулу, получаем тождество:

Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru

k-ый шаг индукции. Допустим, что утверждение доказано для планарного связного графа с числом граней k-1>1. Рассмотрим планарный граф, с числом граней k. Так как k Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru , то в таком графе есть цикл. Рассмотрим грань H, в которой граница - некоторый цикл Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru .

H
Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru

Пусть Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru – некоторое ребро этого цикла. Удалим это ребро. Получим связный граф с тем же самым числом вершин Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru , с числом ребер на Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru меньше ( Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - student2.ru ) и с числом граней k-1. Тогда, применяя предположение индукции:

Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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

(вершина h в графе смежна только вершинам v и w)

4.6 Критерий Понтрягина-Куратовского планарности графа.

Граф является планарным тогда и только тогда, когда он не содержит графов, гомеоморфных графам Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину - 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 были бы планарными. А по доказанному они такими не являются.

Что и требовалось доказать. Доказательство достаточности можно найти в указанной литературе.

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