Изменения

Перейти к: навигация, поиск

Рёберная раскраска двудольного графа

568 байт добавлено, 19:27, 4 сентября 2022
м
rollbackEdits.php mass rollback
{{Определение
|id = edge_colouring
|definition = '''Рёберной раскраской''' (англ. ''Edge colouring'') графа <tex>G(V, E)</tex> называется отображение <tex>\varphi:</tex> из множества рёбер <tex>E \rightarrow </tex> во множество красок <tex>\{c_{1} \ldots c_{t}\}</tex> {{---}} ''множество красок'' такое, что для для любых двух различных рёбер <tex>e_{i}, e_{j}</tex> , инцидентных одной вершине , верно, что <tex> \varphi (e_{i}) \neq \varphi (e_{j})</tex>.
}}
{{Лемма
|id = lem1
|about = о нижней оценке хроматического индекса
|statement= <tex>\forall\ G(V, E) : \Delta (G) \leqslant \chi '(G)</tex>, где <tex>\Delta (G)</tex> {{---}} максимальная степень вершины в графе
|proof= Действительно, давайте рассмотрим вершину максимальной степени в графе. Ей инцидентно ровно <tex>\Delta(G)</tex> рёбер. При этом, чтобы все они имели попарно различные цвета, они все должны иметь различные цвета, иначе найдётся пара различных рёбер , инцидентных одной вершине и имеющих одинаковый цвет.
}}
Заметим, что в теории графов доказывается более строгое неравенство<ref>http://math.uchicago.edu/~may/REU2015/REUPapers/Green.pdf</ref>, ограничивающее <tex>\chi '(G)</tex>. А именно то, что, <tex>\forall\ G(V, E) : \Delta (G) \leqslant \chi '(G) \leqslant \Delta (G) + 1</tex>. Однако доказательство этого факта очень громоздко и достойно отдельной статьи.
В данной же статье мы оценим хроматический индекс двудольных графов и предъявим алгоритм их раскраски.
== Рёберная раскраска двудольного графа ==
{{Лемма
|id = lem2
|about = о совершенном паросочетании|statement= В [[Основные определения теории графов#defBiparateGraph | [двудольном]] <tex>k</tex>-[[Основные определения теории графов#defRegularGraph | регулярном]] графе с одинаковыми по размеру долями графе существует совершенное паросочетание.
|proof=
# Возьмём <tex>L</tex> {{---}} произвольное подмножество левой доли. Рассмотрим подграф образованный <tex>L</tex> и множеством всех их соседей из правой доли <tex>R</tex>. Все вершины левой доли нашего подграфа будут иметь степень <tex>k</tex>, а степени вершин правой доли '''не превосходитпревосходят''' <tex>k</tex>.# Посчитаем количество рёбер <tex>m_{L}</tex> в данном подграфе. В силу его двудольности , это число будет равняться сумме степеней вершин одной из долей. <tex>m_{L} = \underset{{v\in L}}{\sum} deg(v) = |L|\cdot k = \underset{{u\in R}}{\sum} deg(u) \leqslant |R|\cdot k</tex>. Из этого мы получаем, что <tex>|L|\leqslant |R|</tex>.# Значит в данном графе выполняется [[Теорема Холла | Теорема Холла]]. Из чего следует, что в нём есть совершенное паросочетание.
}}
{{Теорема
|statement= Существует рёберная раскраска двудольного графа <tex>G</tex> в <tex>\Delta(G)</tex> цветов. Иными слова словами, для двудольного графа <tex>\chi '(G) = \Delta(G)</tex>
|proof=
1) Для начала сделаем доли графа одинаковыми по размеру, дополнив меньшую из долей необходимым количеством изолированных вершин 2) Следующим жадным алгоритмом сделаем его <tex>\Delta(G)-</tex>регулярнымВ доказательство рассмотрим следующий алгоритм поиска такой раскраски: пока граф не регулярный возьмём вершину левой доли степени меньше <tex>\Delta(G)</tex> и аналогичную вершину правой доли. Соединим их ребром  Докажем, что такой жадный алгоритм всегда выполняет поставленную задачу. Предположим, что это не так, и, не нарушая общности, у нас остались вершины в правой доле степени меньше <tex>\Delta(G)</tex>, а в левой таких вершин нет. Давайте посчитаем количество рёбер <tex>m</tex> в графе. Из левой доли исходит <tex>|L| \cdot \Delta(G)</tex> рёбер. В правую же приходит не более <tex>|R| \cdot \Delta(G)</tex> рёбер, но так как существует вершина степени меньше <tex>\Delta(G)</tex>. То неравенство строгое. Получается <tex>|L| \cdot \Delta(G) = m < |R| \cdot \Delta(G)</tex>. Но в нашем графе <tex>|L| = |R|</tex>. Следовательно <tex>\Delta(G) < \Delta(G)</tex>, что приводит нас к противоречию
# Для начала сделаем доли графа одинаковыми по размеру, дополнив меньшую из долей необходимым количеством [[Основные определения теории графов#isolated_vertex | изолированных вершин]];
# Следующим жадным алгоритмом сделаем его <tex>\Delta(G)</tex>-регулярным: пока граф не регулярный возьмём вершину левой доли степени меньше <tex>\Delta(G)</tex> и аналогичную вершину правой доли. Соединим их ребром;
# Мы получили регулярный двудольный граф с равными долями. По лемме о совершенном паросочетании в таком графе есть совершенное паросочетание. Найдём его, например [[Алгоритм Куна для поиска максимального паросочетания | алгоритмом Куна]], и удалим из графа;
# Заметим, что граф всё ещё остался регулярным, так как степень каждой вершины уменьшилась на <tex>1</tex>. Будем повторять процесс, пока в графе есть рёбра;
# В итоге мы разобьём рёбра графа на <tex>\Delta(G)</tex> совершенных паросочетаний;
# В конце нам остаётся каждое паросочетание покрасить в свой цвет и удалить рёбра, которых не было в изначальном графе;
3) Мы получили регулярный двудольный граф с равными доля. По нашей лемме в таком графе есть совершенное паросочетание. Найдём его, например [[Алгоритм Куна для поиска максимального паросочетания | алгоритмом Куна]] и удалим его их графа.
4) Заметим Докажем, что граф всё остался регулярным, так как степень каждой вершины уменьшилась на 1. Будем повторять процесс, пока в графе есть рёбражадный алгоритм из пункта <tex>2</tex> всегда выполняет поставленную задачу.
5Предположим, что это не так, и, не нарушая общности, у нас остались вершины в правой доле степени меньше <tex>\Delta(G) По итогу мы разобьём рёбра графа на </tex>, а в левой таких вершин нет. Давайте посчитаем количество рёбер <tex>m</tex>в графе. Из левой доли исходит <tex>|L| \cdot \Delta(G)</tex> совершенных паросочетанийрёбер.  6В правую же приходит не более <tex>|R| \cdot \Delta(G)</tex> рёбер, но так как существует вершина степени меньше <tex>\Delta(G) В конце нам остаётся каждое паросочетание покрасить в свой цвет и удалить рёбра</tex>, которых не было то неравенство строгое. Получается <tex>|L| \cdot \Delta(G) = m < |R| \cdot \Delta(G)</tex>. Но в изначальном нашем графе <tex>|L| = |R|</tex>. Следовательно <tex>\Delta(G) < \Delta(G)</tex>, что приводит нас к противоречию.
* [[Алгоритм Куна для поиска максимального паросочетания]]
* [[Раскраска двудольного графа в два цвета]]
 
==Примечания==
<references/>
 
==Источники информации==
* [https://ru.wikipedia.org/wiki/Рёберная_раскраска Википедия {{---}} Рёберная раскраска]
 
[[Категория: Раскраски графов]]
[[Категория: Алгоритмы и структуры данных]]
1632
правки

Навигация