Jump to content

Раскраска графа

(Перенаправлено из раскраски вершин )
Правильная раскраска вершин графа Петерсена в 3 цвета, минимально возможное количество.

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

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

Условное использование цветов происходит от раскрашивания стран на карте , где каждое лицо буквально раскрашено. Это было обобщено на раскраску граней графа, вложенного в плоскость. Благодаря планарной двойственности он стал раскрашивать вершины и в этой форме распространяется на все графы. В математических и компьютерных представлениях в качестве «цветов» обычно используются первые несколько положительных или неотрицательных целых чисел. можно использовать любой конечный набор В общем, в качестве «набора цветов» . Характер задачи раскраски зависит от количества цветов, а не от того, какие они.

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

Примечание. Многие термины, используемые в этой статье, определены в Глоссарии теории графов .

Карта Соединенных Штатов , на которой цвета показывают политические разногласия с помощью теоремы о четырех цветах .

Первые результаты о раскраске графов касаются почти исключительно плоских графов в форме раскраски карт .Пытаясь раскрасить карту графств Англии, Фрэнсис Гатри постулировал гипотезу четырех цветов , отметив, что четырех цветов было достаточно, чтобы раскрасить карту так, чтобы ни один регион, имеющий общую границу, не получил один и тот же цвет. Брат Гатри передал этот вопрос своему учителю математики Огастесу Де Моргану в Университетском колледже , который упомянул его в письме Уильяму Гамильтону в 1852 году. Артур Кэли поднял проблему на собрании Лондонского математического общества в 1879 году. В том же году Альфред Кемпе опубликовал статью, в которой утверждал, что установил результат, и в течение десятилетия проблема четырех цветов считалась решенной. За свои достижения Кемпе был избран членом Королевского общества , а затем президентом Лондонского математического общества. [1]

В 1890 году Перси Джон Хивуд отметил, что аргумент Кемпе ошибочен. Однако в этой статье он доказал теорему о пяти цветах , заявив, что каждую плоскую карту можно раскрасить не более чем в пять цветов, используя идеи Кемпе. В следующем столетии была проделана огромная работа и разработаны теории, позволяющие уменьшить количество цветов до четырех, пока в 1976 году Кеннет Аппель и Вольфганг Хакен наконец не доказали теорему о четырех цветах . Доказательство возвращалось к идеям Хивуда и Кемпе и в значительной степени игнорировало промежуточные события. [2] Доказательство теоремы о четырех цветах примечательно, помимо решения столетней проблемы, тем, что оно является первым крупным компьютерным доказательством.

В 1912 году Джордж Дэвид Биркгоф представил хроматический полином для изучения проблемы раскраски, который был обобщен на полином Тутта , У. Таттом оба из которых являются важными инвариантами в алгебраической теории графов . Кемпе уже обратил внимание на общий неплоский случай в 1879 году: [3] и многие результаты по обобщению раскраски плоских графов на поверхности более высокого порядка были получены в начале 20 века.

В 1960 году Клод Берж сформулировал еще одну гипотезу о раскраске графов, гипотезу сильного идеального графа , первоначально мотивированную теоретико-информационной концепцией, называемой без ошибок, способностью графа введенной Шенноном . Гипотеза оставалась неразрешенной в течение 40 лет, пока она не была признана в качестве знаменитой теоремы о совершенном графе Робертсоном Чудновским , и , Сеймуром сильной Томасом в 2002 году.

