Планарные графы - удивительные математические объекты, которые тесно переплетены с нашей повседневной жизнью. В данной статье мы познакомимся с их определением, свойствами и применением. Узнаем интересные факты из истории изучения планарных графов. Рассмотрим конкретные примеры и алгоритмы работы с такими графами. В конце вы найдете практические советы по использованию этих знаний в вашей профессиональной деятельности. Приступим!

1. Определение планарного графа
Планарный граф – это граф, который можно изобразить на плоскости без пересечения ребер. Формально, планарный граф изоморфен некоторому плоскому графу, у которого вершины – точки на плоскости, а ребра – кривые, не пересекающиеся между собой, кроме как по концевым вершинам.
Например, граф дорожной сети любого города является планарным – его можно нарисовать на карте так, чтобы перекрестки соответствовали вершинам, а дороги между перекрестками – ребрам. При этом дороги не будут пересекаться между собой вне перекрестков.
2. Свойства планарных графов
Для любого связного планарного графа справедлива формула Эйлера :
V - E + F = 2
где V – количество вершин, E – количество ребер, а F – количество граней планарного графа. Эта формула была открыта Эйлером в 1736 г. при изучении свойств многогранников.
Из формулы Эйлера следует важное свойство: количество ребер планарного графа не может превышать 3V – 6 (где V – количество вершин). Например, планарный граф с шестью вершинами может иметь максимум 12 ребер.
Еще одной важной теоремой о планарных графах является теорема Понтрягина-Куратовского . Она утверждает, что граф является планарным тогда и только тогда, когда он не содержит в качестве подграфов полный граф из 5 вершин (K5) или полный двудольный граф из 3+3 вершин (K3,3).
3. Алгоритмы для планарных графов
Существуют эффективные алгоритмы для работы с планарными графами. Одним из них является алгоритм Хопкрофта-Тарьяна , позволяющий за линейное время проверить, является ли некоторый граф планарным. Алгоритм основан на поиске запрещенных подграфов K5 и K3,3.
Другой полезный алгоритм – это алгоритм укладки графа на плоскость . Он позволяет для заданного планарного графа построить его плоское представление на плоскости без пересечений ребер.
Например, можно использовать такой алгоритм, чтобы планарный граф строился для моделирования транспортной сети города или региона. После построения планарного графа перекрестков и дорог, алгоритм укладки позволит получить его красивое плоское представление.
4. Применение планарных графов
Планарные графы находят применение в самых разных областях.
Во-первых, их часто используют в визуализации данных и построении инфографики. Удобное плоское представление планарных графов позволяет наглядно изобразить связи между объектами.
Во-вторых, они применяются при моделировании транспортных сетей - дорожной сети городов, железнодорожных и авиационных маршрутов. Как мы говорили ранее, граф таких сетей обычно является планарным.
5. Планарные графы в электронике
В электронике планарные графы используются при разработке интегральных схем. Схема электронной платы представляет собой планарный граф, вершины которого - контактные площадки, а ребра - проводники.
Задача разработчика - спроектировать схему так, чтобы проводники не пересекались и уложить ее с минимальной площадью на кристалле.
6. Применение в картографии
В картографии планарные графы применяются в геоинформационных системах (ГИС). Цифровые карты местности или административно-территориального деления стран строятся на основе планарных графов.
Например, карта районов города представляет собой планарный граф, вершинами которого являются контрольные точки границ, а ребрами - отрезки границ между соседними районами.
7. Занимательные примеры
Существует множество занимательных задач, головоломок и игр, использующих идею планарных графов. Рассмотрим некоторые из них.
Задача о трех домиках и трех колодцах
Эта старая занимательная задача также связана с планарными графами. На плоскости даны 3 домика и 3 колодца. Требуется соединить каждый домик тропинками со всеми колодцами так, чтобы тропинки не пересекались.
Оказывается, что решить эту задачу невозможно - соответствующий граф с 3 вершинами "домиков" и 3 вершинами "колодцев" является непланарным. Это следует из теоремы Понтрягина-Куратовского.
Лабиринты в компьютерных играх
Во многих компьютерных играх присутствуют лабиринты, которые по сути являются планарными графами. Игрок должен найти путь от входа к выходу из лабиринта.
При генерации таких лабиринтов используются алгоритмы построения случайных планарных графов с заданными свойствами. Это позволяет каждый раз создавать уникальный лабиринт для игрока.
Головоломка "Ханойская башня"
"Ханойская башня" - механическая головоломка, в которой требуется переложить с одного стержня на другой набор дисков разного диаметра с соблюдением определенных правил.
Оказывается, что оптимальная последовательность ходов для решения этой головоломки также связана с планарным деревом - двоичным деревом, вершинами которого являются промежуточные позиции ходов.
8. Исторические факты
Изучение планарных графов берет начало из работ Эйлера в 18 веке, который открыл формулу для выпуклых многогранников, названную теперь его именем.
В 20 веке Понтрягин и Куратовский доказали фундаментальную теорему, устанавливающую связь между планарностью графа и его подграфами вида K5 и K3,3.
Алгоритм Хопкрофта-Тарьяна
В 1974 году Хопкрофт и Тарьян разработали эффективный алгоритм проверки планарности графа. Он основан на поиске запрещенных подграфов К5 и К3,3 за линейное время.
Этот алгоритм лег в основу многих практических приложений планарных графов - от проверки планарности электрических схем до генерации уникальных карт в компьютерных играх.
NP-полнота построения гамильтонова цикла
Известно, что задача построения гамильтонова цикла (проходящего через все вершины графа) в произвольном графе является NP-полной. Однако для планарных графов эффективные алгоритмы построения таких циклов пока неизвестны.
Это одна из важнейших открытых проблем в теории планарных графов, решение которой может привести к прорыву в области оптимизации транспортных и логистических сетей.
9. Практические советы
Давайте разберем несколько практических советов по использованию свойств и алгоритмов планарных графов.
Построение оптимальных маршрутов
1. Представьте транспортную сеть как планарный граф
Если вам необходимо найти оптимальный маршрут доставки грузов в некотором регионе, можно воспользоваться идеей планарных графов. Представьте карту региона с дорогами и населенными пунктами в виде планарного графа.
2. Найдите кратчайший путь с помощью алгоритмов
Когда граф транспортной сети построен, можно воспользоваться известными алгоритмами на графах - например, алгоритмом Дейкстры - чтобы найти кратчайший путь между пунктами отправления и назначения.
3. Проверьте планарность схемы на этапе проектирования
Если вы разрабатываете электронную схему или топологию печатной платы, то на этапе проектирования стоит проверить, является ли соответствующий граф планарным. Для этого можно использовать, например, алгоритм Хопкрофта-Тарьяна.
4. Сгенерируйте уникальные уровни в компьютерных играх
При разработке компьютерных игр планарные графы помогут сгенерировать уникальные уровни с лабиринтами. Используйте алгоритмы случайной генерации планарных графов с нужными свойствами.
5. Визуализируйте данные с помощью планарных графов
Если в вашей работе необходима визуализация данных, попробуйте представить их в виде планарного графа с вершинами-объектами и ребрами-связями. Это позволит наглядно показать структуру данных.
10. Открытые вопросы
Связь с задачами машинного обучения
В последнее время активно исследуется связь zwischen планарных графов и задач машинного обучения. Предполагается, что структура планарных графов может быть полезна для обучения нейронных сетей.

Квантовые алгоритмы для планарных графов
Существуют гипотезы, что на квантовых компьютерах можно будет строить эффективные алгоритмы решения классических NP-полных задач на планарных графах, таких как поиск гамильтонова цикла.
Вопросы планарности гиперграфов
Активная область исследований - это обобщение планарных графов на случай гиперграфов, в которых ребро может соединять более двух вершин. Здесь также есть много открытых вопросов.
Выводы
В этой статье вы узнали, что такое планарный граф, каковы его свойства и где он применяется. Рассмотрены базовые определения, теорема Эйлера, алгоритмы анализа планарности. Приведены примеры использования планарных графов от моделирования транспортных сетей до генерации уникальных уровней в компьютерных играх. Также проанализированы открытые вопросы в этой области и даются практические советы по работе с такими графами.