Хроматический многочленХроматический многочлен — многочлен, изучаемый в алгебраической теории графов, представляющий число раскрасок графа как функцию от числа цветов. Первоначально определён Джорджем Биркгофов для попытки решения на проблемы четырёх красок. Обобщен и систематически изучен Хасслером Уитни, Татт обобщил хроматический многочлен до многочлена Татта, связав его с моделью Поттса[англ.] статистической физики. ИсторияДжордж Биркгоф ввёл хроматический многочлен в 1912 году, определяя его только для планарных графов в попытке доказать теорему о четырёх красках. Если обозначает число правильных раскрасок графа G k цветами, то можно было бы доказать теорему о четырёх красках, показав, что для всех планарных графов G. Таким образом он надеялся использовать мощь математического анализа и алгебры для изучения корней многочленов для изучения комбинаторной задачи раскраски. Хасслер Уитни обобщил многочлен Биркгофа с планарного случая на графы общего вида в 1932. В 1968 году Рид поднял вопрос: какие многочлены являются хроматическими многочленами для некоторых графов (задача остаётся открытой), и ввёл понятие хроматически эквивалентных графов. В настоящее время хроматические многочлены являются центральными объектами алгебраической теории графов[1]. ОпределениеХроматический многочлен графа G считает число правильных раскрасок вершин. Обычно многочлен обозначается как , , или . Последнее обозначение будем использовать в остальной части статьи. Например, путь с 3 вершинами не может быть раскрашен в 0 цветов или 1 цветом. Используя 2 цвета граф можно раскрасить двумя способами. Используя 3 цвета граф можно раскрасить 12 способами.
Для графа G с n вершинами хроматический многочлен определяется как уникальный интерполирующий многочлен степени, не превосходящей n, проходящий через точки Если граф G не содержит вершин с петлями, то хроматический многочлен является приведённым многочленом степени в точности n. Фактически, для приведённого выше примера мы имеем Хроматический многочлен включает по меньшей мере столько информации о раскрашиваемости графа G, сколько содержится в хроматическом числе. Более того, хроматическое число является наименьшим положительным целым, при котором хроматический многочлен не обращается в нуль, Примеры
СвойстваДля фиксированного графа G с n вершинами хроматический многочлен является, фактически, многочленом степени n. По определению, вычисление значения многочлена даёт число k-раскрасок графа G для . То же самое верно для k > n. Выражение даёт число ациклических ориентаций графа G[2]. Значение производной от многочлена в точке 1, равно с точностью до знака хроматическому инварианту . Если граф G имеет n вершин, m рёбер и c компонент , то
Граф G с n вершинами является деревом тогда и только тогда, когда Хроматическая эквивалентностьГоворят, что два графа хроматически эквивалентны, если они имеют одинаковые хроматические многочлены. Изоморфные графы имеют одинаковые хроматические многочлены, но неизоморфные графы могут быть хроматически эквивалентными. Например, все деревья с n вершинами имеют одинаковые хроматические многочлены: В частности, является хроматическим многочленом как для клешни, так и для пути с 4 вершинами. Хроматическая единственностьГраф является хроматически уникальным, если он определяется хроматическим многочленом с точностью до изоморфизма. Другими словами, если граф G хроматически уникален, то из следует, что G и H изоморфны. Все циклы хроматически уникальны[4]. Хроматические корниКорень (или нуль) хроматического многочлена (называется «хроматическим корнем») — это значение x, для которого . Хроматические корни хорошо изучены. Фактически, исходным побуждением Биркгофа для введения хроматического многочлена было показать, что для планарных графов для x ≥ 4. Это доказало бы теорему о четырёх красках. Никакой граф нельзя раскрасить в 0 цветов, так что 0 всегда является хроматическим корнем. Только графы без рёбер могут быть раскрашены в один цвет, так что 1 является хроматическим корнем любого графа, имеющего по меньшей мере одно ребро. С другой стороны, за исключением этих двух случаев, никакой граф не может иметь в качестве хроматического корня вещественное число, меньшее либо равное 32/27[5]. Результат Татта связывает золотое сечение с изучением хроматических корней, показывая, что хроматические корни существуют очень близко к — если является планарной триангуляцией сферы, то В то время как вещественная прямая, таким образом, имеет большие куски, которые не содержат хроматических корней ни для какого графа, любая точка на комплексной плоскости произвольно близка к хроматическому корню в том смысле, что существует бесконечное семейство графов, хроматические корни которых плотны на комплексной плоскости[6]. КатегоризацияХроматический многочлен категоризирован с помощью теории гомологий, близко связанной с гомологией Хованова[англ.][7]. Алгоритмы
Вычислительные задачи, связанные с хроматическими многочленами
Первая задача более общая, поскольку, зная коэффициенты , мы можем вычислить значение многочлена в любой точке за полиномиальное время. Вычислительная сложность второй задачи сильно зависит от величины k. Когда k является натуральным числом, задачу можно рассматривать как вычисление количества k-раскрасок данного графа. Например, задача включает подсчёт 3-раскрасок в качестве канонической задачи для изучения сложности подсчёта. Эта задача является полной в классе #P. Эффективные алгоритмыДля некоторых базовых классов графов известны явные формулы хроматических многочленов. Например, это верно для деревьев и клик, что показано в таблице выше. Известны алгоритмы полиномиального времени для вычисления хроматического многочлена для широкого класса графов, в который входят хордальные графы[8] и графы с ограниченной кликовой шириной[9][10]. Второй из этих классов, в свою очередь, включает кографы и графы с ограниченной древесной шириной, такие как внешнепланарные графы. В интернете присутствуют лица, пытающиеся решить задачу коллективно, и им помогают активные автономные помощники, особенно для хроматических многочленов высокой степени[11]. Удаление — стягиваниеРекурсивный способ вычисления хроматического многочлена базируется на стягивании ребра — для пары вершин и граф получается путём слияния двух вершин и удаления ребра между ними. Хроматический многочлен удовлетворяет рекурсивному соотношению
где и являются смежными вершинами и является графом с удалённым ребром . Эквивалентно, если и не смежны и является графом с добавленным ребром . В первой форме рекурсия прекращается на наборе пустых графов. Эти рекуррентные отношения называются также фундаментальной теоремой редукции[12]. Вопрос Татта о том, какие другие свойства графа удовлетворяют тем же рекуррентным соотношениям, привёл к открытию обобщения хроматического многочлена на две переменные — многочлену Татта. Выражения дают рекурсивную процедуру, называемую алгоритмом удаления — стягивания, которая является базисом многих алгоритмов раскраски графов. Функция ChromaticPolynomial в системе компьютерной алгебры Mathematica использует вторую рекуррентную формулу если граф плотный, и первую, если граф разреженный[13]. Худшее время работы для обоих формул удовлетворяет рекуррентному соотношению для чисел Фибоначчи, так что в худшем случае алгоритм работает за время (с точностью до некоторого полиномиального коэффициента) на графе с n вершинами и m рёбрами[14]. Анализ времени работы можно улучшить до полиномиального множителя числа остовных деревьев входного графа[15]. На практике используется стратегия ветвей и границ вместе с отбрасыванием изоморфных графов, чтобы исключить рекурсивные вызовы, и время зависит от эвристики, используемой при выборе пары вершин (для исключения-стягивания). Метод кубаСуществует естественный геометрический подход к раскраске графов, если заметить, что при назначении натуральных чисел каждой вершине раскраска графов является вектором целочисленной решётки. Поскольку присвоение двум вершинам и одного цвета эквивалентно равенству координат и в векторе раскраски, каждое ребро можно ассоциировать с гиперплоскостью вида . Набор таких гиперплоскостей для данного графа называется его графической конфигурацией гиперплоскостей[англ.]. Правильная раскраска графа — это раскраска, вектор которой не оказывается на запрещённой плоскости. Ограниченные множеством цветов , точки решётки попадают в куб . В этом контексте хроматический многочлен подсчитывает точки решётки в -кубе, которые не попадают на графическую конфигурацию. Вычислительная сложностьЗадача вычисления числа 3-раскрасок данного графа является каноническим примером #P-полной задачи, так что задача вычисления коэффициентов хроматического многочлена #P-трудна. Аналогично, вычисление для данного графа G #P-полна. С другой стороны, для легко вычислить , так что соответствующие задачи имеют полиномиальную по времени трудность. Для целых чисел задача #P-трудна, что устанавливается подобно случаю . Фактически, известно, что #P-трудна для всех x (включая отрицательные целые числа и даже все комплексные числа), за исключением трёх «простых точек»[16]. Таким образом, сложность вычисления хроматического многочлена полностью понятна. В многочлене коэффициент всегда равен 1, а также известны некоторые другие свойства коэффициентов. Это поднимает вопрос, нельзя ли вычислить некоторые коэффициенты попроще. Однако задача вычисления ar для фиксированного r и данного графа G является #P-трудной[17]. Не известно никакого аппроксимационного алгоритма вычисления для любого x, за исключением трёх простых точек. В целых точках соответствующая задача разрешимости определения, может ли данный граф быть раскрашен в k цветов, NP-трудна. Такие задачи не могут быть аппроскимированы с любым коэффициентом с помощью полиномиального вероятностного алгоритма с ограниченной ошибкой, разве только NP = RP, поскольку любая мультипликативная аппроксимация различала бы значения 0 и 1, что было бы эффективным решением задачи с помощью полиномиального вероятностного алгоритма с ограниченной ошибкой в форме задачи разрешимости. В частности, при некоторых предположениях, это исключает возможность полностью полиномиальной рандомизированной аппроксимационной схемы (FPRAS). Для других точек нужны более сложные рассуждения и вопрос находится в фокусе активных поисков. На 2008 известно, что не существует FPRAS-схемы для вычиcления для любого x > 2, разве только NP = RP[18]. Примечания
Литература
Ссылки
|