Раскраска графов изучается как алгоритмическая проблема с начала 1970-х годов: проблема хроматических чисел (см. раздел #Раскраска вершин ниже) является одной из 21 NP-полной задачи Карпа 1972 года, и примерно в то же время были разработаны различные алгоритмы экспоненциального времени. разработан на основе бэктрекинга и делеционно-контракционного рецидива Зыкова (1949) . Одно из основных применений раскраски графов — распределение регистров в компиляторах — было представлено в 1981 году.

Определение и терминология

[ редактировать ]
Этот граф можно раскрасить в 3 цвета 12 разными способами.

Раскраска вершин

[ редактировать ]

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

Терминология использования цветов для меток вершин восходит к раскраске карт. Такие метки, как красный и синий, используются только тогда, когда количество цветов невелико, и обычно подразумевается, что метки рисуются из целых чисел {1, 2, 3,…}.

Раскраска, использующая не более k цветов, называется (собственной) k -раскраской . Наименьшее количество цветов, необходимое для раскраски графа G , называется его хроматическим числом и часто обозначается χ( G ) . Иногда γ( G ) используется , поскольку χ( G ) также используется для обозначения эйлеровой характеристики графа. Граф, которому можно присвоить (правильную) k -раскраску, является k -раскрашиваемым и является k -хроматическим, если его хроматическое число равно k . Подмножество вершин, которым присвоен один и тот же цвет, называется цветовым классом , каждый такой класс образует независимое множество . Таким образом, k -раскраска — это то же самое, что разбиение множества вершин на k независимых наборов, и термины k -раздельная и k -раскрашиваемая имеют тот же смысл.

Хроматический полином

[ редактировать ]
Все неизоморфные графы с тремя вершинами и их хроматические многочлены. Пустой граф E 3 (красный) допускает 1-раскраску; полный граф K 3 (синий) допускает 3-раскраску; остальные графы допускают 2-раскраску.

Хроматический полином подсчитывает количество способов раскрасить граф, используя некоторые из заданного количества цветов. Например, используя три цвета, график на соседнем изображении можно раскрасить 12 способами. Имея только два цвета, его вообще невозможно раскрасить. Имея четыре цвета, его можно раскрасить 24 + 4⋅12 = 72 способами: если использовать все четыре цвета, то получится 4! = 24 допустимых раскраски ( каждое присвоение четырех цветов любому четырехвершинному графу является правильной раскраской); и для каждого выбора трех из четырех цветов существует 12 допустимых 3-раскрасок. Итак, для графа в примере таблица количества допустимых раскрасок будет начинаться так:

Доступные цвета 1 2 3 4
Количество раскрасок 0 0 12 72

Хроматический многочлен — это функция P ( G , t ) которая подсчитывает количество t -раскрасок G. , Как следует из названия, для данного G функция действительно является полиномом по t . Для примера графика P ( G , t ) = t ( t – 1) 2 ( t – 2) и действительно P ( G ,4) = 72 .

Хроматический полином включает в себя больше информации о раскрашиваемости G , чем хроматическое число. Действительно, χ — наименьшее целое положительное число, не являющееся нулем хроматического многочлена χ( G ) = min{ k : P ( G , k ) > 0}.

Хроматические полиномы для некоторых графов
Треугольник К 3 т ( т – 1)( т – 2)
Полный граф K n т ( т – 1)( т – 2) … ( т – ( п – 1))
Дерево с n вершинами т ( т – 1) п – 1
Цикл C n ( т – 1) н + (-1) н ( т – 1)
график Петерсена т ( т – 1)( т – 2)( т 7 – 12 т 6 + 67 t 5 – 230 т 4 + 529 т 3 – 814 ч. 2 + 775 т – 352)

Краевая окраска

[ редактировать ]

Раскраска ребер графа — это правильная раскраска ребер , то есть назначение цветов ребрам таким образом, чтобы ни одна вершина не инцидентна двум ребрам одного и того же цвета. Раскраска ребер в k цветов называется k -раскраской ребер и эквивалентна задаче разбиения множества ребер на k паросочетаний . Наименьшее количество цветов, необходимое для раскраски ребер графа G, — это хроматический индекс , или хроматическое число ребер , χ′( G ) . — Раскраска Тейта это трёхрёберная раскраска кубического графа . Теорема о четырех цветах эквивалентна утверждению, что каждый планарный кубический граф без мостов допускает раскраску Тейта.

Тотальная окраска

[ редактировать ]

Тотальная раскраска — это вид раскраски вершин и ребер графа. При использовании без каких-либо уточнений полная раскраска всегда считается правильной в том смысле, что ни соседние вершины, ни смежные ребра, ни одно ребро и его конечные вершины не имеют одного и того же цвета. Полное хроматическое число χ″( G ) графа G — это наименьшее количество цветов, необходимых для любой полной раскраски G. графа

Раскраска лица

[ редактировать ]

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

Теория потока Тутте

[ редактировать ]

Для графа G с сильным вложением на ориентируемую поверхность Уильям Т. Тутт [4] [5] [6] обнаружил, что если граф раскрашивается по k-граням, то G допускает нигде ненулевой k-поток. Эквивалентность имеет место, если поверхность является сферой.

Немаркированная раскраска

[ редактировать ]

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

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

Характеристики

[ редактировать ]

Верхние границы хроматического числа

[ редактировать ]

Присвоение разных цветов различным вершинам всегда дает правильную раскраску, поэтому

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

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

Графы, раскрашиваемые в 2 цвета, — это в точности двудольные графы , включая деревья и леса.По теореме о четырех цветах любой плоский граф может быть четырехцветным.

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

Полные графики имеют и , а нечетные циклы имеют и , поэтому для этих графов эта оценка является наилучшей. Во всех остальных случаях оценку можно немного улучшить; Теорема Брукса [7] заявляет, что

Теорема Брукса : для связного простого графа G , если только G не является полным графом или нечетным циклом.

Нижние границы хроматического числа

[ редактировать ]

За прошедшие годы было обнаружено несколько нижних границ хроматических границ:

Если G содержит клику размера k , то как минимум k для раскраски этой клики необходимо цветов; другими словами, хроматическое число - это как минимум кликовое число:

Для совершенных графов эта граница точная. Поиск клик известен как проблема клики .

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

Векторное хроматическое число : Пусть — положительная полуопределенная матрица такая, что в любое время является преимуществом в . Определять быть наименьшим k, для которого такая матрица существует. Затем

Число Ловаса : число Ловаса дополнительного графа также является нижней границей хроматического числа:

Дробное хроматическое число : Дробное хроматическое число графа также является нижней границей хроматического числа:

Эти границы упорядочены следующим образом:

Графы с большим хроматическим числом

[ редактировать ]

Графы с большими кликами имеют большое хроматическое число, но обратное неверно. Граф Греча является примером 4-хроматического графа без треугольника, и этот пример можно обобщить на мицельскианы .

Теорема ( Уильям Т. Тутт   1947 , [8] Александр Зыков   1949 , Ян Мисельский   1955 ): Существуют графы без треугольников со сколь угодно большим хроматическим числом.

Чтобы доказать это, и Мысельский, и Зыков дали конструкцию индуктивно определенного семейства графов без треугольников, но со сколь угодно большим хроматическим числом. [9] Берлинг (1965) построил коробки, выровненные по осям, в чей граф пересечений не содержит треугольников и для правильной раскраски требуется произвольное количество цветов. Это семейство графов затем называется графами Берлинга. Тот же класс графов используется для построения семейства отрезков прямой на плоскости без треугольников, заданного Павликом и др. (2014). [10] Это показывает, что хроматическое число его графа пересечений также сколь угодно велико. Следовательно, это означает, что прямоугольники, выровненные по осям, в а также сегменты линий в не являются χ-ограниченными . [10]

Согласно теореме Брукса, графы с большим хроматическим числом должны иметь высокую максимальную степень. Но раскрашиваемость — не совсем локальное явление: граф с большим обхватом локально выглядит как дерево, поскольку все циклы длинные, но его хроматическое число не обязательно должно быть равно 2:

Теорема ( Эрдёш ): Существуют графы сколь угодно большого обхвата и хроматического числа. [11]

Границы хроматического индекса

[ редактировать ]

Реберная раскраска графа G — это вершинная раскраска его линейного графа. , и наоборот. Таким образом,

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

Более того,

Теорема Кенига : если G двудольна.

В общем, связь даже сильнее, чем то, что дает теорема Брукса для раскраски вершин:

Теорема Визинга: граф максимальной степени имеет краевое хроматическое число или .

Другие объекты недвижимости

[ редактировать ]

Граф имеет k -раскраску тогда и только тогда, когда он имеет ациклическую ориентацию , для которой самого длинного пути длина не превышает k ; это теорема Галлаи-Хассе-Роя-Витавера ( Нешетржил и Оссона де Мендес, 2012 ).

Для плоских графов раскраски вершин по существу двойственны потокам нигде ненулевых .

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

Открытые проблемы

[ редактировать ]

Как указано выше, Гипотеза Рида от 1998 года заключается в том, что это значение существенно ближе к нижней границе:

Хроматическое число плоскости , где две точки соседствуют, если они имеют единичное расстояние, неизвестно, хотя оно равно одному из 5, 6 или 7. Другие открытые проблемы, касающиеся хроматического числа графов, включают гипотезу Хадвигера, утверждающую, что каждый граф с хроматическим числом k имеет полный граф на k вершинах в качестве минора , гипотеза Эрдеша–Фабера–Ловаса, ограничивающая хроматическое число объединений полных графов, имеющих не более одной общей вершины для каждой пары, и гипотеза Альбертсона о том, что среди k -хроматические графы – полные графы имеют наименьшее число пересечений .

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

Алгоритмы

[ редактировать ]
Раскраска графа
Решение
Имя Раскраска графа, раскраска вершин, k -раскраска
Вход Граф G с n вершинами. Целое число k
Выход Допускает ли G правильную раскраску вершин в k цветов?
Время работы О(2 н п ) [12]
Сложность NP-полный
Сокращение с 3-Выполнимость
Гэри-Джонсон GT4
Оптимизация
Имя Хроматическое число
Вход Граф G с n вершинами.
Выход х( г )
Сложность NP-жесткий
Аппроксимируемость О( n (логарифм n ) −3 (журнал журнал n ) 2 )
Неприближаемость На 1-е ), если только P = NP
Задача подсчета
Имя Хроматический полином
Вход Граф G с n вершинами. Целое число k
Выход Число P ( G , k ) собственных k -раскрасок G
Время работы О(2 н п )
Сложность #P-полное
Аппроксимируемость FPRAS для ограниченных случаев
Неприближаемость Нет PTAS , если P = NP

