Зарегистрируйтесь, чтобы продолжить обучение

Связанность Теория графов

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

Определения и свойства связности в графах

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

Раз степень связанности может меняться, значит нам нужен способ ее измерить. Обычно смотрят, сколько вершин или ребер нужно удалить, чтобы разъединить граф.

Граф называется -связным, если для его рассоединения нужно удалить не менее вершин. Связность неполного графа обозначается как — это минимальное число вершин, которые нужно удалить, чтобы граф был разомкнут.

Граф называется -краевым связным, если для его рассоединения требуется удалить не менее ребер. В этом случае связность графа обозначается κак — это минимальное число ребер, которые нужно удалить, чтобы граф был разомкнут.

Связность полного графа — это особый случай. По условию, .

Есть разница между связностью и -связностью:

  • Граф со связностью может быть односвязным, двусвязным и трехсвязным

  • Связность говорит о максимальном , при котором граф — -связный

  • У несвязного графа связность равна

  • Связность графа равна , когда у него есть разрезанная вершина и разрезанное ребро

  • У двусвязного графа нет разрезанной вершины или разрезанного ребра

Вот несколько примеров связности графов:

eyJpZCI6ImM0ZWVmZDI4OWIwM2I0OGVkZGE1NDVhMjZjYTIxMTk2LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=0a592fea2c0baa78e0ed2726b1841ef551dcc1fcf214950abd1f5087e48cb631

В примере выше — это обозначение минимальной степени в графе.

Доказательство теоремы

Докажем следующую теорему:

Для любого простого графа

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

Покажем, что :

  • Пусть — минимальный набор ребер, удаление которых разбивает граф на две компоненты, и

  • Получается, что

Может оказаться, что состоит из всех ребер между и :

  • Значит, у есть множество ребер

  • При этом в сумме больше

  • При этом , где — число вершин в графе

  • В противном случае существуют и , которые не смежные

Рассмотрим множество, которое состоит из всех соседей в и всех соседей в . Если удалить вершины этого множества, то это разъединит граф, так как мы не сможем попасть из в . Поэтому у этого множеств размер не менее .

С другой стороны, ребра между двумя половинами этого множества исходят из , поэтому его размер не больше κ . Значит, мы получаем .

Наглядное доказательство этой теоремы:

eyJpZCI6IjQ3Y2RmY2FkMWU3M2NiZjgxNDZiNmI2ZDlmNDA5OTQ3LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=2874caebc24d2a6d7f226741baa49bcc6091c9281792e925c0584f8de282c01c

Также подграфы могут быть не просто связными, но и двухсвязными. Посмотрим, что получится из этого.

Блоки

Напомним, что компонента графа — это максимально связный подграф. Если мы заменим «связный» на «двухсвязный», то получим блок — это максимальный двухсвязный подграф графа.

Это подграф, который не содержит разрезанных вершин. Если добавить к нему любые другие вершины, из-за этого появится разрезанная вершина.

Мы можем разбить граф вокруг его разрезанных вершин на блоки:

eyJpZCI6ImVjZWM5NDZmMDBlYjkyNGYzNDA3MDc2MzEzMmNkNTI0LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=bec932f03e86aa56851e689cd845f1ac5c3941836d0834e63c999bc9eabf3ee3

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

Например, хроматическое число графа — это максимальное из хроматических чисел его блоков. В приведенном выше графе хроматическое число равно трем, так как для блока треугольника требуется три цвета, а для остальных — два.

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

Выводы

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


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Изображение Тото

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