Теорема пяти цветов - Five color theorem

Пятицветная карта

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

Теорема о пяти цветах вытекает из более сильной теоремы о четырех цветах , но ее значительно легче доказать. Она была основана на неудачной попытке Альфреда Кемпе в 1879 году получить четырехцветную пробу. Перси Джон Хивуд обнаружил ошибку 11 лет спустя и доказал теорему о пяти цветах, основанную на работе Кемпе.

Схема доказательства от противного.

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

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

Теперь удалите из . Полученный таким образом граф имеет на одну вершину меньше , поэтому по индукции можно предположить, что он может быть раскрашен только в пять цветов. Если при раскраске не использовались все пять цветов в пяти соседних вершинах , ее можно раскрасить цветом, не используемым соседями. Так что теперь посмотрим на эти пять вершин , , , , которые были рядом в циклическом порядке (в зависимости от того, как мы пишем G). Таким образом , мы можем предположить , что , , , , окрашены с цветами 1, 2, 3, 4, 5 соответственно.

Теперь рассмотрим подграф из состоящий из вершин, окрашенных с цветами 1 и 3 только и ребер , соединяющих их. Для ясности, каждое ребро соединяет вершину цвета 1 с вершиной цвета 3 (это называется цепью Кемпе ). Если и лежат в разных связанных компонентах , мы можем поменять местами цвета 1 и 3 на компоненте, содержащем, не влияя на окраску остальной части . Это освобождает цвет 1 для выполнения задачи. Если, наоборот, они лежат в одной и той же компоненте связности , мы можем найти путь в их соединении, который состоит только из вершин цвета 1 и 3.

Теперь обратится к подграфу из состоящих из вершин, окрашенные только с цветами 2 и 4 , а также ребрами , соединяющих их, и применить те же аргументы, что и раньше. Затем либо мы можем изменить окраску 2-4 на подграфе содержащего и раскрасить цвет 2, либо мы можем соединить и с путем, который состоит только из вершин цвета 2 и 4. Такой путь пересекал бы 1-3 цветных пути, которые мы построили ранее, поскольку сквозные проходы были в циклическом порядке. Это явно абсурдно, поскольку противоречит планарности графика.

Так что на самом деле может быть пятицветным, вопреки первоначальному предположению.

Алгоритм пятикратного линейного времени

В 1996 году Робертсон, Сандерс, Сеймур и Томас описали квадратичный алгоритм четырехкратной раскраски в своих «Планарных графах с эффективной четырехкратной раскраской». В той же статье они кратко описывают алгоритм пятикратной раскраски с линейным временем, который является асимптотически оптимальным . Описанный здесь алгоритм работает с мультиграфами и полагается на возможность иметь несколько копий ребер между одной парой вершин. Он основан на теореме Вернике , которая гласит следующее:

Теорема Вернике : Предположим, что G плоская, непустая, не имеет граней, ограниченных двумя ребрами, и имеет минимальную степень 5. Тогда G имеет вершину степени 5, смежную с вершиной степени не выше 6.

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

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

  • S 4 : содержит все оставшиеся вершины либо степени не выше четырех, либо со степенью пять и не более четырех различных смежных вершин (из-за нескольких ребер).
  • S 5 : содержит все оставшиеся вершины со степенью пять, пять различных смежных вершин и по крайней мере одну смежную вершину со степенью не выше шести.
  • S d : содержит все вершины, удаленные из графа на данный момент, в том порядке, в котором они были удалены.

Алгоритм работает следующим образом:

  1. На первом этапе мы сворачиваем все несколько ребер в отдельные ребра, чтобы граф был простым. Затем мы перебираем вершины графа, помещая любую вершину, удовлетворяющую условиям для S 4 или S 5, в соответствующий стек.
  2. Затем, пока S 4 не пуст, мы извлекаем v из S 4 и удаляем v из графа, помещая его на S d вместе со списком его соседей на данный момент. Мы проверяем каждого бывшего соседа v , помещая его на S 4 или S 5 , удовлетворяет ли он теперь необходимым условиям.
  3. Когда S 4 становится пустым, мы знаем, что наш граф имеет как минимум пятую степень. Если график пуст, мы переходим к заключительному шагу 5 ниже. В противном случае теорема Вернике говорит нам, что S 5 непусто. Вытяните v из S 5 , удалите его из графа и пусть v 1 , v 2 , v 3 , v 4 , v 5 будут бывшими соседями v в плоскости по часовой стрелке, где v 1 - сосед степени не выше 6. Мы проверяем, является ли v 1 смежным с v 3 (что мы можем сделать за постоянное время из-за степени v 1 ). Есть два случая:
    1. Если v 1 не смежна с v 3 , мы можем объединить эти две вершины в одну вершину. Для этого мы удаляем v из обоих круговых списков смежности, а затем объединяем два списка в один список в точке, где v был ранее найден. При условии, что v поддерживает ссылку на свою позицию в каждом списке, это может быть сделано за постоянное время. Возможно, это может создать грани, ограниченные двумя ребрами в двух точках, где списки соединяются вместе; мы удаляем одно ребро с любых таких граней. После этого мы помещаем v 3 на S d вместе с примечанием, что v 1 - это вершина, с которой она была объединена. Любые вершины, затронутые слиянием, добавляются или удаляются из стеков по мере необходимости.
    2. В противном случае v 2 лежит внутри грани, обозначенной v , v 1 и v 3 . Следовательно, v 2 не может быть смежным с v 4 , лежащим вне этой грани. Мы объединяем v 2 и v 4 так же, как v 1 и v 3 выше.
  4. Переходите к шагу 2.
  5. В этот момент S 4 , S 5 и график пусты. Выделяем вершины из S d . Если вершина была объединена с другой вершиной на шаге 3, вершина, с которой она была объединена, уже будет окрашена, и мы присваиваем ей такой же цвет. Это верно, потому что мы объединили только те вершины, которые не были смежными в исходном графе. Если бы мы удалили его на шаге 2, потому что у него было не более 4 смежных вершин, все его соседи на момент его удаления уже были бы окрашены, и мы можем просто назначить ему цвет, который не использует ни один из его соседей.

Смотрите также

Рекомендации

дальнейшее чтение

  • Heawood, PJ (1890), «Теоремы о цвете карты», Quarterly Journal of Mathematics, Oxford , 24 , стр. 332–338. CS1 maint: обескураженный параметр ( ссылка )