Полиномиальное время

[ редактировать ]

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

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

Точные алгоритмы

[ редактировать ]

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

Используя динамическое программирование и ограничение количества максимальных независимых множеств , k -раскраску можно определить во времени и пространстве. . [13] Используя принцип включения-исключения и алгоритм Йейтса для быстрого дзета-преобразования, k -раскраску можно определить вовремя. [12] [14] [15] [16] для любого к . Известны более быстрые алгоритмы с 3- и 4-раскраской, которые можно решить со временем. [17] и , [18] соответственно. Экспоненциально более быстрые алгоритмы также известны для 5- и 6-раскраски, а также для ограниченных семейств графов, включая разреженные графы. [19]

Сокращение

[ редактировать ]

Сокращение графа G — это граф, полученный путем идентификации вершин u и v и удаления всех ребер между ними. Остальные ребра, первоначально инцидентные u или v , теперь инцидентны своей идентификации ( т. е. новому слитому узлу uv ). Эта операция играет важную роль при анализе раскраски графов.

Хроматическое число удовлетворяет рекуррентному соотношению :

по Зыкову (1949) , где u и v — несмежные вершины, а это граф с добавленным ребром uv . Несколько алгоритмов основаны на оценке этой повторяемости, и полученное дерево вычислений иногда называют деревом Зыкова. Время выполнения основано на эвристике выбора вершин u и v .

