Хроматический полином графа: как считать и применять

Хроматический полином графа отвечает на простой по формулировке вопрос: сколькими способами можно правильно раскрасить вершины графа в цветов так, чтобы соседние вершины получили разные цвета. Удивительно, что ответ всегда оказывается многочленом от - и в этом многочлене зашифровано много структурной информации о графе. Этот объект изучают в курсе дискретной математики и комбинаторики, он связан с хроматическим числом, задачей о четырёх красках и даже со статистической физикой. Разберём определение, способы вычисления и свойства коэффициентов на конкретных примерах.
Что такое правильная раскраска
Раскраска вершин графа в цветов - это функция, которая каждой вершине сопоставляет один из цветов. Раскраска называется правильной, если любые две смежные вершины (соединённые ребром) окрашены в разные цвета. Несмежные вершины могут совпадать по цвету без ограничений.
Хроматический полином - это число различных правильных раскрасок графа в цветов. Здесь цвета считаются различимыми: перестановка цветов даёт другую раскраску. Например, для графа из двух вершин, соединённых ребром, первую вершину можно покрасить способами, а вторую - любым из оставшихся цветов, поэтому .
Чтобы не путаться в рекурсии и сразу увидеть полином для конкретного графа со всеми промежуточными шагами, удобно прогнать пример через инструмент ниже - задайте рёбра и получите разбор.
Базовые примеры
Для простых семейств графов хроматический полином выписывается напрямую.
Пустой граф из вершин без рёбер: каждую вершину красим независимо, поэтому .
Полный граф : все вершины попарно смежны, значит все цвета должны быть разными. Первую вершину красим способами, вторую - , и так далее:
Дерево на вершинах: корень красим способами, каждую следующую вершину при обходе - любым из цветов, отличным от уже окрашенного родителя. Получаем
Простой цикл имеет красивую формулу:
Теорема об удалении и стягивании
Главный универсальный инструмент - рекуррентное соотношение, известное как теорема об удалении и стягивании (deletion–contraction). Для любого ребра графа верно
где - граф с удалённым ребром , а - граф, в котором вершины и стянуты в одну (а кратные рёбра, если возникли, заменены одним).
Идея проста. Правильные раскраски графа распадаются на два класса: те, где и имеют разные цвета (это в точности правильные раскраски ), и те, где и совпали по цвету (это правильные раскраски ). Отсюда , что и даёт формулу выше. Рекурсию применяют, пока не останутся графы без рёбер, для которых полином равен .
Свойства коэффициентов
Хроматический полином графа с вершинами и рёбрами - это многочлен степени ровно со старшим коэффициентом . Его коэффициенты подчиняются нескольким закономерностям:
- Свободный член равен нулю: (в ноль цветов раскрасить нельзя).
- Коэффициент при равен , то есть минус числу рёбер.
- Знаки коэффициентов чередуются: запишем , где все .
Для связного графа младший ненулевой член - это (степень самого низкого члена связана с числом компонент связности: она равна числу компонент). Эти свойства удобны для самопроверки: посчитав полином, можно сверить старший коэффициент, коэффициент при и обращение в ноль при .
Связь с хроматическим числом
Хроматическое число - это минимальное число цветов, в которое граф можно правильно раскрасить. Оно напрямую читается из полинома: - это наименьшее целое , при котором . Если , то в цветов граф раскрасить нельзя.
Поэтому хроматический полином - более тонкая характеристика, чем хроматическое число: он не только говорит, раскрашиваем ли граф в цветов, но и считает количество таких раскрасок. Например, показывает, сколько вообще существует оптимальных раскрасок. Сама структура расстояний и связности графа при этом играет роль - близкие понятия можно освежить в разборе про радиус и диаметр графа.
Быстрая проверка хроматического числа: подставляйте в полином $k = 1, 2, 3, \ldots$ Первое значение, при котором результат становится положительным, и есть $\chi(G)$.
Пример вычисления вручную
Найдём полином цикла (треугольника) через удаление–стягивание. Возьмём любое ребро . Граф - это путь из трёх вершин (дерево), для него . Граф - это путь из двух вершин (одно ребро), для него . Тогда
Это совпадает с формулой для полного графа (треугольник и есть ). Проверим свойства: степень равна числу вершин, старший коэффициент , коэффициент при равен (минус три ребра), свободный член ноль. Хроматическое число: , а , поэтому .
Где это применяется
Хроматический полином - не только учебная конструкция. Раскраска графа моделирует задачи распределения ресурсов без конфликтов: назначение частот вышкам связи, составление расписаний (вершины - экзамены, рёбра - общие студенты), регистровая аллокация в компиляторах. Полином даёт не один ответ «да/нет», а полную картину: сколько допустимых конфигураций существует при заданном числе ресурсов.
В физике хроматический полином связан с моделью Поттса в статистической механике: статсумма антиферромагнитной модели при нулевой температуре по сути совпадает с . А обобщением хроматического полинома служит полином Тутте , из которого хроматический получается специализацией переменных.
Частые ошибки
- Считают цвета неразличимыми. В определении цвета помечены: раскраски, отличающиеся перестановкой цветов, считаются разными.
- Путают знак в теореме: правильная формула - , с минусом перед стянутым графом.
- При стягивании ребра забывают склеить возникшие кратные рёбра в одно - иначе появятся лишние ограничения и полином будет неверным.
- Берут степень полинома меньше числа вершин. Степень всегда ровно равна числу вершин .
- Определяют хроматическое число как корень полинома. - это наименьшее , при котором значение становится положительным, а не где полином обращается в ноль.
FAQ
Почему число раскрасок всегда многочлен? Это следствие теоремы об удалении и стягивании: рекурсия сводит любой граф к графам без рёбер, для которых число раскрасок равно - многочлену. Линейные комбинации многочленов снова дают многочлен.
Может ли у двух разных графов совпадать хроматический полином? Да. Полином не определяет граф однозначно: существуют хроматически эквивалентные неизоморфные графы. Например, все деревья на вершинах имеют один полином .
Как полином помогает понять, планарен ли граф? Напрямую - нет, планарность по полиному не читается. Но теорема о четырёх красках утверждает для любого планарного графа, то есть значение полинома в для планарных графов всегда положительно.
Коротко
Хроматический полином считает число правильных раскрасок графа в цветов и всегда оказывается многочленом степени (числа вершин) со старшим коэффициентом и коэффициентом при . Универсальный способ вычисления - рекуррентная теорема об удалении и стягивании , доводимая до графов без рёбер. Из полинома читается хроматическое число как наименьшее с , а сам объект применяется в расписаниях, распределении частот и модели Поттса.
Читайте также

Алгоритм Прима - как построить остовное дерево по шагам
Разбираем, как алгоритм Прима шаг за шагом строит минимальное остовное дерево графа: идея жадного выбора, лемма о разрезе и трассировка на конкретном примере.

Максимальное независимое множество в графе: разбор
Что такое независимое множество вершин графа, чем различаются максимальное и наибольшее множество, как связаны число независимости, кликовое число и вершинное покрытие, как искать ответ вручную и алгоритмами.

Задача о k-центрах в графе: постановка и алгоритмы
Что такое задача о k-центрах в графе: постановка как минимаксная задача размещения, NP-трудность, жадный 2-приближённый алгоритм Гонзалеса и связь с радиусом графа.