В. В. Родионов
МЕТОДЫ ЧЕТЫРЕХЦВЕТНОЙ РАСКРАСКИ ВЕРШИН ПЛОСКИХ ГРАФОВ
МОСКВА URSS
ББК 22.174 22.18
Родионов Владимир...
8 downloads
525 Views
746KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
В. В. Родионов
МЕТОДЫ ЧЕТЫРЕХЦВЕТНОЙ РАСКРАСКИ ВЕРШИН ПЛОСКИХ ГРАФОВ
МОСКВА URSS
ББК 22.174 22.18
Родионов Владимир Васильевич Методы четырехцветной раскраски вершин плоских графов. — М.: КомКнига, 2005. - 48 с. ISBN 5-484-00127-7 В настоящей книге рассматриваются проблема четырех красок и вопросы ее возникновения, постановки и решения. Вначале дается историческая справка, содержащая различные, в том числе противоположные суждения по данным вопросам. Излагается предпринятая автором попытка решения задачи о раскраске вершин произвольного графа. В основе такого решения лежит утверждение, что окрестность вершины графа раскрашивается не более чем четырьмя красками. Это утверждение используется, например, при встречной раскраске, когда часто возникает ситуация, при которой две смежные вершины должны раскрашиваться одной краской. Показано, как можно преодолеть такую ситуацию, и, таким образом, свести, например, задачу раскраски географической карты к раскраске вершин двойственного графа. Доказано необходимое и достаточное условие раскраски двойственного графа не более чем четырьмя красками. Приводится линейная относительно числа вершин графа оценка числа операций для правильной раскраски вершин произвольного плоского графа. Книга будет полезна научным работникам, студентам и аспирантам естественных вузов, знакомым с понятиями теории графов и занимающимся проблемами дискретной математики.
Текст опубликован в авторской редакции.
Издательство «КомКнига». 117312, г. Москва, пр-т 60-летия Октября. 9. Подписано к печати 17.06.2005 г. Формат 60x90/16. Печ. л. 3. Зак. № 105. Отпечатано в ООО «ЛЕНАНД». 117312, г.Москва, пр-т 60-летия Октября, д. 11А, стр.11.
ISBN 5-484-00127-7
© КомКнига, 2005
3365 ID 28906
Посвящается памяти Виктора Павловича Черенина
1. Возникновение и постановка задачи По-видимому, впервые проблема четырёх красок была поставлена немецким математиком А. Мёбиусом (A. Mobius); имеются сведения об устном сообщении на лекциях в 1840г. [2, 3]. Первоначально проблема формулировалась в терминах раскраски географической карты так, чтобы две любые страны, имеющие общую границу, не были окрашены двумя одинаковыми цветами. И тем не менее, в октябре 2002 г. в Великобритании отмечалось 150-летие проблемы четырех красок и 25-летие ее решения, данного К. Аппелем (К. Appel), У. Хакеном (W. Haken) и Дж. Кохом (J. Koch). В октябре того же года эти события отмечались в течение специальной праздничной недели, а в декабре в Информационном Бюллетене Европейского Математического общества появилась статья Р. Вильсона (R. Wilson) [7], краткое содержание которой излагается ниже. В 1852 г. Френсис Гутри (Francis Guthrie), студент Де Моргана (De Morgan), профессора Университетского колледжа Лондона, раскрашивая карту графств Великобритании, заметил, что четырех красок достаточно для раскрашивания карты, какой бы сложной она не была. 23 октября того же года брат Гутри, Фредерик, задал такой вопрос Де Моргану, который сразу же заинтересовался им и сообщил о нем своим друзьям математику сэру У. Гамильтону (W. R. Hamilton) и философу У. Вевеллу (W. Whe-
3
Методы четырехцветной раскраски вершин плоских графов
well). В письме Гамильтону Морган изложил проблему, привел пример карты, требующей для раскраски четыре цвета, и поставил вопрос о том, можно ли предъявить карту, требующую для раскраски пять или более цветов. В анонимной рецензии, написанной на самом деле Морганом, на книгу Вевелла «Философия открытия» содержится следующее любопытное замечание: «Стало быть, составителям карт с давних пор известно, что четырех разных цветов достаточно..., чтобы отметить (на карте) все необходимые различия». Таким образом, впервые была опубликована постановка проблемы. Действительно, например, в книге кандидата исторических наук Л. С. Чекина [9] упоминаются цветные карты: Туринская карта XII в. до н. э., карта Черного моря III в. н.э., карта Семена Ремизова 1700 г., в которой разными цветами раскрашены ареалы сибирских племен и народов, и другие. Но в те времена цвета не использовались для разграничения политических образований, и только с XVI в. цвета стали использовать по-современному, для обозначения территорий. Видимо, в то время картографов не интересовал вопрос о минимальном числе цветов для раскраски карт. Проблему можно сформулировать в терминах графов, если заменить географическую карту графом, расположенным на плоскости (или, что равносильно, на сфере), и тогда вопрос заключается в такой раскраске граней графа наименьшим числом цветов, при которой любые две грани (страны), имеющие общее ребро, не раскрашиваются одинаково. Если построить двойственный граф, вершины которого соответствуют граням данного графа, а ребра соединяют вершины, соответствующие граням, имеющим общее ребро, то задача сводится к раскраске вершин 4
1. Возникновение и постанвка задачи
плоского графа так, чтобы любая пара его смежных вершин раскрашивалась разными цветами, и в этом случае раскраска вершин графа называется правильной. Обозначим этот граф буквой G. Наименьшее число цветов, которыми можно раскрасить вершины графа называют хроматическим числом графа и обозначают через χ(G). Ясно, что для непустого графа χ(G) ≥ 1. Доказано также, что для плоского графа 1 ≤ χ(G) ≤ 5. До настоящего времени высказывается гипотеза, что для любого плоского графа max χ(G) = 4. Это справедливо и для планарного графа, поскольку планарный граф по определению изоморфен некоторому плоскому графу.
2. Краткая историческая справка Проблема раскраски плоских графов является одной из самых известных проблем в изучении графов. Существует мнение, что примерно с середины XIX в. многие математики и «целые полчища дилетантов» пытались решить проблему четырех красок, так как её формулировка «заманчиво проста» [2]. Эту проблему пытался решить известный английский математик А. Кэли (A. Cayley), но в 1878 г. объявил, что не может её решить, а в 1879 г. опубликовал формулировку проблемы (совместно с А. Кемпе) в Трудах Лондонского Королевского Географического общества. Первые доказательства проблемы появились в 1879 и 1880 гг. В 1879 г. в Шотландии П. Тэйтом (P. Tait) опубликовано первое частное решение проблемы, в котором впервые раскраска картыграфа сводится к раскраске вершин двойственного графа. П. Тейт полагал, что кубический граф без перешейков всегда имеет гамильтонов цикл и поэтому раскрашивается четырьмя цветами. Однако в 1946 г, У. Татт (W. Tatte) показал, что это неверно, и привел пример кубического графа с 46 вершинами, не являющегося гамильтоновым, и впоследствии доказал, что однородный кубический граф (все степени его вершин Δ = 3) правильно раскрашивается. В 1880 г. в Лондонском журнале «Nature» появилась статья адвоката А. Кемпе (А. Кетре) «Как раскрасить карту четырьмя красками», в которой автор доказывает, что, применяя определенные правила перекраски вершин графа, можно решить указанную про блему. Спустя десять лет, английский математик
6
2. Краткая историческая справка
П. Хивуд (Р. Неаwood) обнаружил ошибку в доказательстве. Но доказательство А. Кемпе содержало идею, позволившую П. Хивуду уже без ошибок получить более слабую оценку для хроматического числа, χ(G) ≤ 5. Если до этого все пытались решить проблему непосредственно путем различных раскрасок и перекрасок граней графа, то после Хивуда основные усилия математиков были направлены на поиски доказательства существования правильной раскраски. В 1920 г, американский математик Ф. Франклин (Ph. Franklin) доказал, что гипотеза четырех красок верна для всех плоских графов с числом вершин, не превышающим 25. В 1926 г. С. Рейнгольде (S. Raingolds) получил правильную раскраску для плоских графов с числом вершин п ≤ 27. В 1936 г. Ц. Франклин снова увеличил это число до 31. Затем С. Уинн (С. Winn) довел это число до 35. И когда в 1975 г. профессор французской литературы Ж. Майер (J. Mayer) показал, что правильно раскрашиваются плоские графы с числом вершин, не превышающим 96, стало ясно, что дальнейшее увеличение числа вершин не приведет к решению проблемы [5, 6]. Упомянутые выше методы предназначены для раскраски карт (граней графа), кроме метода Тэйта, с помощью которого раскрашиваются вершины двойственного графа. Достаточным условием правильной раскраски плоского графа является условие Δ(G) ≤ 5, И. Аартс, Де Грот (J. Aarts, De Groot, 1962г.). В 1973 г. М. Крол (М. Croll) доказал необходимое и достаточное условие для класса плоских графов, имеющих хроматическое число χ(G) = 3, если такие графы являются подграфами плоских триангуляции с четными степенями вершин. Предпринимались также попытки раскрасить произвольные плоские графы, предварительно раскрасив четырьмя красками плоскую триангуляцию, подграфом которой являлся бы рассмат-
7
Методы четырехцветной раскраски вершин плоских графов
риваемый плоский граф. Доказан ряд теорем о раскрасках плоских триангуляции (Р. Тэйт, В. Волынский, Р. Хивуд, Дж. Петерсен и др.), в которых изложены необходимые и достаточные условия для раскраски триангуляции четырьмя красками. Однако непростой оказалось специальная разметка ребер, которая получается довольно сложно и не всегда. Наряду с попытками строгого доказательства теоремы о четырёх красках предпринимались попытки её статистического подтверждения, как машинные эксперименты, так и теоретические исследования (см., например, X. Ямабе, Д. Поуп, Н. Шор, Г. Донец, Д. Кесельман, А. Зыков и др.). Эти попытки привели к предположению, что триангуляции, не допускающие правильных раскрасок вершин не более, чем четырьмя цветами, если и существуют, то встречаются очень редко. Многие попытки доказательства того, что триангуляции могут правильно раскрашиваться, основываются на исследовании так называемых конфигураций (подграфов, определяемых внутренней областью и циклом). Конфигурация называется приводящей, если всякую содержащую её триангуляцию можно так преобразовать, уменьшая число вершин, чтобы из правильной раскраски полученной триангуляции следовала бы правильная раскраска исходной. Еще в 1913 г. Г. Биркгоф (G. Birkhoff) выделял некоторые типы конфигураций С с ограничивающим циклом Ĉ, преобразование которых приводило бы содержащую их триангуляцию Т к правильной раскраске. Он же высказал три возможные альтернативы дальнейших исследований проблемы четырех красок: 1) гипотеза не верна; 2) можно найти такое множество приводящих конфигураций, что любой плоский граф содержит хотя бы одну из них; 3) потребуются более сложные методы исследований. 8
2. Краткая историческая справка
В шестидесятых годах XIX в. X. Хиш (Н. Heesch), исследуя структуру плоских графов, сконструировал множество из 8900 различных конфигураций (приводящих и неприводимых) и разработал процедуру, в результате которой получаются 200 «географически хороших» конфигураций, а оставшиеся, как он полагал, могут оказаться приводящими. В 1970 г. X. Хиш сообщил У. Хакену этот, еще неопубликованный, результат. В 1972 г. У. Хакен привлек к исследованиям К. Аппеля, и они совместно улучшили процедуру получения положительных конфигураций, в которой используется ЭВМ [6]. В «машинном» доказательстве, завершенном К. Аппелем и У. Хакеном и реализованном вместе Дж. Кохом на ЭВМ в 1977 г., удалось выделить конечное подмножество приводящих конфигураций, уменьшить их число до 1476, и «их количество продолжает уменьшаться.» «После появления результатов К, Аппеля и У Хакена иногда высказывались сомнения по поводу, того, что в процессе столь трудоемкой работы не оказался не упущенным ни один случай. Однако дальнейшее совершенствование машинных программ, а также переложение на плечи ЭВМ значительно большей доли труда, включая проверку полноты списков возможных случаев, без сомнения приведёт к такому положению, когда машинное доказательство можно будет считать даже более надежным, чем сложное «классическое» рассуждение, в котором и, спустя десятилетия, не исключена возможность обнаружить ошибку». [2] Существует и другая точка зрения: «Коллективу математиков и программистов удалось правильно раскрасить все графы из большого, но конечного множества U так называемых приводящих конфигураций, затратив на это около двух тысяч часов работы мощной ЭВМ, что позволило им заявить о доказательстве ги-
9
Методы четырехцветной раскраски вершин плоских графов
потезы четырех красок. Тем не менее трудно согласиться с таким доказательством, поскольку и сведение общего случая к конфигурациям, и раскраску последних очень трудно повторить» [4]. Спустя 20 лет, в 1997 г., была опубликована работа [8], в которой используется тот же подход к раскраске вершин графа, как в работе Аппеля и Хакена, но, как утверждают авторы, их доказательство более простое, а в работе [7] автор пишет, что оно более структурированное. Но ни в первой, ни во второй работах не доказывается, что число конфигураций 1486 и 633 соответственно, достаточно для раскраски всех плоских графов, но в обеих работах утверждается, что их число может быть уменьшено. Обе работы используют специальные правила для раскраски конфигураций, в первой — 300, во второй — 32, «которые выбирались методом проб и ошибок, и для них нет никакого плана или образца». Поскольку в обеих работах используется один подход к раскраске графов, рассмотрим, как это делается во второй работе. Предлагается несколько алгоритмов раскраски графа в зависимости от того, является ли граф триангуляцией или нет. Рассмотрим лишь две процедуры, при выполнении которых, по мнению авторов, необходимо использовать компьютер, но машинные доказательства большинство математиков не принимают. Если граф является триангуляцией, то любая его вершина есть либо «концентратор колеса», либо вершина «короткого контура»*. «Колесом» авторы называют подграф, образованный двумя концентрическими контурами, не имеющими общих вершин. Оба контура являются простыми циклами. Вершина внутри внутреннего контура, смежная со всеми вершинами первого контура, называется «концентратором». Вершины, смежные концентратору, называют *Слова и словосочетания в кавычках — это выражения авторов работы [8]. 10
2. Краткая историческая справка
«спицами». Каждая «спица» смежна не менее, чем с двумя вершинами внешнего контура, которые называют «веерными». «Колесо» раскрашивается следующим образом. Сначала в подграфе-колесе отыскивают методом ветвей и границ конфигурации, каждая из которых должна входить в список 633 конфигураций. Это доказывается для «колес» с «концентраторами», степень которых равна 5 или 6. Для степеней концентраторов, равных 6, 7,..., 11 у авторов есть «машинное доказательство, но оно очень длинное (вместе около 13 000 строк, или операторов), и большая часть строк „требует некоторых усилий“ для их проверки, и поэтому в статье не изложено. Единственным доказательством служит факт их проверки на компьютере». Для колес, степень концентраторов которых больше 11, доказательство проводится со ссылкой на предыдущее. Если выбираемая вершина не является концентратором, то она может быть вершиной «короткого» контура, причем «коротким» авторы называют контур, имеющий не более пяти ребер. Тогда к этому «короткому» контуру присоединяют другие конфигурации из объявленного списка, и это «свободное расширение» может привести к раскраске вершин всего графа. Следует отметить, что время поиска «короткого» контура или колеса далеко не пропорционально n — числу вершин графа, а гораздо больше. Раскраска конфигураций в свободном расширении и одновременно обнаружение «нехорошей» конфигурации или, как ее называют авторы контрпримера, и считают, что эти операции должны проводиться только на машине (за несколько минут). В то время как вручную «эту процедуру можно выполнить за несколь ко месяцев». Авторы полагают, что процедуру поиска
11
Методы четырехцветной раскраски вершин плоских графов
«хороших» конфигураций в «колесе» можно осуществить только на ЭВМ. Ниже будет показано (разделы 5, 8), что первая и вторая процедуры - легко выполняются вручную, причем число операций для раскраски всего графа пропорционально числу его вершин. Заметим также, что авторы рассматривают случай «оборачивающихся» конфигураций на себя, а такой случай, как встречная раскраска конфигураций, когда пара смежных вершин по алгоритму должна раскрашиваться одним цветом, вообще не рассматривают. Это может произойти тогда, когда граф имеет, например, кольцеобразную структуру, но этот и другие случаи рассмотрим ниже. Таким образом, читатель, изучивший эту работу и овладевший необходимыми программами, может раскрасить граф в одних случаях, а в других — не раскрасить. Это же относится и к первой работе (Аппеля и Хакена). Для обоих методов существует оценка числа операций относительно n — числа вершин графа. Для первого метода эта 2 оценка равна Сп , где С — постоянная порядка 106 [6]. Для второго метода авторы считают, что эта оценка квадратичная (без обоснований), в работе [7] оценка числа операций уточняется (тоже без обоснований) и оказывается равной 4n2. Необходимые материалы вместе с программами доступны в электронном виде по адресу: http://www.math.getech.edu/~thomas/Fc/ftpinfo.html [8]. Более тридцати лет группа математиков и программистов, руководимая О. Оре (О. Ore) и Г. Стемплом (G. Stemple), строят на ЭВМ и раскрашивают плоские графы, надеясь найти контрпример, т. е. плоский граф, вершины которого не раскрашиваются четырьмя красками.
3. Раскраска простейших графов Прежде чем решать задачу о раскраске вершин произвольного графа, рассмотрим раскраску простейших подграфов произвольного конечного, связного плоского графа без петель и кратных ребер. Слово «простейший» это не характеристика подграфа и тем более не термин, оно указывает на упрощенную структуру подграфа. Цепи и циклы. Простой цепью называют чередующуюся последовательность элементов графа — вершин и ребер, в которой все вершины, а, следовательно, и ребра, различны. Если крайние вершины совпадают, то такую простую цепь называют простым циклом. Поскольку далее речь пойдет о раскраске вершин плоского графа не более, чем четырьмя красками, обозначим их четырьмя символами α, β, γ, δ, соответственно, и назовем эту проблему задачей о четырёх красках. Вершины простой цепи и простого цикла с четным числом вершин раскрашиваются не более, чем двумя красками. Вершины цикла с нечетным числом вершин раскрашиваются не более, чем тремя красками. Действительно, двумя красками можно раскрасить чётное число вершин цикла, а оставшаяся одна нераскрашенная вершина смежна двум вершинам, раскрашенным двумя разными красками и, следовательно, эта вершина не может быть раскрашена теми цветами, которые имеют смежные с ней вершины, а должна быть раскрашена третьим цветом. 13
Методы четырехцветной раскраски вершин плоских графов
Цепи и циклы с прилегающими ребрами. Рассмотрим конечную простую цепь с n вершинами и соединим непересекающимися ребрами некоторые или все несмежные вершины. Назовем эти ребра прилегающими ребрами. Покажем, что число т ребер в такой цепи не более, чем 2п – 3. Если n = 2, то т = 2 · 2 – 3 = 1. Предположим, что n = k – 1 и т ≤ 2(k – 1) – 3. Покажем, что, добавляя еще одну вершину k (при этом число ребер может увеличиться только на два), число ребер не превзойдет 2k – 3. тk= тk-1 + 2 ≤ 2(k – 1) – 3 + 2 = 2k – 2 – 3 + 2 = 2k – 3. Поэтому по индукции заключаем, что это неравенство выполняется для любых значений k и, в частности, для k = n т. е. т ≤ 2k – 3,
(*)
при этом равенство возможно, если построено максимальное число прилегающих ребер. Все вышеизложенное справедливо и для простых циклов с внешними или внутренними прилегающими ребрами. Прилегающие ребра располагаются с одной стороны для цепи, а для цикла вне или внутри него. Можно убедиться в том, что все вершины любой цепи, и любого цикла с прилегающими ребрами раскрашиваются не более, чем тремя цветами. Действительно, пусть дана цепь или цикл с k вершинами — v1, v2, ..., vk. Раскрасим вершину v1 в цвет α, вершину v2 — в цвет β, вершину v3 — в цвет γ, если (v1,_v3) прилегающее ребро. Следующую вершину v4 можно раскрасить в цвет α, если вершины v1 и v4 несмежны, если же вершины v1 и v4 смежны — то в цвет β. Вершину v 5 можно раскрасить в цвет α, если нет прилегающего ребра (v1,_v5) или в цвет β, если (v1,_v5) прилегающее ребро и т. д. 14
3. Раскраска простейших графов
Таким образом для очередной раскрашиваемой вершины всегда найдется один из трех цветов такой вершины, которая «прикрыта» одним из прилегающих ребер, концы которых несмежны раскрашиваемой вершины. Любые две смежные вершины в плоском графе соединяются любой непрерывной жордановой линией, и потому все ребра в плоском графе пересекаются только в вершинах графа. Циклы с вершинами внутри. Рассмотрим произвольный конечный цикл и точку внутри него, соединенную ребрами со всеми вершинами цикла. Такой граф может быть раскрашен не более, чем тремя цветами, если окружающий внутреннюю точку цикл является многоугольником, не обязательно выпуклым, с четным числом вершин, а ребра, соединяющие внутреннюю точку с вершинами, являются какими угодно непрерывными жордановыми линиями. В этом случае одной краской раскрашивается внутренняя вершина, а двумя — вершины многоугольника. Аналогично рассуждая, для раскраски произвольного многоугольника с нечетным числом вершин и внутренней точкой, соединённой ребрами со всеми вершинами, требуется уже четыре краски.
4. Окрестности вершин и их раскраска Рассмотренные в предыдущем разделе циклы с вершиной внутри, смежной вершинам цикла, обычно называют окрестностями вершины. Приведем определение окрестности вершины графа в общем виде. Окрестностью вершины v0 в графе G(N, E) называется его подграф G1(N1,_Е1), где N1 = {v0,_v1,_...,_vk-1} ⊂ N множество вершин, a Е1_⊂_E множество ребер окрестности, v0 — порождающая (или центральная) вершина, v1, ..., vk-1 — смежные ей вершины. Е1 — множество ребер двух типов. Первый тип — ребра, инцидентные вершине v.0 , второй тип — ребра (vi,vj), где i
≠ j, i, j = 1, k−1, причем последние могут пересекаться
только в вершинах.
Рассмотрим, какие виды окрестностей составляют в совокупности любой плоский граф и как такие окрестности раскрашиваются. В соответствии с определением окрестности вершины возьмем k вершин, где 3 < k ≤ n, и т ребер, где т ≤ 3к − 6 ≤ 3п−6. 1. Пусть вершина v0 смежна с остальными k − 1 вершинами, из которых никакие две несмежны между собой. Назовем эту окрестность окрестностью 1-го вида, и раскрашивается эта окрестность не более, чем двумя красками: одна краска для центральной 16
4. Окрестности вершин и их раскраска
вершины, другая — для всех остальных, т. к. среди них нет смежных вершин, рис. 1а. На рис. 1 изображены все виды окрестностей для k = 6. Для k больших или меньших 6, как увидим далее, число видов окрестностей не увеличится, так же как и не увеличится число красок для раскраски их вершин. Независимо от числа вершин все окрестности раскрашиваются не более, чем четырьмя красками, так как раскраска окрестностей не зависит от числа вершин, она определяется структурой окрестности, которая определяется числом ребер второго типа. 2. Если некоторые из k − 1 вершин входят в простые цепочки, то такие окрестности раскрашиваются не более, чем тремя красками. Одна краска для центральной вершины, а две для раскраски вершин простых цепочек, рис. 1б. Это окрестность вида 2, в которой число ребер второго типа меньше k −1. 3. К окрестностям вида 3 отнесем такие окрестности, в которых k − 1 вершин образуют простой цикл с четным числом вершин и ребер. Такие окрестности раскрашиваются не более, чем тремя красками, рис. 1в, так как число ребер второго типа меньше k −1 (и четное). 4. В окрестностях вида 4 k − 1 вершин образуют простой цикл с нечетным числом вершин и ребер, для раскраски которого требуется не более трех красок и одна краска для центральной вершины. Хотя окрестности видов 3 и 4 можно было бы отнести к одному виду, поскольку в них k − 1 вершин входят в простой цикл, но лучше их отнести к разным видам, поскольку они раскрашиваются поразному. Окрестность вида 4 изображена на рис. 1г, и раскрашивается эта окрестность не более, чем четырьмя красками, так как число ребер второго типа равно k − 1, без учета прилегающих ребер. 17
Методы четырехцветной раскраски вершин плоских графов
а
б
г
в
д Рис. 1
5. К пятому виду отнесем окрестности, в которых среди ребер второго типа есть прилегающие ребра, рис. 1д. Если в этой окрестности (k = 6) присутствуют все ребра 1-го и 2-го типов, то их общее число складывается из: • k −1 — ребер 1-го типа и • 2(k − 1) − 3 = k − 1 + k − 4 — ребер 2-го типа, из них k − 1 ребра простого цикла и k − 4 прилегающие ребра, т. е. всего не боле, чем (k −1) + (k −1) + (k −4) = 3k −6, как и должно быть в полном (максимальном) плоском графе. 18
4. Окрестности вершин и их раскраска
Заметим, что для фиксированного числа вершин (k) окрестности видов 1−4 являются подграфами графа-окрестности вида 5. Лемма 1. В окрестности любой вершины произвольного плоского графа раскраску вершин и (или) их часть можно продолжить в правильную раскраску всей окрестности.
Основу доказательства леммы составляет одно из важнейших свойств правильно раскрашенного графа, а именно, каждая пара смежных вершин должна быть раскрашена разными красками. Этим свойством, как было показано выше, обладают такие простейшие графы, как простые цепи и простые циклы, а также для них, но с прилегающими ребрами. Поэтому, взяв очередную раскрашенную вершину, можно продолжить раскраску других смежных вершин, потому что окрестности вершин плоского графа обладают этим свойством. Исходя из определения окрестности и, полагая, что нас интересуют окрестности вершин только в плоских графах, шестого вида окрестностей быть не может для всех k, т. е. окрестность любой вершины плоского графа является окрестностью одного из видов 1, 2, ..., 5. Заметим, что любая вершина простой цепи и цепи с прилегающими ребрами является порождающей вершиной окрестности. Покажем, что окрестности видов 1−5 являются плоскими графами. Максимальным плоским (планарным) графом называется пвершинный (п ≥ 3) граф, который перестает быть лоским (планарным) при добавлении любого ребра.
19
Методы четырехцветной раскраски вершин плоских графов
Известно, что «граф является максимальным плоским графом тогда и только тогда, когда он представляет собой плоскую триангуляцию» [5]. Для любого плоского (п, m)-графа т ≤ 3п − 6, (п ≥ 3)
(**)
где т — число ребер, п — число вершин, причем равенство возможно лишь для максимальных плоских графов. Известно также, что плоский граф может содержать не более четырех попарно смежных вершин (окрестность вида рис. 1в, где одна центральная вершина и число вершин цикла равно трем). Если граф содержит пять попарно смежных вершин, то он не является плоским. Такой граф обычно обозначают символом К5 , это один из двух графов в критерии планарности Понтрягина— Куратовского (пятиугольник не обязательно выпуклый с пятью диагоналями), рис. 26. Покажем, что любая окрестность является плоским графом. Возьмем окрестность вида 4, удалим из нее три смежных ребра, имеющих общий конец — вершину цикла. Построим два прилегающих ребра (v1, v3) и (v1, v4) (рис. 2а). Получилась окрестность вида 5. Поскольку в этом графе нельзя провести пятую диагональ (v2, v4), то он не может быть графом К5 , т. е. он не содержит пять попарно смежных вершин и поэтому является плоским. Плоским он является еще и потому, что он, во-первых, представляет из себя плоскую триангуляцию, в которой нельзя провести еще одно ребро. И, во-вторых, у него пять вершин и девять ребер (п = 5, т = 9), а для такого графа выполняется равенство (**), т. е. такой граф является максимальным плоским графом. Аналогично можно показать планарность графаокрестности с любым числом вершин.
20
4. Окрестности вершин и их раскраска
а
б Рис.2
В окрестности вида 5 (рис, 1д) можно построить только два прилегающих ребра из вершины, помеченной буквой δ к вершинам, помеченным буквами β и γ, несмежными с вершиной δ. Таким образом, в этой окрестности и окрестностях такого вида с большим числом вершин цикла и, следовательно, с большим числом прилегающих ребер нельзя провести более двух прилегающих ребер типа диагоналей пятиугольника, хотя пять прилегающих ребер-сторон пятиугольника можно построить всегда и на любом цикле с числом ребер, не меньшим пяти. Поэтому окрестность вида 5 (рис. 1д) в соответствии с критерием Понтрягина— Куратовского является плоским графом, т. к. не может содержать подграф вида К5 или стягиваемый к нему. Окрестности видов 1– 4, являясь подграфами плоского графа-окрестности вида 5, также являются плоскими графами. В окрестности вида 5 с числом вершин цикла, равным k – 1, можно построить в соответствии с формулой (*) т1 = 2(k – 1) – 3 ребер 2-го типа. Объединим этот граф с вершинами, ребрами и прилегающими ребрами с графом-деревом, порожденным вершиной
21
Методы четырехцветной раскраски вершин плоских графов
( v0) и k – 1 ребрами. Число ребер этого графа (объединения двух графов) равно m = m1+k – 1= 2(k – 1) – 3 + k – 1= 3k – 6. Следовательно, окрестности вида 5 с числом вершин k > 3 и всеми прилегающими ребрами являются максимальными плоскими графами, так как число ребер каждого из них равно 3k – 6. Окрестности видов 1–4 являются подграфами плоского графа (окрестности вида 5), также являются плоскими графами, которые раскрашиваются, как и окрестность вида 5, не более, чем четырьмя красками. На рис. 1 показана раскраска окрестностей с небольшим числом вершин. Для большего числа вершин при k > 3 ничто измениться не может — ни число видов окрестностей, ни их раскраска, т. к. раскраска окрестности определяется не количеством вершин, а ее структурой. Окрестности с числом вершин k ≤ 3 всегда раскрашиваются правильно. Заметим, что краски перестановочны, поэтому 1) например, окрестность вида 4 можно раскрасить более, чем 10 способами, 2) раскраску окрестности можно начинать с любой вершины. Вышеизложенное позволяет сформулировать следующие четыре утверждения: 1. Объединение окрестностей всех вершин плоского графа есть плоский граф. 2. Окрестность любой вершины плоского графа раскрашивается не более, чем четырьмя красками.
22
22
4. Окрестности вершин и их раскраска
3. Если вершины раскрашенной окрестности имеют смежные вершины, принадлежащие другим, ещё нерас-крашенным окрестностям, то считая раскрашенные вершины порождающими, правильная раскраска может быть продолжена на нераскрашенные окрестности и далее на весь граф.
Выше было показано, что каждая отдельно взятая окрестность вершины всегда раскрашивается не более, чем четырьмя красками. В этом случае речь идет по сути дела о раскраске окружения вершины, т. е. какого-либо простого цикла или цикла с прилегающими ребрами, или отдельных вершин, для раскраски которых требуется не более трех красок. В дальнейшем нам понадобится понятие окружения подмножества вершин графа. Пусть А есть подмножество множества N — вершин графа. Тогда
NG(A)=N(A)= ∪N(v) \ А vÎ А
называется окружением подмножества вершин А в графе G, где N (A) — множество вершин, смежных вершинам из А, и |N| = п. В случае раскраски какой-либо части графа и, в частности, окружения его нельзя утверждать, что для раскраски вершин окружения требуется не более трех красок, т. к. они сами могут быть раскрашены четырьмя красками. Поэтому может произойти несогласование раскрасок соприкасающихся или смежных окрестностей, и в этом случае может понадобиться перекраска вершин, как при встречной раскраске. Об этом будет сказано ниже. 23
Методы четырехцветной раскраски вершин плоских графов
4. (Лемма 2). Раскраска окрестности любой вершины графа не более, чем четырьмя красками (обозначим это условие символом «ND», чтобы ссылаться на него и далее), является необходимым условием правильной раскраски произвольного плоского графа (далее покажем, что это условие «ND» является и достаточным).
Действительно, если произвольный плоский граф раскрашен не более, чем четырьмя красками, то любой его подграф и, в частности, окрестность любой его вершины также раскрашивается не более, чем четырьмя красками.
5. Алгоритм раскраски вершин плоского графа и встречная раскраска Алгоритм состоит в последовательной раскраске окрестностей всех вершин, исключая разве лишь концевые вершины. Концевые вершины раскрасятся в процессе раскраски окрестностей смежных им вершин. Важно отметить, что последовательность раскраски окрестностей вершин не произвольная, а выбирается по следующему правилу. Первой выбирается произвольная вершина, и раскрашивается её окрестность. Затем в качестве порождающих вершин последующих окрестностей выбираются уже раскрашенные вершины, смежные первой произвольно взятой вершине, т. е. раскрашивается первое окружение окрестности. Далее выбираются и раскашиваются вершины второго и последующих окружений. Такая последовательность выборки вершин делается для того, чтобы постараться избежать «встречного» раскрашивания. Ясно, что этот процесс конечный, потому что граф конечный и связный, и, если раскрасились все вершины без «помех», то задача раскраски вершин плоского графа решена. Какие «помехи» могут встретиться, рассмотрим ниже. Рассмотрим алгоритм раскраски на примере десятивершинного графа, изображенного на рис. За, вершины которого произвольно пронумерованы числами от 1 до 10.
25
Методы четырехцветной раскраски вершин плоских графов
Этот граф можно задать матрицей размерности 10× 6. Число строк матрицы равно числу вершин и нумеруются они от 1 до 10. Число столбцов равно степени графа, которая равна максимальной степени его вершин, т. е. 6. В i-й строке матрицы записываются номера вершин, смежных вершине i. Например, во второй строке стоят числа 1, 3, 4, 0, 0, 0, что соответствует ребрам (2,1), (2, 3), (2, 4), остальные нули. Поскольку нулевой вершины нет, то этот ноль играет роль ограничителя при выборе номеров вершин, смежных вершине 2. Заметим, что табл. 1 содержит информацию об удвоенном числе рёбер, так как в 1-й, 2-й и 3-й строках есть число 2, что соответствует рёбрам (1, 2), (3,2) и (4,2).
а
б Рис.3
Таким образом, полученная матрица является еще одним вариантом записи матрицы смежности графа. Эта матрица представлена в табл. 1. В седьмом столбце, который не является столбцом матрицы, помещаются символы, обозначающие цвета, которыми раскрашиваются вершины, соответствующие номерам строк, в результате раскраски вершин графа.
26
5. Алгоритм раскраски и встречная раскраска
Таблица 1 Столбцы
1
2
3
4
5
6
7
Строки 1
2
3
5
8
0
0
2
1
3
4
0
0
0
3
1
2
4
5
6
0
4
2
3
6
7
10
0
5
1
3
6
8
0
0
6
3
4
5
7
9
10
7
4
6
10
0
0
0
8
1
5
9
0
0
0
9
6
8
10
0
0
0
10
4
6
7
9
0
0
α δ β γ γ α β δ β δ
Запись матрицы смежности в таком виде хотя и не является наиболее экономной, но она весьма удобна для алгоритмов, в которых используются поименованные вершины и ребра графа. Выше было сказано, что раскраску вершин графа можно начинать с любой вершины. Начнем её с вершины 6. Выбираем шестую строку табл. 1 и раскрашиваем вершину 6 краской α и все вершины, номера которых расположены в шестой строке матрицы 3, 4, 5, 7, 9, 10; в нашем распоряжении 3 краски β, γ, δ. Раскрасим вершину 3 в очередной цвет β. Будем полагать, что шкала со свободными красками для очередной раскрашиваемой вершины всегда присутствует. Переходим к следующей -
27
Методы четырехцветной раскраски вершин плоских графов
вершине 4. Поскольку вершины 3 и 6 раскрашены красками β и α соответственно (см. столбец 7 табл. 1), заметим, что они смежны вершине 4, поэтому в нашем распоряжении осталось две краски γ и δ. Раскрасим вершину 4 в цвет γ. Следующее число в строке 6 есть 5. Вершина 5 смежна вершинам 3 и 6, окрашенным в цвета β и α, поэтому в нашем распоряжении два цвета γ и δ. Раскрасим вершину 5 в цвет γ. Следующая вершина 7, она смежна вершинам 6 и 4, раскрашенным цветами α и γ. Свободные две краски β и δ. Припишем вершине 7 цвет β. Следующая вершина 9, но она смежна лишь одной окрашенной вершине 6, следовательно для её окраски может использоваться три цвета β, γ, δ. Раскрасим вершину 9 в цвет β. В строке 6 осталось одно число — 10. Вершина 10 смежна вершинам 4, 6, 7, 9 окрашенных цветами γ, α, β, β. Остался один свободный цвет δ, в который и окрасим вершину 10. Таким образом, раскрашены все вершины, смежные вершине 6, выбранной первой для раскраски, т. е. раскрашена окрестность вершины 6. Символы раскрашенных вершин сразу же помещаются в клетки столбца 7, соответствующие номерам раскрашенных вершин. Далее переходим к вершинам строки 6, принимаем их последовательно за порождающие вершины и начинаем раскраску смежных им нераскрашенных вершин. Первое число в строке 6 число 3. Смежные вершине 3 (см. строку 3) вершины 1, 2, 4, 5, из которых 4, 5, уже окрашены (обе цветом γ). Выбираем вершины нераскрашенные (1, 2), а из раскрашенных только те (4 или 5), которые смежны выбранным нераскрашенным. Таким образом можно построить раскрашиваемое окружение окрестности вершины 6. Нераскрашенная вершина 1 смежна двум вершинам 3 и 5, раскрашенным цветами β и γ. 28
5. Алгоритм раскраски и встречная раскраска
Раскрасим её в цвет α. Вершина 2 смежна трём раскрашенным вершинам 1, 3, 4, их цвета α, β, γ. Раскрасим вершину 2 в свободный цвет δ. Переходим к следующему числу в строке 6. Это число 4, но все вершины, смежные вершине 4, а именно 2, 3, 6, 7, 10, уже раскрашены. Поэтому переходим к следующей вершине, смежной вершине 3 — к вершине 5, которая смежна вершинам 1, 3, 6, 8, из которых две вершины 1, 3, окрашены цветами α, β и сама вершина 5 — в цвет γ. Остается один свободный цвет δ, раскрасим вершину 8 в цвет δ. Окружение окрестности вершины 6 раскрашено. Все вершины графа раскрашены, одна из раскрасок представлена на рис, 3б. Если начать раскраску графа другой вершины, получится другая раскраска. Следует отметить, что исходными данными для раскраски вершин графа являются только матрица смежности и шкала красок, которая изменяется при переходе от вершины к вершине. Столбец 7 не относится к матрице смежности и содержит информацию о цветах всех раскрашенных вершин графа. Описанный выше алгоритм раскраски вершин плоского графа легко реализуется на ЭВМ. При задании графа его вершины не требуется нумеровать каким-либо особым способом, как это делается в некоторых алгоритмах раскраски. Вершины нумеруются произвольно. Запись номеров вершин в строках табл. 1 в возрастающем порядке более естественна, чем в каком-нибудь другом, непривычном, порядке. Но и такая запись может повлиять на раскраску вершин, т. е. может оказаться, что две смежные вершины должны раскраситься одним цветом. Но это иногда устраняется просто изменением порядка выбора вершин и (или) красок или сделать «шаг назад». Более сложная ситуация возникает при «встречной» раскраске, которая иногда может оказаться, если граф имеет, напри29
Методы четырехцветной раскраски вершин плоских графов
мер, кольцеобразную структуру. Правда, иногда раскрашенные вершины «встречающихся» окрестностей могут образовать правильную раскраску. Но в некоторых случаях и в специально построенных примерах правильной раскраски двух или нескольких «встречающихся» окрестностей не получится. Можно построить примеры, когда граф является объединением нескольких кольцеобразных структур, где также возможна встречная раскраска. Чтобы правильная раскраска всегда была возможна в таких случаях, можно применить искусственный прием — ввести дополнительную одну вершину или несколько вершин внутри многореберных граней (из-за чего, собственно, и получаются кольцеобразные структуры). Далее соединить такие вершины с вершинами края грани (граней) обращенного в сторону введенных дополнительных вершин. Таким дополнительным вершинам присвоить номера большие я, потому что в седьмом столбце табл. 1 они окажутся просто лишними, в этом столбце нас интересует n элементов, соответствующих всем n раскрашенным вершинам графа. Дополнительные вершины можно и не вводить, а вводить только прилегающие ребра, соединяющие некоторые вершины таких граней, чтобы эти ребра располагались внутри этих граней. Но этот искусственный прием и описанные выше возможны только тогда, когда имеются рисунки графов, а это дополнительные исходные данные, которые должны быть минимальными, например, список ребер, из которого можно получить левую часть табл. 1 или матрицу инцидеций, или матрицу смежностей. Встречная раскраска может образоваться тогда, когда вершины для раскраски выбираются не в том порядке, который описан выше. Например, вершины выбираются в порядке их нумерации. В этом случае встречная раскраска может возникнуть почти 30
5. Алгоритм раскраски и встречная раскраска
на каждом шаге, если нумерация вершин случайно окажется не такой, как в описанном выше алгоритме. Если выборка вершин такая, как в описанном алгоритме, то и в этом случае встречная раскраска также возможна для последующих окружений. Действительно, первое окружение первой рассматриваемой вершины, как было показано выше, всегда правильно раскрашивается, причем не более, чем тремя цветами. Второе окружение, как правило, тоже правильно раскрашивается, причем для его раскраски может потребоваться не три, а четыре краски. Но когда раскрашивается третье и следующие окружения, то встречная раскраска также может образоваться. Возникает вопрос, как преодолеть такую ситуацию, когда две смежные вершины по алгоритму должны раскрашиваться одной краской. Все случаи, когда такая ситуация образуется, перечислять не имеет смысла. Поэтому единственный выход — перекраска. Возникает вопрос, сколько и какие смежные вершины при встречной раскраске имеют одинаковые цвета. Чаще всего это пара смежных вершин. Одна из них является вершиной части графа уже раскрашенной, другая является вершиной раскрашиваемой части графа. Но возможно также, что одна вершина принадлежит одной части графа, а две или более других несмежных между собой вершин принадлежат другой части графа. Алгоритм перекраски должен быть один для всех случаев встречной раскраски. Этот алгоритм рассмотрим ниже (в разделе 7), после того, как докажем достаточность условия ND, необходимость этого условия была доказана выше в разделе 4.
6. Перекраска вершин правильно раскрашенного графа Прежде чем доказывать достаточность условия ND, сформулируем и докажем одно важное свойство правильно раскрашенного графа: Свойство 1. Произвольную вершину правильно раскрашенного плоского графа можно перекрасить в любой из трех оставшихся цветов, перекрасив при этом некоторые другие вершины, и сохранить правильную, но другую раскраску этого графа.
Покажем сначала, что такая перекраска возможна. Для перекраски вершин графа, раскрашенных цветами α и β применив подстановку
, после чего все вершины, раскрашенные
в цвет α, приобретут цвет β, а все вершины, раскрашенные в цвет β будут раскрашены в цвет α. Ясно, что раскраска вершин всего графа останется правильной. Если применить подстановку
,
то перекрасятся все вершины графа, но раскраска по-прежнему останется правильной. Следует заметить, что эта операция очень простая, так как изменение цветов вершин происходит в последнем (правом) столбце табл. 1, и в тоже время, 32
б. Перекраска вершин правильно раскрашенного графа
используя подстановки, перекраску двух смежных одинаково раскрашенных вершин осуществить нельзя. Для этого случая алгоритм перекраски приводится ниже. Пусть вершина v0, окрашенная в цвет α, перекрашивается в цвет β. Если ни одна из вершин, смежных вершине v0, не окрашена в цвет β, то перекраска на этом заканчивается, т. е. окрестность вершины v0 по-прежнему окажется раскрашенной правильно. Если вершина v1, смежная вершине v0, окрашена в цвет β, то и её можно перекрасить в один из трех цветов: α, γ, δ. Может оказаться, что вершин типа v1 несколько, тогда с каждой из них следует поступать аналогично. Если ни одна из вершин, смежных вершине v1, не окрашена так же как v1, то перекраска закончена. Пусть окрестность вершины v1 имеет, кроме v0, смежную вершину v2 (одну или несколько) такого же цвета, как и v1, то и с ней (ними) поступают также, как и выше с вершиной v1 и т. д. Таким образом, из вершины v0 строятся правильно раскрашенные цепочки, причем, правильно раскрашенным окажется подграф, образованный вершинами цепочек и смежными с ними вершинами. Ясно, что процесс образования таких цепочек, во-первых, конечный, так как граф конечный, и, во-вторых, как правило, не тотальный, а локальный. Следует также заметить, что этот процесс довольно быстро приводит к результату, т. е. цепочки далее не могут быть продолжены, т. е. описываемые цепочки заканчиваются в какой-нибудь правильно раскрашенной окрестности, естественно с учетом уже произведенной последней перекраски. Так как процесс построения цепочек неуправляемый, то может оказаться, что очередной выбираемой для перекраски вершиной окажется вершина v1, смежная начальной перекрашиваемой v0. Для того, чтобы избежать такое неудачное возвращение, 33
Методы четырехцветной раскраски вершин плоских графов
следует запоминать номера вершин v1, и обходить их, но лучше вообще избегать самопересечения цепочек. Пересечение разных, исходящих из вершин v1 цепочек, возможно, и не к каким недоразумениям не приводит, если окрестности вершин пересечения цепочек будут правильно раскрашены. Как видно из доказательства, что в его основе лежит доказанное выше утверждение о том, что окрестность любой вершины плоского графа или её части всегда раскрашивается не более, чем четырьмя красками.
7. Достаточность условия правильной раскраски плоских графов Предположим, что окрестность любой вершины плоского графа раскрашивается не более, чем четырьмя красками. Покажем, что если это условие (ND) выполняется, то и весь граф раскрашивается не более, чем четырьмя красками. Для графов такого вида, какой изображен на рис. 3, это условие (ND) выполняется. Действительно, раскрасив окрестность произвольной вершины графа не более, чем четырьмя красками (утверждение 2), начинаем раскраску окрестностей раскрашенных вершин. Поскольку каждая из окрестностей уже частично раскрашена, т. е. раскрашено окружение выбранной раскрашенной вершины, и эту раскраску можно продолжить в правильную раскраску во всех окрестностях (утверждение 3). Если произойдет несогласование правильных раскрасок двух соседних окрестностей, то оно устраняется или просто изменением порядка выбора раскрашиваемых вершин, или по алгоритму перекраски. Продолжая раскраску следующих окружений в таком графе, мы обязательно достигнем края графа, который также может правильно раскрасится, а если не раскрасится правильно, то применим алгоритм перекраски. А именно, одну из двух, пока одинаково раскрашенных, вершин требуется перекрасить в такой цвет, при котором достигается правильная раскраска окрестности другой вершины, но может нарушиться правильная раскраска других 35
Методы четырехцветной раскраски вершин плоских графов
вершин, далее производить перекраску доказательством свойства 1 из раздела 6.
в
соответствии
с
Лемма 3. Раскраска окрестности каждой вершины графа не более, чем четырьмя красками, является достаточным условием правильной раскраски произвольного графа.
Вернемся к раскраске графа, изображенного на рис. 3а. В графах такого вида вершины всегда раскрашиваются не более, чем четырьмя красками, потому что в таких графах, выбрав произвольную вершину k, раскрасив её окрестность, далее последовательно раскрашиваем первое окружение окрестности первой вершины и последующие окружения получающихся раскрашенных частей графа. Здесь существенно используются условие ND и утверждения 2 и 3. Действительно, часть графа, состоящая из первой раскрашенной окрестности и её окружений, далее раскрашивается не более, чем четырьмя красками на основании утверждения 3, так как каждую раскрашенную вершину окружения этой части графа считаем центральной и оставшиеся части таких частей окрестностей раскрашиваются на основании утверждения 2 и, в результате, будут образовывать край графа, который всегда раскрашивается не более, чем четырьмя красками, если использовать перекраску. Здесь может встретиться такая ситуация, что две смежные вершины должны быть по алгоритму раскрашены одной краской, но эта ситуация, как указывалось выше, разрешима с помощью либо перестановок цветов вершин, либо по алгоритму перекраски. Существенно другая ситуация возникает при встречной раскраске. Как сказано выше, эта ситуация иногда случайно преодо -
36
7. Достаточность условия правильной раскраски
вается. Предположим, что такие две смежные вершины, которые раскрасились одним цветом, никакими перестановками цветов не перекрашиваются так, чтобы окрестность каждой из них была правильно раскрашена. Тогда, применяя алгоритм из свойства 1, перекрасив вершину v1 или v2 и продолжим, если потребуется, далее перекраску, получим правильную раскраску каждой из двух частей графа в направлении v1v2 или в направлении v2v1, полагая, что какие-то части графа от вершины v1 в направлении v2 и от вершины v2 в направлении v1 правильно раскрашиваются. Из двух смежных одинаково раскрашенных вершин перекрашивают ту, чтобы окрестность другой оказалась правильно раскрашенной. Можно было бы поступить иначе, а именно, построить несколько последовательных окружений двух вершин v1 и v2, затем все раскраски внутри внешнего окружения ликвидировать и простым перебором, используя условие ND, раскрасить внутреннюю часть графа, оставив раскраску внешнего окружения. Но неизвестно, сколько для этого понадобится окружений. Гораздо проще использовать условие ND для цепочек, что всегда приведет к правильной раскраске. Заметим, что перекраску следует начинать после раскраски всех вершин графа, хотя в этой предварительной раскраске могут быть пары смежных, одинаково раскрашенных вершин. Если встретится раскраска нескольких пар одинаково раскрашенных вершин, то к каждой паре применяется алгоритм свойства 1. По предположению окрестность каждой вершины графа раскрашивается не более, чем четырьмя красками, поэтому на пути цепочек найдутся такие вершины, окрестности которых раскрасятся четырьмя красками, несмотря на изменение цвета одной из их вершин.
37
Методы четырехцветной раскраски вершин плоских графов
Таким образом, условие ND является достаточным для любых графов, и, поэтому, можно сформулировать на основании леммы 2 и леммы 3 критерий раскраски плоского графа. Теорема. Для того, чтобы вершины плоского графа раскрашивались не более, чем четырьмя красками необходимо и достаточно, чтобы окрестность каждой вершины этого графа раскрашивалась не более, чем четырьмя красками.
В заключении этого раздела рассмотрим пример встречной раскраски в графе на рис. За, заново перенумеровав его вершины и добавив два ребра (1, 4) и (1, 5), чтобы, раскрашивая этот граф по алгоритму раздела 5, получить встречную раскраску, рис. 4а, 4б.
a
б
в
г Рис.4
38
7. Достаточность условия правильной раскраски
Начнем раскраску с вершины 1, окрасив её в цвет α. Тогда вершины, смежные вершине 1: 2, 4, 5, 6, 7, 10 — раскрасятся красками β, β, δ, γ, γ, β соответственно. Окружением этих вершин являются вершины 3, 8, 9. Вершина 3 может быть раскрашена цветами α и δ. Выбираем цвет α, так как вершины в таблице вида 1 нумеруются в возрастающем порядке, а символы в шкале красок располагаются в лексикографическом порядке. Тогда смежные вершины 8 и 9 должны раскраситься цветами α и δ соответственно, Две смежные вершины 5 и 9 раскрасились одним цветом δ, поэтому одну из них, например, вершину 5 следует перекрасить так, чтобы её окрестность оказалась правильно раскрашенной. Если раскрасим её (вершину 5) краской α, то окажется, что этой краской α раскрашены смежные вершине 5 вершины 1 и 8. Перекрасим эти вершины так, чтобы их окрестности оказались правильно раскрашенными: вершину 1 в цвет δ и вершину 8 в цвет γ. В результате граф оказался правильно раскрашенным, рис. 4в. Если перекрасить вершину 9 в цвет α, то получим правильную раскраску графа, перекрасив вершину 3 в цвет γ и вершину 8 также в цвет γ, а вершину 1 — в цвет δ, (рис. 4г). Следует заметить, что этот граф раскрашивается правильно и без перекраски, если раскраску начать, например, с вершины 10.
8. Оценка числа операций для раскраски вершин плоского графа Раскрасив произвольную вершину графа одним из четырех цветов, раскрашиваем окрестность этой выбранной вершины оставшимися в шкале тремя красками, т. е. раскрашиваем концы ребер, инцидентных центральной вершине. Далее строится и раскрашивается первое окружение раскрашенной окрестности. Для этого исходных данных для раскраски в табл. 1 достаточно. Пусть раскрашено k окружений. Для раскраски очередной вершины (a0) (k+1)-го окружения нужно знать раскраску k-го окружения. Берем произвольную вершину ап k-го окружения и находим смежные ей нераскрашенные вершины в левой части табл. 1 (6 операций: выборка и запись). Для очередной нераскрашенной вершины (k+1)-го окружения находим смежные ей вершины k-го окружения и строим шкалу свободных красок (12 операций). Выбираем очередной номер из шкалы красок и раскрашиваем вершину а0 (2 операции). Поскольку в табл. 1 может быть максимум 6п − 12 чисел, то будем считать, что в каждой строке условно 6 чисел, так как процесс раскраски вершин произвольного плоского графа стохастический. Поэтому на раскраску очередной вершины требуется 20 элементарных операций, а на раскраску всех 6п концов ребер потребуется 120п элементарных операций без учета перекраски вершин. С учетом перекраски потребуется меньше, чем 240п элементарных операций. 40
9. Раскраска графа, содержащего 139 вершин Рассмотрим вершинную раскраску графа, изображенного на рис. 5. Вершины расположены на линиях, параллельных взаимноперпендикулярным осям. Таким образом, в раскрашенном графе каждой вершине ставится в соответствие пара чисел (х, у) и один из символов: ●, ○, Δ, □, обозначающих её цвет вместо букв. Это не упрощает раскраску вершин графа, но делает её более наглядной. Из 143 возможных вершин граф содержит 139. Четыре вершины удалены, чтобы образовались четыре так называемых «колеса» (см. раздел 2). Каждый подграф-колесо имеет 29 вершин, и, как утверждают авторы работы [8], может быть раскрашен только с помощью ЭВМ. Эти подграфы располагаются по углам и обведены более жирными линиями. Максимальный плоский граф, имеющий 139 вершин, содержит 3 · 139 − 6 = 411 ребер. В графе, выбранном для примера, 403 ребра, но в нём много прилегающих рёбер. Поэтому в таком графе достаточно велика вероятность того, чтобы образовалась встречная раскраска. Действительно, начиная раскраску с вершины (6, 7) и раскрашивая её краской «●», раскрасим первое, а затем и последующие окружения выбранной вершины. Как отмечалось выше, выполняя раскраску последова-тельных окружений, может оказаться, что некоторые пары смежных вершин раскрасятся одним цветом. В данном примере две пары смежных 41
Методы четырехцветной раскраски вершин плоских графов
вершин раскрасились одинаково. Это пары вершин (11, 2) и (10, 3) раскрашены краской «●» и (7,1) и (8,2) раскрашены краской «Δ». Первая пара перекрашивается просто. Перекрасив вершину (10, 3) краской «□», получим правильную раскраску окрестностей обеих вершин. Если перекрасить вершину (10, 3), то перекраска окажется сложнее.
Рис.5 42
9. Раскраска графа, содержащего 139 вершин
Для перекраски второй пары потребуется трёхрёберная цепочка. На рис. 5 перекраска выглядит следующим образом. Символ краски перекрашиваемой вершины зачеркивается и рядом ставится символ другой краски, а стрелкой, параллельной линии ребру указывается направление перекраски. Перекрасим вершину (8, 2) в цвет «□» и проводится стрелка от вершины (7, 1) к вершине (8, 2). Цвет «□» выбирается потому, что вершин в окрестности (8, 2) наименьшее число, т. е. одна. Окрестность вершины (7, 1) стала раскрашенной правильно. Если вершину (7, 3) перекрасить в цвет «Δ», то окрестность вершины (8, 2) станет раскрашенной правильно. Направление перекраски указано стрелкой. В окрестности вершины (7, 3) одна вершина раскрашена в цвет «Δ», это вершина (6, 4), поэтому перекрасим её так, чтобы окрестность вершины (7, 3) оказалась правильно раскрашенной, т. е. в цвет «□», и проведём стрелку от вершины (7, 3) к вершине (6, 4). Таким образом перекраска для второй пары смежных, одинаково раскрашенных вершин показана. Заметим, что если начальную вершину (6, 7) раскрасить в другой цвет, получим другую раскраску графа. Другая раскраска графа получается почти всегда, если раскраску начинать с другой, отличной от (6, 7) вершины. Поскольку в выбранном примере почти всегда образуется встречная раскраска, то её можно начинать поочерёдно с нескольких вершин, например таких, которые имеют наибольшие степени. Таких вершин, степени которых равны десяти, в рассматриваемом графе четыре, а именно: (3, 3), (3, 11), (9, 11), (9, 3). В этом графе почти 90% вершин раскрашивают очень простыми, элементарными операциями. Для перекраски в данном примере потребовалось две цепочки: одна семирёберная, вторая — шестирёберная.
43
Методы четырехцветной раскраски вершин плоских графов
Следует заметить, что этот граф может быть раскрашен, как показывают многочисленные примеры, и без перекраски. Процесс раскраски произвольного плоского графа не может быть регулируемым, по крайней мере, в настоящее время.
Автор искренне благодарен члену-корреспонденту РАН, профессору Кудрявцеву Л. Д. за весьма полезные советы и поддержку на протяжении нескольких лет. Автор также благодарит И. Кузину за квалифицированный набор текста рукописи в электронном виде.
Литература 1. Берж К. Теория графов и её применение. М.: ИЛ, 1962. 2. Зыков А. А. Основы теории графов. М.: Наука, 1987. 3. Харари Ф. Теория графов. М.: Мир, 1973. 2-е изд. М.: УРСС, 2003. 4. Емеличев В. Б., Мельников О. И., Сарванов В. И., Тышкевич Р. И. Лекции по теории графов. М.: Наука, 1990. 5. Рингель Г. Теорема о раскраске карт. М.: Мир, 1974. 6. Донец Г. Б., Шор Н. 3. Алгебраический подход к проблеме раскраски плоских графов. Киев: Наукова думка, 1982. 7. Wilson R. Four Colours Suffice // European Mathematical Society, Newsletter, Issue 46, December, 2002. P. 13. 8. Robertson N., Sanders D., Seymour P., Thomas R. The four-color theorem II Journal of combinatorial theory. Series В 70, 2 44 (1997). 9. Чекин Л. С. Картография христианского средневековья, VIII— XIII в. М.: Восточная литература РАН, 1999.
Содержание 1. Возникновение и постановка задачи ......................... 3 2. Краткая историческая справка ................................... 6 3. Раскраска простейших графов....................................13 4. Окрестности вершин и их раскраска .........................16 5. Алгоритм раскраски вершин плоского графа и встречная раскраска .................................................25 6. Перекраска вершин правильно раскрашенного графа ..............................................................................32 7. Достаточность условия правильной раскраски плоских графов ............................................................35 8. Оценка числа операций для раскраски вершин плоского графа..... ........................................................40 9. Раскраска графа, содержащего 139 вершин..............41 Литература........................................................................45 Содержание ......................................................................46