Хроматический многочлен удовлетворяет следующему рекуррентному соотношению

где u и v — соседние вершины, а это граф с удаленным ребром uv . представляет количество возможных правильных раскрасок графа, вершины которого могут иметь одинаковый или разные цвета. Тогда правильные раскраски возникают из двух разных графов. Чтобы объяснить: если вершины u и v имеют разные цвета, то мы могли бы также рассмотреть граф, в котором u и v смежны. Если u и v имеют одинаковые цвета, мы могли бы также рассмотреть граф, в котором u и v свернуты. Любопытство Тутте относительно того, какие другие свойства графа удовлетворяют этому повторению, привело его к открытию двумерного обобщения хроматического полинома, полинома Тутте .

Эти выражения порождают рекурсивную процедуру, называемую алгоритмом удаления-сокращения , которая составляет основу многих алгоритмов раскраски графов. Время выполнения удовлетворяет тому же рекуррентному соотношению, что и числа Фибоначчи , поэтому в худшем случае алгоритм выполняется за время в пределах полиномиального коэффициента для n вершин и m ребер. [20] Анализ можно улучшить с точностью до полиномиального коэффициента числа остовных деревьев входного графа. [21] На практике ветвей и границ стратегии и отказ от изоморфизма графов используются, чтобы избежать некоторых рекурсивных вызовов. Время выполнения зависит от эвристики, используемой для выбора пары вершин.

Жадная раскраска

[ редактировать ]
Две жадные раскраски одного и того же графа с использованием разного порядка вершин. Правый пример обобщается на графы, раскрашиваемые в 2 цвета, с n вершинами, где жадный алгоритм расходует цвета.

