Раскраска графика - Graph coloring

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

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

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

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

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

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

История

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

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

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

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

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

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

Этот график можно раскрасить 12 разными способами.

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

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

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

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

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

Все неизоморфные графы с 3-мя вершинами и их хроматические многочлены. Пустой график E3 (красный) допускает 1-раскраску; другие не допускают такой окраски. Зеленый граф допускает 12 раскрасок в 3 цвета.

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

Доступные цвета1234
Кол-во раскрасок001272

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

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

Хроматические полиномы для некоторых графов
Треугольник K3
Полный график Kп
Дерево с п вершины
Цикл Cп
Граф Петерсена

Краска окраски

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

Общая окраска

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

Раскраска без надписи

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

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

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

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

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

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

За идеальные графики эта граница жесткая. Поиск клик известен как проблема клики.

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

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

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

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

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

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

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

.

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

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

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

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

Графики с высоким хроматическим числом

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

Теорема Мицельского (Александр Зыков  1949, Ян Мыцельски  1955 ): Существуют графы без треугольников с произвольно высоким хроматическим числом.

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

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

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

Краевая окраска грамм раскраска вершин своего линейный график , наоборот. Таким образом,

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

Более того,

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

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

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

Другие свойства

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

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

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

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

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

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

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

Алгоритмы

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

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

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

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

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

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

С помощью динамическое программирование и ограничение на количество максимальные независимые множества, k-крашиваемость может быть решена во времени и пространстве .[7] Используя принцип включение – исключение и Йейтс Алгоритм быстрого дзета-преобразования,k- возможность окраски можно решить вовремя [6] для любого k. Известно, что более быстрые алгоритмы позволяют раскрашивать в 3 и 4 цвета, что можно решить вовремя. [8] и ,[9] соответственно.

Сокращение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Также NP-сложно раскрасить трехцветный график в 4 цвета.[24] и kраскрашиваемый график с k(бревно k ) / 25 цвета для достаточно большой постоянной k.[25]

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

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

Приложения

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

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

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

Размещение регистров

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

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

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

Проблема раскраски графа возникает во многих практических областях, таких как сопоставление с образцом, составление расписания занятий спортом, составление расписания рассадки, расписание экзаменов, расписание такси и решение Судоку загадки.[32]

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

Теория Рамсея

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

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

Окрашивание также можно рассматривать для подписанные графики и графики усиления.

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

Примечания

  1. ^ М. Кубале, История раскраски графов, в Кубале (2004)
  2. ^ ван Линт и Уилсон (2001, Гл. 33)
  3. ^ Дженсен и Тофт (1995), п. 2
  4. ^ Брукс (1941)
  5. ^ Эрдеш, Пол (1959), «Теория графов и вероятность», Канадский математический журнал, 11: 34–38, Дои:10.4153 / CJM-1959-003-9.
  6. ^ а б Бьёрклунд, Хусфельдт и Койвисто (2009)
  7. ^ Лоулер (1976)
  8. ^ Бейгель и Эппштейн (2005)
  9. ^ Фомин, Гасперс и Саураб (2007)
  10. ^ Уилф (1986)
  11. ^ Секин, Имаи и Тани (1995)
  12. ^ Валлийский и Пауэлл (1967)
  13. ^ Brélaz (1979)
  14. ^ а б Шнайдер (2010)
  15. ^ Коул и Вишкин (1986), смотрите также Кормен, Лейзерсон и Ривест (1990 г., Раздел 30.5)
  16. ^ Гольдберг, Плоткин и Шеннон (1988)
  17. ^ Шнайдер (2008)
  18. ^ Баренбойм и Элькин (2009); Кун (2009)
  19. ^ Например. видеть Лейт и Клиффорд (2006) и Даффи, О'Коннелл и Сапожников (2008).
  20. ^ Гэри, Джонсон и Стокмейер (1974); Гэри и Джонсон (1979).
  21. ^ Дэйли (1980)
  22. ^ Халльдорссон (1993)
  23. ^ Цукерман (2007)
  24. ^ Гурусвами и Кханна (2000)
  25. ^ Хот (2001)
  26. ^ Джагер, Вертиган и валлийский (1990)
  27. ^ Голдберг и Джеррам (2008)
  28. ^ Холиер (1981)
  29. ^ Крещенци и Канн (1998)
  30. ^ Маркс (2004)
  31. ^ Чайтин (1982)
  32. ^ Льюис, Р. Руководство по раскраске графиков: алгоритмы и приложения. Издательство Springer International, 2015.

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

внешняя ссылка