В теории графов слабая раскраска является частным случаем разметки графа . Слабая k -раскраска графа G = ( V , E ) назначает цвет c ( v ) ∈ {1, 2, ..., k } каждой вершине v ∈ V , так что каждая неизолированная вершина смежна по крайней мере с одной вершиной с другим цветом. В обозначениях для каждой неизолированной v ∈ V существует вершина u ∈ V с { u , v } ∈ E и c ( u ) ≠ c ( v ) .
На рисунке справа показана слабая 2-раскраска графа. Каждая темная вершина (цвет 1) смежна по крайней мере с одной светлой вершиной (цвет 2) и наоборот.
Раскраска вершин графа является слабой раскраской, но не обязательно наоборот.
Каждый граф имеет слабую 2-раскраску. Рисунок справа иллюстрирует простой алгоритм построения слабой 2-раскраски в произвольном графе. Часть (a) показывает исходный граф. Часть (b) показывает дерево поиска в ширину того же графа. Часть (c) показывает, как раскрасить дерево: начиная с корня, слои дерева попеременно раскрашиваются цветами 1 (темный) и 2 (светлый).
Если в графе G нет изолированных вершин , то слабая 2-раскраска определяет доматическое разбиение : множество узлов с c ( v ) = 1 является доминирующим множеством , а множество узлов с c ( v ) = 2 является другим доминирующим множеством.
Исторически слабая раскраска послужила первым нетривиальным примером графовой проблемы, которая может быть решена с помощью локального алгоритма ( распределенного алгоритма , который работает за постоянное число синхронных раундов связи). Точнее, если степень каждого узла нечетна и ограничена константой, то существует распределенный алгоритм постоянного времени для слабой 2-раскраски. [1]
Это отличается от (неслабой) раскраски вершин : не существует распределенного алгоритма с постоянным временем для раскраски вершин; наилучшие возможные алгоритмы (для нахождения минимальной, но не обязательно минимальной раскраски) требуют O ( log * | V |) раундов связи. [1] [ 2] [3] Здесь log * x — это итерированный логарифм x .