рассматривает Жадный алгоритм вершины в определенном порядке. ,…, и назначает наименьший доступный цвет, не используемый соседи среди ,…, , добавляя при необходимости свежий цвет. Качество полученной окраски зависит от выбранного порядка. Существует упорядочение, приводящее к жадной раскраске с оптимальным числом цвета. С другой стороны, жадные раскраски могут быть сколь угодно плохими; например, граф короны на n вершинах может быть двухцветным, но имеет порядок, который приводит к жадной раскраске с цвета.

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

Если вершины упорядочены по их степеням , результирующая жадная раскраска использует не более цветов, не более чем на один больше максимальной степени графа. Эту эвристику иногда называют алгоритмом Уэлша – Пауэлла. [22] Другая эвристика, предложенная Брелазом, устанавливает порядок динамически во время работы алгоритма, выбирая следующей вершину, соседнюю с наибольшим количеством разных цветов. [23] Многие другие эвристики раскраски графов аналогичным образом основаны на жадной раскраске для определенной статической или динамической стратегии упорядочивания вершин. Эти алгоритмы иногда называют алгоритмами последовательной раскраски .

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

Эвристические алгоритмы

[ редактировать ]

Двумя хорошо известными эвристиками с полиномиальным временем для раскраски графов являются алгоритмы DSatur и рекурсивный алгоритм «наибольший первый » (RLF).

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

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

Наихудшая сложность DSatur равна , где — количество вершин в графе. Алгоритм также можно реализовать с использованием двоичной кучи для хранения степеней насыщения, работая в где — количество ребер в графе. [24] Это обеспечивает гораздо более быструю работу с разреженными графами. Общая сложность RLF немного выше, чем DSatur при . [24]

DSatur и RLF точны для двудольных , циклических и колесных графов . [24]

Параллельные и распределенные алгоритмы

[ редактировать ]

В области распределенных алгоритмов раскраска графов тесно связана с проблемой нарушения симметрии . Современные рандомизированные алгоритмы работают быстрее при достаточно большой максимальной степени Δ, чем детерминированные алгоритмы. Самые быстрые рандомизированные алгоритмы используют технику множественных испытаний Шнайдера и Ваттенхофера. [25]

В симметричном графе детерминированный . распределенный алгоритм не может найти правильную раскраску вершин Для нарушения симметрии необходима некоторая вспомогательная информация. Стандартное предположение состоит в том, что изначально каждый узел имеет уникальный идентификатор , например, из набора {1, 2, ..., n }. Иначе говоря, мы предполагаем, что нам дана n -раскраска. Задача состоит в том, чтобы уменьшить количество цветов с n , например, до Δ + 1. Чем больше цветов используется, например, O(Δ) вместо Δ + 1, тем меньше раундов связи требуется. [25]

Простая распределенная версия жадного алгоритма для (Δ + 1)-раскраски требует в худшем случае Θ( n ) раундов связи — может потребоваться передача информации с одной стороны сети на другую сторону.

Простейший интересный случай — n - цикл . Ричард Коул и Узи Вишкин [26] покажите, что существует распределенный алгоритм, который уменьшает количество цветов от n до O (log n ) за один шаг синхронной связи. Повторяя ту же процедуру, можно получить 3-раскраску n -цикла за O ( log *   n ) шагов связи (при условии, что у нас есть уникальные идентификаторы узлов).

Функция log * , повторный логарифм , — чрезвычайно медленно растущая функция, «почти постоянная». Следовательно, результат Коула и Вишкина поднял вопрос о том, существует ли распределенный алгоритм с постоянным временем для 3-раскраски n -цикла. Линиал (1992) показал, что это невозможно: любой детерминированный распределенный алгоритм требует Ω( log *   n ) шагов связи, чтобы свести n -раскраску к 3-раскраске за n -цикл.

Технику Коула и Вишкина можно применять и к произвольным графам ограниченной степени; время работы составляет поли(Δ) + O ( log *   n ). [27] распространили эту технику на графы единичных дисков . Шнайдер и Ваттенхофер [28] Самые быстрые детерминированные алгоритмы (Δ + 1)-раскраски для малых Δ принадлежат Леониду Баренбойму, Майклу Элкину и Фабиану Куну. [29] Алгоритм Баренбойма и др. работает за время O (Δ) + log * ( n )/2, что оптимально с точки зрения n, поскольку постоянный коэффициент 1/2 не может быть улучшен из-за нижней границы Линиала. Панконези и Шринивасан (1996) используют сетевое разложение для вычисления раскраски Δ+1 во времени. .

