В теория графов, раскраска графов является частным случаем разметки графов ; это присвоение меток, традиционно называемых «цветами», элементам графа с учетом установленных ограничений. В своей простейшей форме это способ раскраски вершин графа таким образом, чтобы никакие две соседние вершины не были одного цвета; это называется раскраской вершины . Точно так же раскраска ребер назначает цвет каждому ребру так, чтобы никакие два соседних ребра не были одного цвета, а раскраска граней плоского графа назначает цвет каждой грани или области, чтобы никакие две грани, имеющие общую границу, не имели одинаковый цвет.
Раскраска вершин обычно используется для задач введения раскраски графов, поскольку другие задачи раскраски могут быть преобразованы в экземпляр раскраски вершин. Например, окраска ребер графа - это просто окраска вершин его линейного графа, а окраска граней плоского графа - это просто окраска вершин его двойственного. Однако проблемы не вершинной раскраски часто формулируются и изучаются как есть. Отчасти это педагогический, а отчасти потому, что некоторые задачи лучше всего изучать в не вершинной форме, как в случае раскраски ребер.
Соглашение об использовании цветов происходит от раскрашивания стран на карте, где каждое лицо буквально окрашено. Это было обобщено для раскраски граней графа , вложенного в плоскость. Планарной двойственностью он стал раскрашиванием вершин и в таком виде обобщается на все графы. В математических и компьютерных представлениях типично использовать первые несколько положительных или неотрицательных целых чисел в качестве цветов. В общем, в качестве в «цветового набора» можно использовать любой конечный набор. Характер проблемы окраски зависит от количества цветов, а не от того, какие они есть.
Раскраска графов имеет множество практических приложений, а также решает теоретические задачи. Помимо классических типов задач установлены ограничения также могут быть на графике, или на способ назначения цвета, или на сам цвет. Он даже приобрел популярность среди широкой публики в форме популярной головоломки с числами Судоку. Раскраска графиков - все еще очень активная область исследований.
Примечание: многие термины, используемые в этой статье, в Глоссарии теории графов.
Первые результаты Процесс раскраски графов имеет дело почти исключительно с планарными графами в форме раскраски карт. Пытаясь раскрасить карту графств Англии, Фрэнсис Гатри постулировал четырехцветную гипотезу, отметив, что четырех цветов достаточно для раскраски карты, так что ни один регион не имеет общей границы. получил такой же цвет. Брат Гатри передал этот вопрос своему учителю математики Августу де Моргану в Университетском колледже, который заключил его в письме Уильяму Гамильтону в 1852 году. Артур Кейли поднял эту проблему на собрании Лондонского математического общества в 1879 году. В том же году Альфред Кемпе опубликовал статью, в которой утверждено, что установил результат и десятилетие проблема четырех цветов считалась решенной. За свои достижения Кемпе был избранным членом Королевского общества, а затем президентом Лондонского математического общества.
В 1890 году Хивуд указал, что аргумент Кемпе неверен.. Однако в статье он доказал теорему о пяти цветах, заявив, что каждая планарная карта может быть раскрашена не более чем в пяти цветах, используя идеи Кемпе. В следующем столетии было разработано огромное количество работ и теорий, чтобы уменьшить количество цветов до четырех, пока теорема о четырех цветах не была окончательно доказана в 1976 году Кеннетом Аппелем и Вольфгангом Хакеном <273.>. Доказательство восходит к идеям Хивуда и Кемпе и в степени игнорирует промежуточные разработки. Доказательство теоремы о четырех цветах также заслуживает внимания как первое крупное компьютерное доказательство.
В 1912 году Джордж Дэвид Биркгоф представил хроматический многочлен для изучения проблем раскраски, который был обобщен на многочлен Тутте с помощью Тутт важные структуры в теории алгебраических графов. Последовательность действий в начале 20 века.
В 1960 году Клод Берже сформулировал другую гипотезу о раскраске графов, сильную гипотезу об идеальном графе, мотивированную теоретико-информационную концепцию, названной представленной концепцией графа. Автор Шеннон. Гипотеза оставалась неразрешенной в течение 40 лет, пока не была установлена в виде знаменитой сильной теоремы об идеальном графе Чудновским, Робертсоном, Сеймуром, и Томас в 2002 году.
Раскраска графов изучалась как алгоритмическая проблема с начала 1970-х годов: проблема хроматических чисел - одна из 21 NP-полных задач Карпа с 1972 года, и примерно в то же время были разработаны различные алгоритмы экспоненциального времени, основанные на отслеживании с возвратом и на повторении удаления-сокращения Зыкова (1949). Одно из основных применений раскраски графов, распределение регистров в компиляторах, было введено в 1981 году.
При использовании без каких-либо проверок раскраска графа почти всегда является правильной раскраской вершин, а именно разметкой вершин графа такими цветами, что никакие две вершины не имеют общих общих края имеют одинаковый цвет. Вершина с петлей (то есть непосредственно с собой) никогда не может быть правильно окрашена, понятно, что графы в этом контексте не имеют петель.
Терминология использования цветов для меток вершин восходит к раскраске карты. Такие метки, как красный и синий, используются только тогда, когда количество цветов невелико, и обычно подразумевается, что метки нарисованы из целых чисел {1, 2, 3,...}.
Раскраска с использованием не более k цветов называется (собственно) k-раскраской . Наименьшее количество цветов, необходимое для раскраски графа G, называется его хроматическим числом и часто обозначается χ (G). Иногда используется γ (G), поскольку χ (G) также используется для обозначения эйлеровой характеристики графа. Графическим может быть присвоена (правильная) k-раскраска, является k-раскрашиваемым, и он является k-хроматическим, если его хроматическое число равно k. Подмножество вершин, которому назначен один и тот же цвет, называется классом цвета, каждый такой класс образует независимый набор. Таким образом, k-раскраска - это то же самое, что разбиение набора вершин на независимых множеств, термины k-partite и k-colorable имеют одинаковое значение.
Хроматический многочлен подсчитывает количество способов раскраски графа, используя не более заданного количества цветов. Например, используя цвета, график на соседнем изображении можно раскрасить 12 способами. Имея только два цвета, его вообще нельзя раскрасить. С четырьмя цветами его можно раскрасить 24 + 4⋅12 = 72 способами: используя все четыре цвета, их четыре! = 24 допустимые раскраски (присвоение четырех цветов любому четырехвершинному графу является правильной раскраской); и для каждого выбора трех из четырех цветов существует 12 допустимых трехцветных раскрасок. Итак, для графика в таблице количества допустимых раскрасок будет начинаться следующим образом:
Доступные цвета | 1 | 2 | 3 | 4 | … |
Количество раскрасок | 0 | 0 | 12 | 72 | … |
Хроматический полином - это функция P (G, t), которая считает количество t-раскрасок G. из названия, для данной G функция действительно является полиномом от t. Для примера графа P (G, t) = t (t - 1) (t - 2), и действительно, P (G, 4) = 72.
Хроматический полином включает в себя, по крайней мере, столько же информации о окрашиваемости G, как и о хроматическом числе. В самом деле, χ - наименьшее натуральное число, не являющееся корнем хроматического многочлена
Полный график Kn | |
Дерево с n вершинами | |
Цикл Cn | |
График Петерсена |
раскраска ребер графа - это правильная раскраска ребер, что означает присвоение цвета ребрам так, чтобы ни одна вершина не инцидентна двум ребрам такого же цвета. цветов называется k-раскраской ребер и эквивалентна задаче разбиения набора ребер на k сопоставлений. Наименьшее количество цветов, необходимое для окраски ребер графа G, - это хроматический индекс или краевое хроматическое число, χ '(G). Раскраска Тейта - это трехреберная раскраска кубического графа. Теорема о четырех цветах эквивалентна утверждению, что каждый плоский кубический граф без мостов допускает раскраску Тейта.
Полная раскраска - это тип раскраски на вершинах и ребрах графа. При использовании без каких-либо уточнений полной раскраска всегда считается правильным в том смысле, что никаким дополнительным вершинам, никаким смежным ребрам, никакому ребру и его конечным вершинам не назначается один и тот же цвет. Общее хроматическое число χ ″ (G) графа G - это наименьшее количество цветов, необходимое для любого общего раскраски G.
Раскраска без метки графа Граф - это орбита раскраски под группы автоморфизмов графа. Если мы интерпретируем раскраску графа на вершинах как вектор в , действие автоморфизма - это перестановка коэффициентов раскраски. Существуют аналоги хроматических многочленов, которые подсчитывают количество немаркированных раскрасок графа из заданного конечного набора цветов.
Присвоение различных цветов вершинам всегда дает правильную окраску, поэтому
Единственными графами, которые могут быть одноцветными, являются графами без ребер. A полный граф из n вершин требует цветов. В оптимальной раскраске должно быть по крайней мере одно из m ребер графа между каждой парой цветовых классов, поэтому
Если G содержит клику размера k, то для раскрашивания этого требуется не менее k цветов клика; Словами, хроматическое число - это другими по крайней мере кликовое число:
Для совершенных графов эта граница жесткая. Поиск клик известен как проблема клик.
Двукратные графы - это в точности двудольные графы, включая деревья и леса. По теореме о четырех цветах любой плоский граф может быть четырехцветным.
A жадная раскраска показывает, что любой граф можно раскрасить на один цвет больше, чем максимальная вершина степени,
Полные графы имеют и и нечетные циклы имеют и , поэтому для этих графиков эта граница является наилучшей. Во всех остальных случаях оценка может быть немного улучшена; Теорема Брукса утверждает, что
За прошедшие годы было обнаружено несколько нижних границ для хроматических границ:
Граница Хоффмана: Пусть будет вещественной симметричной матрицей, такой что всякий раз, когда не является ребром в . Определите , где - наибольшее и наименьшее собственные значения . Определим с , как указано выше. Тогда:
Векторное хроматическое число: Пусть быть положительной полуопределенной матрицей, такой что всякий раз, когда является ребром в . Определите как наименьшее k, для которого такая матрица существует. Тогда
Число Ловаса : Число Ловаса дополнительного графа также является нижней границей хроматического числа:
Дробное хроматическое число : Дробное хроматическое число графа - это нижняя граница хроматического числа:
Эти границы упорядочены следующим образом:
Графы с большими кликами имеют высокое хроматическое число, но обратное неверно. Граф Грёча является примером 4-хроматического графа без треугольника, и этот пример можно обобщить на Mycielskians.
Согласно теореме Брукса, высшая степень. Еще одно локальное свойство, приводящее к высокому хроматическому питанию, - это наличие большого клики. Но раскрашиваемость не является полностью локальным явлением: граф с большим обхватом выглядит локально как дерево, потому что все циклы длинные, но его хроматическое число не обязательно должно быть 2:
Раскраска ребер G - это раскраска вершин его линейного графа , и наоборот. Таким образом,
Существует сильная взаимосвязь между окрашиваемостью краев и максимальной степенью графа . Время всем ребрам, инцидентным одной вершине, нужен свой цвет, мы имеем
Кроме того,
В общем, связь даже сильнее, чем то, что дает теорема Брукса для раскраски вершин:
Граф имеет k-раскраску тогда и только тогда, когда он имеет ациклическую ориентацию, для которой самый длинный путь имеет длину не больше k; это теорема Галлаи - Хассе - Роя - Витавера (Nešetřil Ossona de Mendez 2012).
Для плоских графов раскраска вершин по существу двойственна потокам нигде-ноль.
О бесконечных графах известно гораздо меньше. Ниже приведены два из немногих результатов о раскраске бесконечного графа:
Как указано выше, Гипотеза Рида 1998 года состоит в том, что значение существенно ближе к нижней границе,
Хроматическое число плоскости, где две точки являются смежными, если они имеют единичное расстояние, неизвестно, хотя это одно из 5, 6, или 7. Другие открытые проблемы, касающиеся хроматическогочисло графов, включая в себя гипотезу Хадвигера о том, что каждый граф с графическим числом имеет полный граф на k вершинах как минор, гипотеза Эрдеша - Фабера - Ловаса, ограничивающее хроматическое число о бъединений полных графов, которые имеют не более одной общей вершины для каждой пары, и гипотеза Альбертсона о том, что k-хроматических графов полные графы - это графы с наименьшим пересечения число пересечения.
Когда Биркгоф и Льюис ввели хроматический полином в атаке на теорему о четырех цветах, они предположили, что для плоских графов G полином не имеет нулей в области . Хотя известно, что такой хроматический многочлен не имеет нулей в области и что , их гипотеза все еще не решена. Также остается нерешенная проблема характеризовать графы, которые имеют один и тот же хроматический многочлен, определять, какие многочлены являются хроматическими.
Раскраска графа | |
---|---|
Решение | |
Имя | Раскраска графа, раскраска вершин, k-раскраска |
Входные данные | График G с n вершинами. Целое число k |
Выходные данные | Допускает ли G правильную раскраску вершин в k цветов? |
Время выполнения | O (2n) |
Сложность | NP-полная |
Сокращение от | 3-удовлетворяемости |
Гэри - Джонсон | GT4 |
Оптимизация | |
Имя | Хроматическое число |
Входные данные | График G с n вершинами. |
Выходные данные | χ (G) |
Сложность | NP-hard |
Приближенность | O (n (log n) (log log n)) |
Неприближаемость | O (n), если P = NP |
Проблема подсчета | |
Имя | Хроматический многочлен |
Входные данные | График G с n вершинами. Целое число k |
Выходные данные | Число P (G, k) правильных k-раскрасок G |
Время выполнения | O (2n) |
Сложность | # P -Полное |
Аппроксимируемость | FPRAS для ограниченных случаев |
Неприближаемость | Нет PTAS, если P = NP |
Определение того, можно ли раскрасить граф в 2 цвета, эквивалентно определению того, является ли граф двудольным и, следовательно, вычислимым за линейное время с использованием поиска в ширину или поиск в глубину. В более общем смысле, хроматическое число и соответствующая раскраска совершенных графов могут быть вычислены за полиномиальное время с использованием полуопределенного программирования. Замкнутые формулы для хроматического полинома известны для многих классов графов, таких как леса, хордовые графы, циклы, колеса и лестницы, поэтому их можно вычислить за полиномиальное время.
Если граф плоский и имеет небольшую ширину ветвления (или неплохой, но с известным разложением ветвей), то его можно решить за полиномиальное время с помощью динамического программирования. В общем, требуемое время полиномиально по размеру графа, но экспоненциально по ширине ветвления.
перебор для k-раскраски учитывают каждое из присвоений k цветов до n вершин и проверяет каждую, допустимо ли это. Чтобы вычислить хроматическое число и хроматический многочлен, эта процедура используется для каждого , непрактично для всех входных графиков, кроме самых маленьких.
Используя динамическое программирование и ограничение количества максимальных независимых множеств, k-раскрашиваемость может быть определена во времени и пространстве . Используя принцип включения-исключения и алгоритма Йейтса для быстрого дзета-преобразования, k-окрашиваемость может быть определена за время для любого k. Известны более быстрые алгоритмы для 3- и 4-цветовой раскраски, которая может быть определена за время и соответственно.
Сжатие графа G - это граф, полученный путем идентификации вершины u и v и удалив все ребра между ними. Остальные ребра, изначально инцидентные u или v, теперь инцидентны их идентификации. Эта операция играет важную роль при анализе раскраски графов.
Хроматическое число удовлетворяет рекуррентному действию :
из-за Зыкова (1949), где u и v несмежны вершин, а - граф с добавленным ребром ув. Несколько алгоритмов основаны на оценке этой повторяемости, и результирующее дерево вычислений иногда называют деревом Зыкова. Время работы основано на эвристике для выбора вершин u и v.
Хроматический многочлен удовлетворяет следующему рекуррентному использованию
, где u и v - вспомогательные вершины, и - граф с удаленным ребром ув. представляет количество правильных раскрасок графа, где вершины могут иметь одинаковые или разные цвета. Тогда правильные раскраски возникают из двух разных графов. Чтобы объяснить, что имеют вершины u и v разные цвета, мы могли бы рассмотреть граф, в котором u и v смежны. Если u и v имеют одинаковые цвета, мы бы могли рассмотреть граф, в котором u и v сжаты. Тютте, любопытство по поводу того, какие другие свойства графа удовлетворяют это повторение, привело к открытию двумерного обобщения хроматического полинома, полинома Тутте.
Эти выражения приведены к рекурсивной процедуре, называемой удаленным - алгоритмом сжатия, который лежит в основе многих алгоритмов раскраски графов. Время выполнения удовлетворяет тому же результату, что и число Фибоначчи, поэтому в худшем случае алгоритм работает во времени с полиномиальным множителем для n вершин и m ребер. Анализ можно улучшить с точностью до полиномиального множителя числа из остовных деревьев входного графа. На практике, чтобы избежать некоторых рекурсивных программ, используются стратегии ветвей и границ и отказ от изоморфизма графов. Время выполнения зависит от эвристики, используемой для выбора пары вершин.
жадный алгоритм рассматривает вершины в определенном порядке ,…, и назначает в наименьший доступный цвет, не использованный соседями среди ,…, , при необходимости добавляя новый цвет. Качество полученной окраски зависит от выбранной вами расцветки. Существует порядок, который приводит к жадной раскраске с оптимальным числом цветов. С другой стороны, жадные раскраски могут быть сколь угодно плохими; например, граф короны на вершинах может быть двухцветным, но имеет порядок, который приводит к жадной окраске с цвета.
Для хордовых графов и для особых случаев хордовых графов, таких как интервальные графы и графы безразличия, можно использовать алгоритм жадной окраски найти оптимальные раскраски за полиномиальное время, выбрав порядок вершин, обратный порядку идеального исключения для графа. идеально упорядоченные графы содержат это свойство, но найти идеальный порядок этих графов NP-сложно.
Если вершины упорядочены в соответствии с их степенями, в результирующей жадной раскраске используется не более цветов, максимум на один больше, чем максимальная степень графика. Эту эвристику иногда называют алгоритмом Уэльса - Пауэлла. Другая эвристика, связанная с Brélaz, устанавливает порядок динамически, пока алгоритм продолжает работу, выбирая следующую вершину, соответствующую с наибольшим числом разных цветов. Многие алгоритмы альтернативного алгоритма основаны на жадной раскраске другие стратегии статической или динамической упорядочивания вершин, эти алгоритмы иногда называют алгоритмами последовательной раскраски .
Максимальное (наихудшее) цветов, которое может быть получено с помощью жадного алгоритма с использованием порядка вершин, выбранного для максимизации этого числа, называется числом Гранди графа.
В области распределенных алгоритмов раскраска графов соединенных алгоритмов нарушения симметрии. Современные рандомизированные алгоритмы быстрее при достаточно большой максимальной степени Δ, чем детерминированные алгоритмы. Самые быстрые рандомизированные алгоритмы используют метод множественных испытаний Шнайдера и др.
. В симметричный графе детеррованный распределенный алгоритм не может найти правильная раскраска вершины. Некоторая вспомогательная информация необходима, чтобы нарушить симметрию. Стандартное предположение состоит в том, что изначально каждый узел имеет уникальный идентификатор, например, из набора {1, 2,..., n}. Иначе говоря, предполагаем, что нам дана n-раскраска. Задача состоит в том, чтобы уменьшить количество цветов с n, например, до Δ + 1. Чем больше цветов используется, например, O (Δ) вместо Δ + 1, требуется меньше раундов связи.
Прямая распределенная версия жадного алгоритма для (Δ + 1) -раскраски требует Θ (n) раундов связи в худшем случае - может потребоваться распространение информации с одной стороны сети на другую.
Простейший интересный случай - это n- цикл. Ричард Коул и Узи Вишкин показывают, что существует распределенный алгоритм, который уменьшает количество цветов с n до O (log n) за один синхронный шаг связи. Повторяя ту же жизнь, можно получить 3-цветную раскраску n-го цикла за цикл O (log * n) шагов связи (при условии, что у нас есть уникальные идентификаторы узлов).
Функция log *, повторный логарифм, является очень медленно растущей функцией, «почти постоянной». Следовательно, результат Коула и Вишкина поднял вопрос о том, существует ли распределенный алгоритм с постоянным временем для 3-раскраски n-цикла. Linial (1992) показал, что это невозможно: любой детерминированный распределенный алгоритм требует Ω (log * n) шагов связи для уменьшения n-раскраски до 3-раскраски в n -цикл.
Техника Коула и Вишкина также может применяться к произвольным графам ограниченной степени; время работы составляет poly (Δ) + O (log * n). Этот метод был расширен до графов единичных дисков Шнайдером и др. Самые быстрые детерминированные алгоритмы (Δ + 1) -раскрашивания для малых Δ принадлежат Леониду Баренбойму, Майклу Элькину и Фабиану Куну. Алгоритм Баренбойма и др. выполняется за время O (Δ) + log * (n) / 2, что является оптимальным с точки зрения n, поскольку постоянный множитель 1/2 не может быть улучшен из-за нижней границы Линиала. Panconesi Srinivasan (1996) использовать разложение сети для вычисления раскраски Δ + 1 во времени .
Проблема раскраски ребер также изучалась в распределенной модели. Panconesi Rizzi (2001) в этой модели достигают (2Δ - 1) -раскрашивания за O (Δ + log * n) времени. Нижняя граница для распределенной окраски вершин согласно Linial (1992) применима также к проблеме распределенной окраски ребер.
Децентрализованные алгоритмы - это алгоритмы, в которых передача сообщений не разрешена (в отличие от распределенных алгоритмов, в которых происходит локальная передача сообщений), и существуют эффективные децентрализованные алгоритмы, которые окрашивают график, если правильная окраска существует. Они предполагают, что вершина способна определять, использует ли какой-либо из ее соседей тот же цвет, что и вершина, то есть существует ли локальный конфликт. Это умеренное предположение во многих приложениях, например. при распределении беспроводных каналов обычно разумно предположить, что станция сможет определить, используют ли другие мешающие передатчики тот же канал (например, путем измерения SINR). Этой сенсорной информации достаточно для того, чтобы алгоритмы, основанные на обучающихся автоматах, могли найти правильную раскраску графа с вероятностью единица.
Раскраска графа сложна в вычислительном отношении. Это NP-полный, чтобы решить, допускает ли данный граф k-раскраску для данного k, за исключением случаев k ∈ {0,1,2}. В частности, вычислить хроматическое число NP-сложно. Проблема 3-раскраски остается NP-полной даже на 4-регулярных планарных графах. Однако для любого k>3 существует k-раскраска плоского графа по теореме о четырех цветах, и можно найти такую раскраску за полиномиальное время.
Самый известный алгоритм аппроксимации вычисляет раскраску размером не более чем в пределах коэффициента O (n (log log n) (log n)) хроматического числа. Для всех ε>0 аппроксимация хроматического числа в пределах n является NP-сложной.
Также NP-сложно раскрасить трехкратный граф в 4 цвета и k-окрашиваемый граф в k цветов для достаточно больших константа k.
Вычисление коэффициентов хроматического полинома: # P-hard. Фактически, даже вычисление значения является # P-сложным в любой рациональной точке k за исключением k = 1 и k = 2. Не FPRAS для анализа хроматического полинома в любой рациональной точке k ≥ 1,5, за исключением k = 2, за исключением NP = RP.
для окраски краев, доказательство результата Визинга дает алгоритм, использующий не более Δ + 1 цветов. Однако выбор между двумя значениями-кандидатами для краевого хроматического числа является NP-полным. Что касается алгоритмов аппроксимации, алгоритм Визуально показывает, что хроматическое число может быть аппроксимировано с точностью до 4/3, а результат твердости показывает, что (4/3 - ε) -алгоритм не существует для любого ε>0, кроме P = NP. Это одни из самых старых результатов в литературе по аппроксимационным алгоритмам, хотя ни в одной из статей это понятие явно не используется.
Модели раскраски вершин по числу из задач планирования. Одно из самых чистых заданий требует одного такого интервала. Задания могут быть назначены в любом порядке, но пары заданий могут быть указаны в том смысле, что они не могут быть назначены на одно и то же время, например, потому что они оба полагаются на общий ресурс. Соответствующий граф содержит вершину для каждой работы и ребро для каждой конфликтующей пары работ. Хроматическое число графа - это как раз минимальное время изготовления, оптимальное время для завершения всех работ без конфликтов.
Детали задачи определения устойчивости графа. Например, при назначении самолетов для полетов результирующий граф представляет собой интервальный граф, проблема окраски может быть решена поэтому эффективно. В распределении полосы пропускания радиостанции, результирующий графом единичного диска является графом единичного диска, поэтому проблема раскраски является 3-аппроксимируемой.
A компилятор - это компьютерная программа, которая переводит один компьютерный язык в другой. Чтобы сократить время выполнения результирующего кода одним из методов оптимизации компилятора является выделение регистров, при котором наиболее часто используемые значения скомпилированной программы хранятся в быстром регистрах процессора. В идеале значения назначаются регистры, чтобы все они могли находиться в регистрах, когда они использовались.
Хрестоматийный подход к этой проблеме в моделировании ее задачи раскраски графа. Компилятор строит интерференционный граф, в котором вершины являются переменными, а ребро соединяет две вершины, если они необходимы одновременно. Если граф можно раскрасить в k цветов, то любой набор чисел, необходимых одновременно, можно сохранить не более чем в k регистрах.
Проблема раскрашивания графика во многих практических областях, таких как сопоставление с образцом, планирование занятий спортом, разработка планов рассадки, расписание экзаменов, расписание такси., а также решение судоку головоломок.
Важный класс проблем неправильной раскраски изучается в теории Рамсея, где ребрам графа присвоены цвета, и нет ограничений на цвета инцидентных ребер. Примером является теорема о дружбе, которая утверждает, что при любом раскраске ребер полный граф из шести вершин, получится монохромный треугольник; часто изображается высказыванием, что в любой группе из шести человек есть либо три общих незнакомца, либо три общих знакомых. Теория Рамсея включает обобщение этой идеи для поиска регулярных функций беспорядка, нахождения средств существования монохроматических подграфов с заданной структурой.
|
|
. Цвета также могут быть рассмотрены для графиков со знаком и графиков усиления.
На Викискладе есть медиафайлы, связанные с Раскраска графа. |