<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=81.89.176.80&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=81.89.176.80&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/81.89.176.80"/>
		<updated>2026-06-16T09:03:36Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%91%D1%80%D1%83%D0%BA%D1%81%D0%B0&amp;diff=68029</id>
		<title>Теорема Брукса</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%91%D1%80%D1%83%D0%BA%D1%81%D0%B0&amp;diff=68029"/>
				<updated>2018-12-25T19:00:17Z</updated>
		
		<summary type="html">&lt;p&gt;81.89.176.80: /* Теорема */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Вспомогательная лемма ==&lt;br /&gt;
{{Лемма &lt;br /&gt;
|statement= Пусть &amp;lt;tex&amp;gt;G(V,E)&amp;lt;/tex&amp;gt; {{---}} произвольный [[Отношение связности, компоненты связности|связный]] неориентированный граф и &amp;lt;tex&amp;gt;\Delta(G)&amp;lt;/tex&amp;gt; {{---}} максимальная степень вершин &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Если в таком графе существует вершина &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; степени &amp;lt;tex&amp;gt; \deg w &amp;lt; \Delta(G)&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\chi(G) \leqslant \Delta(G)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
 [[Файл:Brooks_1.png‎|400px|thumb|Алгоритм раскраски на пятом шаге]]&lt;br /&gt;
Запустим алгоритм [[Обход в ширину|обхода в ширину]] из вершины &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt;. Пронумеруем вершины &amp;lt;tex&amp;gt;v_1,...,v_n,&amp;lt;/tex&amp;gt; где &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; вершина рассмотренная на &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ом шаге алгоритма bfs. Далее начнем красить вершины в обратном порядке в один из &amp;lt;tex&amp;gt;\Delta&amp;lt;/tex&amp;gt; цветов так, чтобы никакое ребро графа не соединяло вершины одного цвета. На &amp;lt;tex&amp;gt; i&amp;lt;/tex&amp;gt;-ом шаге покраски, для вершины &amp;lt;tex&amp;gt; v_{n - i+1}&amp;lt;/tex&amp;gt; есть не более &amp;lt;tex&amp;gt;\Delta(G) - 1&amp;lt;/tex&amp;gt; уже покрашенных соседей (т.к &amp;lt;tex&amp;gt; \deg(v_{n - i+1}) \leqslant \Delta(G)&amp;lt;/tex&amp;gt; и предок данной вершины в дереве bfs еще не покрашен, а если предка нет, то это вершина и есть &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt;), следовательно вершину &amp;lt;tex&amp;gt; v_{n-i+1}&amp;lt;/tex&amp;gt; можно покрасить по крайней мере в один из свободных цветов. Поскольку на каждом шаге алгоритм отработает корректно, следовательно граф можно правильно раскрасить в не более чем &amp;lt;tex&amp;gt; \Delta&amp;lt;/tex&amp;gt; цветов, то есть &amp;lt;tex&amp;gt; \chi(G) \leqslant \Delta(G)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|about= Брукса&lt;br /&gt;
|statement=Пусть &amp;lt;tex&amp;gt;G(V,E)&amp;lt;/tex&amp;gt; {{---}} связный неориентированный граф и &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; не является &amp;lt;tex&amp;gt;K_m&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;C_{2m+1}&amp;lt;/tex&amp;gt;, ни для кого &amp;lt;tex&amp;gt; m&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\chi(G) \leqslant \Delta(G)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\Delta(G)&amp;lt;/tex&amp;gt; {{---}} максимальная степень вершин &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
Для доказательства теоремы рассмотрим несколько случаев:&lt;br /&gt;
#&amp;lt;tex&amp;gt;\Delta(G) \leqslant 2&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
#*Если &amp;lt;tex&amp;gt; \Delta = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; G = K_1&amp;lt;/tex&amp;gt;&lt;br /&gt;
#*Если &amp;lt;tex&amp;gt; \Delta = 1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; G = K_2&amp;lt;/tex&amp;gt;&lt;br /&gt;
#*Если &amp;lt;tex&amp;gt; \Delta = 2&amp;lt;/tex&amp;gt;, то:&lt;br /&gt;
#*# &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt; {{---}} либо дерево либо четный цикл и тогда &amp;lt;tex&amp;gt; \chi(G) = 2&amp;lt;/tex&amp;gt;&lt;br /&gt;
#*#&amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; нечетный цикл&lt;br /&gt;
#&amp;lt;tex&amp;gt;\Delta(G) \geqslant 3&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
##Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; не является вершинно двусвязным графом, тогда в графе &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \exists&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; v \in V&amp;lt;/tex&amp;gt; {{---}} [[Отношение связности, компоненты связности|точка сочленения]]. Пусть &amp;lt;tex&amp;gt;G_1,G_2&amp;lt;/tex&amp;gt; {{---}} две компоненты связности, полученные при удалении вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Тогда, по выше доказанной лемме эти компоненты можно правильно раскрасить в не более чем  &amp;lt;tex&amp;gt;\Delta&amp;lt;/tex&amp;gt; цветов. Поскольку количество соседей вершины &amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt; в каждой из компонент не более &amp;lt;tex&amp;gt; \Delta - 1&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; можно правильно раскрасить в  не более чем  &amp;lt;tex&amp;gt;\Delta&amp;lt;/tex&amp;gt; цветов.&lt;br /&gt;
##Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является вершинно двусвязным графом. Тогда, &amp;lt;tex&amp;gt; \exists&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; v,u \in V :(u,v) \notin E&amp;lt;/tex&amp;gt; и при удалении вершин &amp;lt;tex&amp;gt;v,u&amp;lt;/tex&amp;gt; граф теряет связность. Пусть &amp;lt;tex&amp;gt;G_1,G_2&amp;lt;/tex&amp;gt;  {{---}} два подграфа &amp;lt;tex&amp;gt; G:(G_1 \cap G_2 = \{v,u\})  \land (G_1 \cup G_2 = G)&amp;lt;/tex&amp;gt;. Рассмотрим два случая.&lt;br /&gt;
### Если сумма степеней вершин &amp;lt;tex&amp;gt;u,v&amp;lt;/tex&amp;gt; в каждом из подграфов &amp;lt;tex&amp;gt;G_1,G_2&amp;lt;/tex&amp;gt; меньше &amp;lt;tex&amp;gt;2(\Delta-1)&amp;lt;/tex&amp;gt;. Тогда, в одном из данных подграфах &amp;lt;tex&amp;gt; \deg u \leqslant \Delta - 2 &amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt; \deg v \leqslant \Delta - 2 &amp;lt;/tex&amp;gt;. То есть, эти подграфы можно правильно раскрасить в  не более чем  &amp;lt;tex&amp;gt;\Delta&amp;lt;/tex&amp;gt; цветов так, чтобы вершины &amp;lt;tex&amp;gt; u,v &amp;lt;/tex&amp;gt; были бы разных цветов. А из этого следует, что граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; тоже можно правильно раскрасить в  не более чем  &amp;lt;tex&amp;gt;\Delta&amp;lt;/tex&amp;gt; цветов.&lt;br /&gt;
### Если сумма степеней вершин &amp;lt;tex&amp;gt;u,v&amp;lt;/tex&amp;gt; в одном из подграфов &amp;lt;tex&amp;gt;G_1,G_2&amp;lt;/tex&amp;gt; равна &amp;lt;tex&amp;gt;2(\Delta-1)&amp;lt;/tex&amp;gt;. Тогда, степени обеих вершин в одном из подграфов равны &amp;lt;tex&amp;gt; \Delta - 1&amp;lt;/tex&amp;gt;, рассмотрим например, что в подграфе &amp;lt;tex&amp;gt;G_1&amp;lt;/tex&amp;gt;:&lt;br /&gt;
###* Если вершины &amp;lt;tex&amp;gt;u,v&amp;lt;/tex&amp;gt; смежны с вершиной &amp;lt;tex&amp;gt;p \in G_2&amp;lt;/tex&amp;gt;, тогда мы можем правильно раскрасить &amp;lt;tex&amp;gt;G_2&amp;lt;/tex&amp;gt;, где степени вершин &amp;lt;tex&amp;gt;u,v&amp;lt;/tex&amp;gt; равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, в не более чем &amp;lt;tex&amp;gt; \Delta &amp;lt;/tex&amp;gt; цветов так, чтобы вершины &amp;lt;tex&amp;gt;u,v&amp;lt;/tex&amp;gt; были  одного цвета. Следовательно, можно покрасить граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; в не более чем &amp;lt;tex&amp;gt;\Delta&amp;lt;/tex&amp;gt; цветов.&lt;br /&gt;
###*[[Файл:Brooks_2.png‎|400px|thumb|Алгоритм раскраски. Третий случай, пятый шаг]]Если вершины &amp;lt;tex&amp;gt;u,v&amp;lt;/tex&amp;gt; смежны с вершинами &amp;lt;tex&amp;gt;u_1,v_1 \in G_2&amp;lt;/tex&amp;gt; соответственно, тогда вместо вершин &amp;lt;tex&amp;gt;\{u,v\}&amp;lt;/tex&amp;gt; рассмотрим вершины &amp;lt;tex&amp;gt;\{u,v_1\}&amp;lt;/tex&amp;gt;. Заметим, что при удалении этих вершин граф потеряет связность и между ними нет ребра. При этом, сумма степеней новой пары вершин в каждой из компонент, полученных после их удаления, меньше &amp;lt;tex&amp;gt;2(\Delta-1)&amp;lt;/tex&amp;gt;. Поэтому, если для этой пары вершин  провести рассуждения аналогичные тем, которые проводились для вершин &amp;lt;tex&amp;gt; v,u&amp;lt;/tex&amp;gt;, получится, что граф &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; можно правильно раскрасить в  не более чем &amp;lt;tex&amp;gt;\Delta &amp;lt;/tex&amp;gt; цветов.&lt;br /&gt;
##Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-связным графом, где &amp;lt;tex&amp;gt;k &amp;gt; 2&amp;lt;/tex&amp;gt;. Тогда, рассмотрим &amp;lt;tex&amp;gt;w \in V : \deg w = \Delta&amp;lt;/tex&amp;gt;. У вершины &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; должны существовать две соседние вершины &amp;lt;tex&amp;gt;u,v : uv \notin E &amp;lt;/tex&amp;gt;, в противном случае &amp;lt;tex&amp;gt;G = K_n&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;G_- = G - u - v &amp;lt;/tex&amp;gt;. Заметим, что &amp;lt;tex&amp;gt;G_-&amp;lt;/tex&amp;gt; связный граф, запустим для &amp;lt;tex&amp;gt;G_-&amp;lt;/tex&amp;gt; алгоритм  обхода в ширину из вершины &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt;. Пронумеруем вершины &amp;lt;tex&amp;gt;v_1,...,v_{n-2}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; вершина рассмотренная на &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ом шаге алгоритма bfs. Теперь пусть &amp;lt;tex&amp;gt; v_{n-1} = v&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;v_n = u&amp;lt;/tex&amp;gt;. Покрасим &amp;lt;tex&amp;gt;v_n,v_{n-1}&amp;lt;/tex&amp;gt; в один цвет, далее начнем красить вершины в обратном порядке, начиная с &amp;lt;tex&amp;gt;v_{n-2}&amp;lt;/tex&amp;gt; в один из &amp;lt;tex&amp;gt;\Delta&amp;lt;/tex&amp;gt; цветов так, чтобы никакое ребро графа не соединяло вершины одного цвета. Заметим, что так всегда можно сделать, поскольку на &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ом шаге покраски, где &amp;lt;tex&amp;gt;i \neq n&amp;lt;/tex&amp;gt;, для вершины &amp;lt;tex&amp;gt; v_{n - i+1}&amp;lt;/tex&amp;gt; есть не более &amp;lt;tex&amp;gt;\Delta(G) - 1&amp;lt;/tex&amp;gt; уже покрашенных соседей. Следовательно, вершину &amp;lt;tex&amp;gt; v_{n-i+1}&amp;lt;/tex&amp;gt; можно покрасить по крайней мере в один из свободных цветов. Вершину &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; мы тоже сможем правильно раскрасить в один из &amp;lt;tex&amp;gt;\Delta&amp;lt;/tex&amp;gt; цветов потому, что ее &amp;lt;tex&amp;gt;\Delta&amp;lt;/tex&amp;gt; соседей покрашено в не более чем &amp;lt;tex&amp;gt;\Delta - 1&amp;lt;/tex&amp;gt; цветов. Таким образом граф &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; можно правильно раскрасить в  не более чем  &amp;lt;tex&amp;gt;\Delta&amp;lt;/tex&amp;gt; цветов.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Раскраска графа]]&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
*[http://myweb.facstaff.wwu.edu/sarkara/brooks.pdf Brooks’ Theorem]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Brooks'_theorem Wikipedia: Brooks' theorem]&lt;br /&gt;
*[http://ru.wikipedia.org/wiki/Теорема_Брукса Википедия: Теорема Брукса]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Раскраски графов]]&lt;/div&gt;</summary>
		<author><name>81.89.176.80</name></author>	</entry>

	</feed>