Проблема раскраски ребер также изучалась в распределенной модели. Панконези и Рицци (2001) в этой модели достигают (2Δ − 1)-раскраски за время O (Δ + log *   n ). Нижняя оценка распределенной раскраски вершин, полученная Линиалом (1992), применима и к задаче распределенной раскраски ребер.

Децентрализованные алгоритмы

[ редактировать ]

Децентрализованные алгоритмы — это те, в которых передача сообщений не разрешена (в отличие от распределенных алгоритмов, в которых происходит локальная передача сообщений), и существуют эффективные децентрализованные алгоритмы, которые раскрашивают граф, если существует правильная раскраска. Они предполагают, что вершина способна определить, использует ли кто-либо из ее соседей тот же цвет, что и вершина, то есть существует ли локальный конфликт. Это мягкое предположение, во многих приложениях, например, при распределении беспроводных каналов обычно разумно предположить, что станция сможет определить, используют ли другие мешающие передатчики тот же канал (например, путем измерения SINR). Этой сенсорной информации достаточно, чтобы позволить алгоритмам, основанным на обучающихся автоматах, найти правильную раскраску графа с вероятностью единица. [30]

Вычислительная сложность

[ редактировать ]

Раскраска графа сложна в вычислительном отношении. является NP-полным, Решение о том, допускает ли данный граф k -раскраску для данного k, за исключением случаев k ∈ {0,1,2}. В частности, NP-трудно вычислить хроматическое число. [31] Задача о 3-раскраске остается NP-полной даже на 4-регулярных плоских графах . [32] Однако на графах с максимальной степенью 3 или меньше из теоремы Брукса следует, что задача 3-раскраски может быть решена за линейное время. Далее, для каждого k > 3 k -раскраска плоского графа существует по теореме о четырех цветах , и найти такую ​​раскраску можно за полиномиальное время. Однако поиск лексикографически наименьшей 4-раскраски плоского графа является NP-полным. [33]

Самый известный алгоритм аппроксимации вычисляет раскраску размера не более чем в пределах коэффициента O( n (log log n ) 2 (записать n) −3 ) хроматического числа. [34] Для всех ε > 0 аппроксимация хроматического числа в пределах n 1- е является NP-трудным . [35]

Также NP-трудно раскрасить 3-раскрашиваемый граф в 5 цветов, [36] 4-х раскрасочный график в 7 цветах, [36] и k -раскрашиваемый граф с цвета для k ≥ 5. [37]

Вычисление коэффициентов хроматического полинома #P-сложно . Фактически, даже вычислив значение является #P-трудным в любой рациональной точке k, кроме k = 1 и k = 2. [38] Не существует FPRAS для оценки хроматического полинома в любой рациональной точке k ≥ 1,5, за исключением k = 2, если только NP = RP . [39]

Для раскраски ребер доказательство результата Визинга дает алгоритм, который использует не более Δ+1 цветов. Однако выбор между двумя значениями-кандидатами для краевого хроматического числа является NP-полным. [40] Что касается алгоритмов аппроксимации, алгоритм Визинга показывает, что граничное хроматическое число может быть аппроксимировано с точностью до 4/3,и результат по твердости показывает, что ни один (4/3 − ε )-алгоритм не существует для любого ε > 0, если только P = NP . Это одни из старейших результатов в литературе по аппроксимативным алгоритмам, хотя ни в одной из статей это понятие явно не используется. [41]

Приложения

[ редактировать ]

Планирование

[ редактировать ]

Модели раскраски вершин для решения ряда задач планирования . [42] В самом чистом виде заданный набор заданий необходимо распределить по временным интервалам, для каждого задания требуется один такой интервал. Задания можно планировать в любом порядке, но пары заданий могут конфликтовать в том смысле, что им не может быть назначен один и тот же временной интервал, например потому, что они оба полагаются на общий ресурс. Соответствующий граф содержит вершину для каждого задания и ребро для каждой конфликтующей пары заданий. Хроматическое число графа — это как раз минимальный интервал выполнения , оптимальное время для завершения всех работ без конфликтов.

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

Распределение регистров

[ редактировать ]

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

