Редактирование: Теорема Хватала

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

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
{{Определение
+
Дан [[Основные определения теории графов|граф]] <tex> G </tex>, состоящий из <tex>\ n </tex> [[Основные определения теории графов|вершин]], <tex>\ d_i </tex> — [[Основные определения теории графов|степень]] <tex>\ i </tex>-ой вершины. <br>
|definition=
+
Все <tex>\ d_i </tex> расположены в порядке неубывания. <br>
Пусть [[Основные_определения_теории_графов#.D0.9D.D0.B5.D0.BE.D1.80.D0.B8.D0.B5.D0.BD.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D1.8B.D0.B5_.D0.B3.D1.80.D0.B0.D1.84.D1.8B|неориентированный граф]] <tex> G </tex> имеет <tex> n </tex> вершин: <tex> v_1, v_2, \ldots, v_n </tex>. Пусть <tex> d_i = \deg v_i \mbox{ } (i = \overline{1, n}) </tex> и вершины графа упорядочены таким образом, что <tex> d_1 \leqslant d_2 \leqslant \ldots \leqslant d_n </tex>. Последовательность <tex> d_1, d_2, \ldots, d_n </tex> называют '''последовательностью степеней''' графа <tex> G </tex>.
+
<tex>\ (*) </tex>: <tex>\forall k</tex> верна импликация <tex>(d_k \le k < n/2 \Rightarrow d_{n-k} \ge n-k)</tex>. <br>
}}
 
 
 
 
{{Лемма
 
{{Лемма
 
|about=
 
|about=
О добавлении ребра в граф
+
I
 
|statement=
 
|statement=
Пусть неориентированный граф <tex> G' </tex> получен из неориентированного графа <tex> G </tex> добавлением одного нового ребра <tex> e </tex>. Тогда последовательность степеней графа <tex> G </tex> мажорируется последовательностью степеней графа <tex> G' </tex>.
+
Если <tex>\ d_k \le k </tex>, то число вершин, степень которых не превосходит <tex>\ k </tex>, больше или равно <tex>\ k </tex>.  
 +
Верно и обратное утверждение.
 
|proof=
 
|proof=
''Замечание'': Если в неубывающей последовательности <tex> d_1, d_2, \ldots, d_n </tex> увеличить на единицу число <tex> d_i </tex>, а затем привести последовательность к неубывающему виду, переставив число <tex> d_i + 1 </tex> на положенное место <tex> j </tex>, то исходная последовательность будет мажорироваться полученной. Если <tex>j = i</tex>, то утверждение леммы, очевидно, выполняется. Пусть <tex>j \neq i</tex>.
+
Так как <tex>\ d_1 \le d_2 \le ... \le d_k </tex>, то уже есть <tex>\ k </tex> вершин, степень которых не превосходит <tex>\ k </tex>. Если степени некоторых вершин, следующих за <tex>\ k </tex>, равны <tex>\ d_k </tex>, то число вершин, удовлетворяющих требованию, превышает <tex>\ k </tex>. <br>
[[Файл: Hvatal_1.png|270px|thumb|center|Исходная последовательность степеней <tex> d </tex>]]
+
'''Доказательство в обратную сторону:''' <br>
 
+
пусть у нас есть <tex>\ n </tex> вершин. Из них <tex>\ k + p </tex> <tex> (p \ge 0) </tex> имеют степень не больше <tex>\ k </tex>.
* Рассмотрим элементы с номерами <tex> s = \overline{1, i - 1} </tex>. Они не изменились, следовательно мажорируются собой.
+
Расположим вершины в неубывающем порядке их степеней. <tex>\ d_1 \le k, d_2 \le k, ... , d_k \le k, ..., d_{k+p} \le k </tex>. Значит, <tex>\ d_k \le k </tex>.
* Рассмотрим элементы с номерами <tex> s = \overline{i, j - 1} </tex>. <tex> s </tex>-й элемент полученной последовательности равен <tex> s + 1 </tex>-му элементу исходной. <tex> d_s \leqslant d_{s + 1} \Rightarrow d_s \leqslant d'_s = d_{s + 1} </tex>.
 
* Расмотрим <tex>j</tex>-ый элемент. Имеем <tex>d'_j \ge d'_{j-1} = d_{j} </tex>.
 
* Рассмотрим элементы с номерами <tex> s = \overline{j + 1, n} </tex>. Они не изменились, следовательно мажорируются собой.
 
[[Файл: Hvatal_2.png|290px|thumb|center|Новая последовательность степеней <tex> d' </tex>]]
 
При добавлении в граф ребра <tex> e = uv, \mbox{ } (u \neq v) </tex>, степени вершин <tex> u </tex> и <tex> v </tex> увеличатся на единицу. Для доказательства леммы, дважды воспользуемся замечанием.
 
Значит, последовательность степеней полученного графа мажорирует последовательность степеней исходного.
 
 
}}
 
}}
  
{{Теорема
 
|about=
 
Хватал
 
|statement=
 
Пусть:
 
* <tex> G </tex> — [[Отношение_связности,_компоненты_связности#.D0.A1.D0.BB.D1.83.D1.87.D0.B0.D0.B9_.D0.BD.D0.B5.D0.BE.D1.80.D0.B8.D0.B5.D0.BD.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B3.D1.80.D0.B0.D1.84.D0.B0|связный граф]],
 
* <tex> n = |VG| \geqslant 3 </tex> — количество вершин,
 
* <tex> d_1 \leqslant d_2 \leqslant \ldots \leqslant d_n </tex> — его последовательность степеней.
 
Тогда если <tex> \forall k \in \mathbb N </tex> верна импликация: <br>
 
<center><tex> d_k \leqslant k < n/2 \Rightarrow d_{n - k} \geqslant n - k, (*) </tex></center>
 
то граф <tex> G </tex> [[Гамильтоновы_графы#.D0.9E.D1.81.D0.BD.D0.BE.D0.B2.D0.BD.D1.8B.D0.B5_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F|гамильтонов]].
 
|proof=
 
Для доказательства теоремы, докажем 3 леммы.
 
 
{{Лемма
 
{{Лемма
 
|about=
 
|about=
1
+
II
 
|statement=
 
|statement=
<tex> d_k \leqslant k \Leftrightarrow |\{ v \in VG \mid d_v \leqslant k \}| \geqslant k. </tex>
+
Если <tex>\ d_{n-k} \ge n-k </tex>, то число вершин, степень которых не меньше <tex>\ n-k </tex>, больше или равно <tex>\ k+1 </tex>.
 +
Верно и обратное утверждение.
 
|proof=
 
|proof=
<tex> \Rightarrow </tex> Пусть:
+
Так как <tex>\ d_{n-k} \le d_{n-k+1} \le .... \le d_n </tex> и <tex>\ d_{n-k} \ge n-k </tex>, то мы уже получаем <tex>\ d_{n-k}, d_{n-k+1}, ....,  d_n = k + 1 </tex> вершин, удовлетворяющих нашему требованию. Если степени некоторых вершин, предшествующих <tex>\ n-k </tex>, равны <tex>\ d_{n-k} </tex>, то число вершин, удовлетворяющих требованию, превышает <tex>\ k+1 </tex>. <br>
* <tex> d_1 \leqslant d_2 \leqslant \ldots \leqslant d_k </tex>,
+
'''Доказательство в обратную сторону:''' <br>
* <tex> d_k \leqslant k </tex>,
+
пусть у нас есть <tex>\ n </tex> вершин. Из них <tex>\ k+p </tex> <tex> (p > 0)</tex> имеют степень не меньше <tex>\ n-k </tex>. Расположим вершины в неубывающем порядке их степеней. Получим: <tex>\ d_n \ge n-k, d_{n-1} \ge n-k, ..., d_{n-k} \ge n-k, ... , d_{n-k-p+1} \ge n-k </tex>. Если <tex> p = 1 </tex>, то <tex> n-k-p+1 = n-k </tex>. Отсюда видно, что <tex>\ d_{n-k} \ge n-k </tex>.
* <tex> |\{ d_1, d_2, \ldots, d_k \}| = k </tex>.
 
<tex> \{ d_1, d_2, \ldots, d_k \} \subseteq \{ v \in VG \mid d_v \leqslant k \} \Rightarrow |\{ v \in VG \mid d_v \leqslant k \}| \geqslant k </tex>.
 
 
 
<tex> \Leftarrow </tex> Из условия:
 
* <tex> |\{ v \in VG \mid d_v \leqslant k \}| = k + p </tex>,
 
* <tex> p \geqslant 0 </tex>.
 
Расположим вершины в неубывающем порядке их степеней. <br>
 
<tex> d_1 \leqslant d_2 \leqslant \ldots \leqslant d_k \leqslant \ldots \leqslant d_{k + p} \leqslant k \Rightarrow d_k \leqslant k </tex>.
 
 
}}
 
}}
  
 
{{Лемма
 
{{Лемма
 
|about=
 
|about=
2
+
III
 
|statement=
 
|statement=
<tex>\ d_{n - k} \geqslant n - k \Leftrightarrow |\{ v \in VG \mid d_v \geqslant n - k \}| \geqslant k + 1. </tex>
+
Пусть верно следующее:
|proof=
+
# <tex> (*) </tex> выполнено для последовательности <tex>\ d_1, d_2, ... , d_n </tex>.  
<tex> \Rightarrow </tex> Пусть:
+
# <tex>\ d_1 \le d_1' , ... , d_n \le d_n' </tex>.
* <tex> d_{n - k} \geqslant n - k </tex>,
+
Тогда <tex>\ (*) </tex> выполнено и для <tex>\ d_1', ... , d_n' </tex>.
* <tex> d_{n - k} \leqslant d_{n - k + 1} \leqslant \ldots \leqslant d_n </tex>,
 
* <tex> |\{ d_{n - k}, d_{n - k + 1}, \ldots , d_n \}| = k + 1 </tex>.
 
<tex> \{ d_{n - k}, d_{n - k + 1}, \ldots , d_n \} \subseteq \{ v \in VG \mid d_v \geqslant n - k \} \Rightarrow \{ v \in VG \mid d_v \geqslant n - k \} \geqslant k + 1 </tex>.
 
 
 
<tex> \Leftarrow </tex>:
 
* <tex> |\{ v \in VG \mid d_v \geqslant n - k \}| = k + 1 + p, (p \geqslant 0)</tex>,
 
Расположим вершины в неубывающем порядке их степеней.
 
<tex> d_n \geqslant d_{n - 1} \ldots \geqslant d_{n - k} \geqslant \ldots \geqslant d_{n - k - p} \geqslant n - k \Rightarrow d_{n - k} \geqslant n - k </tex>.
 
 
}}
 
}}
 
 
{{Лемма
 
{{Лемма
 
|about=
 
|about=
3
+
IV
 
|statement=
 
|statement=
Если импликация <tex> (*) </tex> верна для некоторой последовательности степеней <tex> d </tex>, то она верна и для неубывающей последовательности <tex> d' </tex>, мажорирующей <tex> d </tex>.
+
Если <tex>\ (*) </tex> верно для некоторой последовательности степеней, то оно верно и для мажорирующей её последовательности.
|proof=
 
# Если <tex> d'_k > k </tex>, то первый аргумент импликации всегда ложен, следовательно импликация верна вне зависимости от второго аргумента. Значит, в этом случае импликация <tex> (*) </tex> верна для последовательности <tex> d' </tex>.
 
# Если <tex> d'_k \leqslant k, \mbox{ } d'_{n - k} \geqslant d_{n - k} \geqslant n - k </tex>, то оба аргумента импликации всегда истинны. Значит, и в этом случае импликация <tex> (*) </tex> верна для последовательности <tex> d' </tex>.
 
Значит, импликация <tex> (*) </tex> выполняется и для последовательности <tex> d' </tex>.
 
 
}}
 
}}
 
+
{{Теорема
Приведем доказательство от противного.
+
|about=
 
+
Хватал
Пусть существует граф с числом вершин <tex> n \geqslant 3 </tex>, удовлетворяющий <tex> (*) </tex>, но негамильтонов.
 
Будем добавлять в него ребра до тех пор, пока не получим максимально возможный негамильтонов граф <tex> G </tex> (то есть добавление еще одного ребра сделает граф <tex> G </tex> гамильтоновым).
 
По лемме о добавлении ребра и лемме №3 импликация <tex> (*) </tex> остается верной для графа <tex> G </tex>.
 
Очевидно, что граф <tex>\ K_n </tex> гамильтонов при <tex> k \geqslant 3 </tex>.
 
Будем считать <tex> G </tex> максимальным негамильтоновым остовным подграфом графа <tex> K_n </tex>.
 
 
 
Выберем две несмежные вершины <tex> u </tex> и <tex> v </tex> графа <tex> G </tex>, такие что <tex> \deg u + \deg v </tex> — максимально.
 
Будем считать, что <tex> \deg u \leqslant \deg v </tex>.
 
Добавив к <tex> G </tex> новое ребро <tex> e = uv </tex>, получим гамильтонов граф <tex> G + e </tex>.
 
Рассмотрим гамильтонов цикл графа <tex> G + e </tex>: в нём обязательно присутствует ребро <tex> e </tex>.
 
Отбрасывая ребро <tex> e </tex>, получим гамильтонову <tex> (u, v) </tex>-цепь в графе <tex> G </tex>: <tex> u = u_1 \rightarrow u_2 \rightarrow \ldots \rightarrow u_n = v </tex>.
 
 
 
Пусть <tex> S = \{ i \mid e_i = u_1 u_{i + 1} \in EG\}, T = \{ i \mid f_i = u_i u_n \in EG\} </tex>.
 
[[Файл: Hvatal_3.png|330px|thumb|center|Множество <tex> S </tex> обозначено красным цветом, множество <tex> T </tex> обозначено синим цветом]]
 
 
 
{{Утверждение
 
 
|statement=
 
|statement=
<tex> S \cap T  = \emptyset </tex>.
+
Пусть <tex> G </tex> — [[Отношение связности, компоненты связности|связный граф]], количество вершин которого не меньше 3. Упорядочим степени вершин <tex>\ G </tex> по неубыванию.
 +
Если <tex>\forall k</tex> верно <tex> (*) </tex>: <tex>(d_k \le k < n/2 \Rightarrow d_{n-k} \ge n-k) </tex>, то <tex> G </tex> — [[Гамильтоновы графы|гамильтонов]].
 
|proof=
 
|proof=
Предположим, что <tex> j \in S \cap T </tex>. Тогда получим гамильтонов цикл графа <tex> G </tex>:  <tex> u_1 \xrightarrow{e_j} u_{j + 1} \rightarrow \ldots \rightarrow u_n \xrightarrow{f_j} u_j \rightarrow u_{j - 1} \rightarrow \ldots \rightarrow u_1 </tex>, что противоречит условию, что граф негамильтонов.
+
Приведем доказательство от противного.
[[Файл: Hvatal_4.png|270px|thumb|center|]]
+
Пусть теорема Хватала не верна, то есть существует граф с числом вершин <tex>\ n \ge 3 </tex>, удовлетворяющий <tex>\ (*) </tex>, но негамильтонов.
Значит, <tex> S \cap T </tex>.
+
Будем добавлять в него [[Основные определения теории графов|рёбра]] до тех пор, пока не получим максимально возможный негамильтонов граф <tex> G </tex> (то есть добавление еще одного ребра сделает граф <tex> G </tex> гамильтоновым).
 +
Важно то, что добавление рёбер не нарушает <tex>\ (*) </tex>.
 +
Очевидно, что граф <tex>\ K_n </tex> гамильтонов для <tex>\ k \ge 3 </tex>.
 +
Будем считать <tex> G </tex> максимальным негамильтоновым остовным подграфом графа <tex>\ K_n </tex>.
 +
Выберем две несмежные вершины <tex> u </tex> и <tex> v </tex> графа <tex> G </tex> с условием: <tex> \deg u + \deg v </tex> — максимально.
 +
Будем считать, что <tex>\deg u \le \deg v </tex>.
 +
Добавив к <tex> G </tex> новое ребро <tex> e = uv </tex>, получим гамильтонов граф <tex> G + e</tex>.
 +
Рассмотрим [[Гамильтоновы графы|гамильтонов цикл]] графа <tex> G + e</tex>: в нём обязательно присутствует ребро <tex> e </tex>. <br>
 +
Отбрасывая ребро <tex> e </tex>, получим гамильтонову (<tex>u</tex>, <tex>v</tex>)-цепь в графе <tex> G </tex>: <tex> u = u_1 - u_2 - ... - u_n = v </tex>. <br>
 +
Пусть <tex>\ S = \{i|e_i = u_1 u_{i+1} \in E(G)\} </tex>. <br>
 +
Пусть <tex>\ T = \{i|f_i = u_i u_n \in E(G)\} </tex>. <br>
 +
<tex>\ S \cap T  = \varnothing </tex>, иначе в графе <tex> G </tex> есть гамильтонов цикл: пусть z <tex> \in S \cap T </tex>. Тогда получим гамильтонов цикл графа <tex> G </tex>:  <tex>\ u_1 - u_{z+1} - u_{z+2} - ... - u_n - u_z - u_{z-1} - ... - u_1 </tex>.
 +
Из определений <tex>\ S </tex> и <tex>\ T </tex> следует, что <tex>\ S \cup T \subseteq \{1, 2, ..., n - 1 \} </tex>, поэтому <tex> 2\deg u \le \deg u + \deg v = |S| + |T| = |S \cup T| < n </tex>, то есть <tex>\deg u < n/2 </tex>. <br>
 +
Так как <tex>\ S \cap T  = \varnothing </tex>, ни одна вершина <tex>\ u_j </tex> не смежна с <tex>\ v = u_n </tex> (для <tex>\ j \in S </tex>). В силу выбора <tex> u </tex> и <tex> v </tex>, получим, что <tex>\deg u_j \le \deg u </tex>. Положим, что <tex>\ k = \deg u </tex>.
 +
Тогда имеется по крайней мере <tex>\ |S| = \deg u = k </tex> вершин, степень которых не превосходит k. <br>
 +
В силу первой леммы, выполняется: <tex>\ d_k \le k < n/2 </tex>. <br>
 +
Исходя из <tex>\ (*) </tex>, получаем: <tex>\ d_{n-k} \ge n-k </tex>. <br>
 +
В силу второй леммы, имеется по крайней мере <tex>\ k+1 </tex> вершин, степень которых не меньше <tex>\ n-k </tex>. <br>
 +
Так как <tex>\ k = \deg u </tex>, то вершина <tex>\ u </tex> может быть смежна максимум с <tex>\ k </tex> из этих <tex>\ k+1 </tex> вершин. Значит, существует вершина <tex>\ w </tex>, не являющаяся смежной с <tex>\ u </tex> и для которой <tex>\deg w \ge n-k </tex>. Тогда получим, что <tex>\deg u + \deg w \ge k + (n - k) = n > \deg u + \deg v </tex>, но это противоречит выбору <tex>\ u </tex> и <tex>\ v </tex>. <br>
 
}}
 
}}
  
Из определений <tex> S </tex> и <tex> T </tex> следует, что <tex> S \cup T \subseteq \{1, 2, ..., n - 1 \} \Rightarrow 2 \deg u \leqslant \deg u + \deg v = |S| + |T| = |S \cup T| < n </tex>. Значит, <tex> \deg u < n/2 </tex>.
+
==Литература==
 
+
*  Асанов М,, Баранский В., Расин В. Дискретная математика Графы, матроиды, алгоритмы
Так как <tex> S \cap T  = \emptyset </tex>, ни одна вершина <tex> u_j </tex> не смежна с <tex> v = u_n </tex> (для <tex> j \in S </tex>). В силу выбора <tex> u </tex> и <tex> v </tex>, получим, что <tex> \deg u_j \leqslant \deg u </tex>. Пусть <tex> k = \deg u = |S| </tex>. Значит, <tex> \exists k </tex> вершин, степень которых не превосходит <tex> k </tex>.
 
 
 
По лемме №1: <tex> d_k \leqslant k < n/2 </tex>. В силу импликации <tex> (*) </tex>: <tex> d_{n - k} \geqslant n - k </tex>.
 
 
 
По лемме №2, <tex> \exists k + 1 </tex> вершин, степень которых не меньше <tex> n - k </tex>.
 
 
 
Так как <tex> k = \deg u </tex>, то вершина <tex> u </tex> может быть смежна максимум с <tex> k </tex> из этих <tex> k+1 </tex> вершин. Значит, существует вершина <tex> w </tex>, не являющаяся смежной с <tex> u </tex> и для которой <tex> \deg w \geqslant n - k </tex>. Тогда получим, что <tex> \deg u + \deg w \geqslant k + (n - k) = n > \deg u + \deg v </tex>, что противоречит выбору <tex> u </tex> и <tex> v </tex>.
 
 
 
Значит, предположение неверно.
 
}}
 
 
 
==См. также==
 
* [[Гамильтоновы графы]]
 
* [[Теорема Дирака]]
 
* [[Теорема Оре]]
 
 
 
== Источники информации ==
 
* Асанов М., Баранский В., Расин В.: ''Дискретная математика: Графы, матроиды, алгоритмы''
 
  
 
[[Категория: Алгоритмы и структуры данных]]
 
[[Категория: Алгоритмы и структуры данных]]
 
[[Категория: Обходы графов]]
 
[[Категория: Обходы графов]]
[[Категория: Гамильтоновы графы]]
 

Пожалуйста, учтите, что любой ваш вклад в проект «Викиконспекты» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Викиконспекты:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Чтобы изменить эту страницу, пожалуйста, ответьте на приведённый ниже вопрос (подробнее):

Отменить | Справка по редактированию (в новом окне)