Учебный подход к этой проблеме заключается в ее моделировании как задачи раскраски графа. [43] Компилятор строит интерференционный граф , где вершины являются переменными, а ребро соединяет две вершины, если они нужны одновременно. Если граф можно раскрасить в k цветов, то любой набор переменных, необходимый одновременно, может храниться не более чем в k регистрах.

Другие приложения

[ редактировать ]

Проблема раскраски графа возникает во многих практических областях, таких как планирование спортивных состязаний, [44] проектирование планов рассадки, [45] расписание экзаменов, [46] планирование движения такси, [47] и решение головоломок судоку . [48]

Другие раскраски

[ редактировать ]

Теория Рэмси

[ редактировать ]

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

Другие раскраски

[ редактировать ]

Раскраску можно также рассматривать для знаковых графов и графиков усиления .

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ М. Кубале, История раскраски графов , в Кубале (2004) .
  2. ^ ван Линт и Уилсон (2001) , гл. 33.
  3. ^ Дженсен и Тофт (1995) , стр. 2.
  4. ^ Все (1949)
  5. ^ Все (1954)
  6. ^ Чжан (1997)
  7. ^ Брукс (1941) .
  8. ^ Декарт (1947) .
  9. ^ Скотт и Сеймур (2020) .
  10. ^ Jump up to: а б Павлик и др. (2014) .
  11. ^ Эрдеш (1959) .
  12. ^ Jump up to: а б Бьорклунд, Хусфельдт и Койвисто (2009) , стр. 550.
  13. ^ Лоулер (1976) .
  14. ^ Йейтс (1937) , с. 66-67.
  15. ^ Кнут (1997) , Глава 4.6.4, стр. 501-502.
  16. ^ Койвисто (2004) , стр. 45, 96–103.
  17. ^ Бейгель и Эппштейн (2005) .
  18. ^ Fomin, Gaspers & Saurabh (2007) .
  19. ^ Замир (2021) .
  20. ^ Уилф (1986) .
  21. ^ Секине, Имаи и Тани (1995) .
  22. ^ Уэлш и Пауэлл (1967) .
  23. ^ Брелаз (1979) .
  24. ^ Jump up to: а б с Льюис (2021) .
  25. ^ Jump up to: а б Шнайдер и Ваттенхофер (2010) .
  26. ^ Коул и Вишкин (1986) , см. также Кормен, Лейзерсон и Ривест (1990 , раздел 30.5).
  27. ^ Голдберг, Плоткин и Шеннон (1988) .
  28. ^ Шнайдер и Ваттенхофер (2008) .
  29. ^ Баренбойм и Элкин (2009) ; Кун (2009) .
  30. ^ Например, см. Лейт и Клиффорд (2006) и Даффи, О'Коннелл и Сапожников (2008) .
  31. ^ Гари, Джонсон и Стокмейер (1974) ; Гэри и Джонсон (1979) .
  32. ^ Дейли (1980) .
  33. ^ Хуллер и Вазирани (1991) .
  34. ^ Халлдорссон (1993) .
  35. ^ Цукерман (2007) .
  36. ^ Jump up to: а б Булин, Крохин и Опршал (2019) .
  37. ^ Врочна и Живны (2020) .
  38. ^ Jaeger, Vertigan & Welsh (1990) .
  39. ^ Голдберг и Джеррум (2008) .
  40. ^ Холиер (1981) .
  41. ^ Крещенци и Канн (1998) .
  42. ^ Маркс (2004) .
  43. ^ Чайтин (1982) .
  44. ^ Льюис (2021) , стр. 221–246, Глава 8: Разработка спортивных лиг.
  45. ^ Льюис (2021) , стр. 203–220, Глава 7: Разработка планов рассадки.
  46. ^ Льюис (2021) , стр. 247–276, Глава 9: Составление расписания университетов.
  47. ^ Льюис (2021) , стр. 5–6, Раздел 1.1.3: Планирование такси.
  48. ^ Льюис (2021) , стр. 172–179, Раздел 6.4: Латинские квадраты и головоломки судоку.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5f6ab26adeb3895be7de4c0d7d97098a__1722207480
URL1:https://arc.ask3.ru/arc/aa/5f/8a/5f6ab26adeb3895be7de4c0d7d97098a.html
Заголовок, (Title) документа по адресу, URL1:
Graph coloring - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)