Теорема Брукса — различия между версиями
(→Теорема) |
|||
Строка 3: | Строка 3: | ||
|statement= Пусть <tex>G(V,E)</tex> - произвольный связный неориентированный граф и <tex>\Delta(G)</tex> - максимальная степень вершин <tex>G</tex>. Если в таком графе существует вершина <tex>v</tex> степени <tex> deg\ v < \Delta(G)</tex>, то <tex>\chi(G) \le \Delta(G)</tex>. | |statement= Пусть <tex>G(V,E)</tex> - произвольный связный неориентированный граф и <tex>\Delta(G)</tex> - максимальная степень вершин <tex>G</tex>. Если в таком графе существует вершина <tex>v</tex> степени <tex> deg\ v < \Delta(G)</tex>, то <tex>\chi(G) \le \Delta(G)</tex>. | ||
|proof= | |proof= | ||
− | Запустим алгоритм [[Обхода в ширину| обхода в ширину]] из вершины | + | Запустим алгоритм [[Обхода в ширину| обхода в ширину]] из вершины <tex>w</tex>. Пронумеруем вершины <tex>v_1,...,v_n,</tex> где <tex>v_i</tex> вершина рассмотренная на <tex>i</tex>ом шаге алгоритма bfs. Далее начнем красить вершины в обратном порядке в один из <tex>\Delta</tex> цветов так, чтобы никакое ребро графа не соединяло вершины одного цвета. Заметим, что так всегда можно сделать, поскольку на <tex> i</tex>ом шаге покраски, для вершины <tex> v_{n - i+1}</tex> есть не более <tex>\Delta(G) - 1</tex> уже покрашенных соседей, следовательно вершину <tex> v_{n-i+1}</tex> можно покрасить по крайней мере в один из свободных цветов. |
Таким образом граф можно покрасить в <tex> \Delta</tex> цветов, следовательно <tex> \chi(G) \le \Delta(G)</tex>. | Таким образом граф можно покрасить в <tex> \Delta</tex> цветов, следовательно <tex> \chi(G) \le \Delta(G)</tex>. | ||
Строка 24: | Строка 24: | ||
#Если <tex>G</tex> не является двусвязным графом, тогда в графе <tex> G</tex> <tex> \exists</tex> <tex> v \in V</tex>, где v {{---}} точка сочленения. Пусть <tex>G_1,G_2</tex> две компоненты связности полученный при удалении вершины <tex>v</tex>.Тогда, по выше доказанной лемме <tex>G_1,G_2</tex> можно правильно покрасить в <tex>\Delta</tex> цветов.Поскольку количество соседей вершины <tex> v </tex> в каждой из компонент не более <tex> \Delta - 1</tex>, то <tex>G</tex> можно правильно раскрасить в <tex>\Delta</tex> цветов. | #Если <tex>G</tex> не является двусвязным графом, тогда в графе <tex> G</tex> <tex> \exists</tex> <tex> v \in V</tex>, где v {{---}} точка сочленения. Пусть <tex>G_1,G_2</tex> две компоненты связности полученный при удалении вершины <tex>v</tex>.Тогда, по выше доказанной лемме <tex>G_1,G_2</tex> можно правильно покрасить в <tex>\Delta</tex> цветов.Поскольку количество соседей вершины <tex> v </tex> в каждой из компонент не более <tex> \Delta - 1</tex>, то <tex>G</tex> можно правильно раскрасить в <tex>\Delta</tex> цветов. | ||
#Если в графе <tex> G</tex> <tex> \exists</tex> <tex> v,u \in V :(u,v) \notin E</tex> и при удалении вершин <tex>v,u</tex> граф теряет связность .Пусть <tex>G_1,G_2</tex> два подграфа <tex> G:G_1 \cap G_2 = \{v,u\} \land G_1 \cup G_2 = G</tex>. Рассмотрим два случая: | #Если в графе <tex> G</tex> <tex> \exists</tex> <tex> v,u \in V :(u,v) \notin E</tex> и при удалении вершин <tex>v,u</tex> граф теряет связность .Пусть <tex>G_1,G_2</tex> два подграфа <tex> G:G_1 \cap G_2 = \{v,u\} \land G_1 \cup G_2 = G</tex>. Рассмотрим два случая: | ||
− | ## Если в одном из подграфов <tex> G_1,G_2</tex> <tex> deg\ u < \Delta - 2 </tex> или <tex> deg\ v < \Delta - 2 </tex> то, подграфы <tex>G_1,G_2</tex> можно правильно раскрасить в <tex>\Delta</tex> цветов так, чтобы вершины <tex> u,v </tex> были бы разных цветов.А из этого следует что, граф <tex>G</tex> тоже можно правильно раскрасить в <\Delta> цветов. | + | ## Если в одном из подграфов <tex> G_1,G_2</tex> <tex> deg\ u < \Delta - 2 </tex> или <tex> deg\ v < \Delta - 2 </tex> то, подграфы <tex>G_1,G_2</tex> можно правильно раскрасить в <tex>\Delta</tex> цветов так, чтобы вершины <tex> u,v </tex> были бы разных цветов.А из этого следует что, граф <tex>G</tex> тоже можно правильно раскрасить в <tex>\Delta</tex> цветов. |
## Если степени обоих вершин в одном из подграфов равны <tex> \Delta - 1</tex> например в подграфе <tex>G_1</tex>: | ## Если степени обоих вершин в одном из подграфов равны <tex> \Delta - 1</tex> например в подграфе <tex>G_1</tex>: | ||
##* <tex> G_1,G_2 </tex> можно правильно раскрасить в <tex>\Delta</tex> цветов так, чтобы вершины <tex> u,v </tex> были бы разных цветов.Тогда очевидно, что оценка теоремы выполнена. | ##* <tex> G_1,G_2 </tex> можно правильно раскрасить в <tex>\Delta</tex> цветов так, чтобы вершины <tex> u,v </tex> были бы разных цветов.Тогда очевидно, что оценка теоремы выполнена. | ||
##* <tex>\exists p \in G_2: pu \in E \land pv \in E </tex>, тогда мы можем правильно раскрасить <tex>G_2</tex>, где <tex>deg\ u = deg\ v = 1</tex>, в не более чем <tex> \Delta </tex> цветов так, чтобы вершины <tex>u,v</tex> были одного цвета.Следовательно,можно покрасить граф <tex>G</tex> в не более чем <tex>\Delta</tex> цветов. | ##* <tex>\exists p \in G_2: pu \in E \land pv \in E </tex>, тогда мы можем правильно раскрасить <tex>G_2</tex>, где <tex>deg\ u = deg\ v = 1</tex>, в не более чем <tex> \Delta </tex> цветов так, чтобы вершины <tex>u,v</tex> были одного цвета.Следовательно,можно покрасить граф <tex>G</tex> в не более чем <tex>\Delta</tex> цветов. | ||
##*<tex>\exists u_1,v_1 \in G_2: uu_1 \in E \land vv_1 \in E \land u_1 \neq v_1 </tex>, тогда вместо вершин <tex>\{u,v\}</tex> рассмотрим вершины <tex>\{u,v_1\}</tex>.Заметим, что при удалении этих вершин граф потеряет связность и между ними нет ребра,то есть для этой пары вершин можно провести рассуждения аналогичные тем которые проводились для вершин <tex> v,u</tex>, прямым образом вытекает, что граф <tex> G</tex> можно правильно покрасить в не более чем <tex>\Delta </tex> цветов. | ##*<tex>\exists u_1,v_1 \in G_2: uu_1 \in E \land vv_1 \in E \land u_1 \neq v_1 </tex>, тогда вместо вершин <tex>\{u,v\}</tex> рассмотрим вершины <tex>\{u,v_1\}</tex>.Заметим, что при удалении этих вершин граф потеряет связность и между ними нет ребра,то есть для этой пары вершин можно провести рассуждения аналогичные тем которые проводились для вершин <tex> v,u</tex>, прямым образом вытекает, что граф <tex> G</tex> можно правильно покрасить в не более чем <tex>\Delta </tex> цветов. | ||
− | #Если вышеописанные случаи не подходят, тогда рассмотрим <tex>w \in V : deg\ w = \Delta</tex>. У вершины <tex>w</tex> должны существовать две соседние вершины <tex>u,v : uv \notin E </tex>, в противном случаи <tex>G = K_n</tex>.Пусть <tex>G_- = G - u - v </tex>. Заметим, что | + | #Если вышеописанные случаи не подходят, тогда рассмотрим <tex>w \in V : deg\ w = \Delta</tex>. У вершины <tex>w</tex> должны существовать две соседние вершины <tex>u,v : uv \notin E </tex>, в противном случаи <tex>G = K_n</tex>.Пусть <tex>G_- = G - u - v </tex>. Заметим, что <tex>G_-</tex> связный граф, запустим для <tex>G_-</tex> алгоритм [[Обхода в ширину| обхода в ширину]] из вершины <tex>w</tex>. Пронумеруем вершины <tex>v_1,...,v_{n-2},</tex> где <tex>v_i</tex> вершина рассмотренная на <tex>i</tex>ом шаге алгоритма bfs.Теперь пусть <tex> v_{n-1} = v</tex>,и <tex>v_n = u</tex>. Покрасим <tex>v_n,v_{n-1}</tex> в один цвет, далее начнем красить вершины в обратном порядке начиная с <tex>v_{n-2}</tex> в обратном порядке в один из <tex>\Delta</tex> цветов так, чтобы никакое ребро графа не соединяло вершины одного цвета.Заметим, что так всегда можно сделать, поскольку на <tex> i</tex>ом шаге покраски,для <tex>i \neq n</tex>, для вершины <tex> v_{n - i+1}</tex> есть не более <tex>\Delta(G) - 1</tex> уже покрашенных соседей, следовательно вершину <tex> v_{n-i+1}</tex> можно покрасить по крайней мере в один из свободных цветов.Вершину <tex>w</tex>,мы тоже сможем правильно покрасить в один из <tex>\Delta</tex> цветов потому, что ее <tex>\Delta</tex> соседей покрашено в не более чем <tex>\Delta - 1</tex> цветов. Таким образом граф <tex> G</tex> можно правильно покрасить в не более чем <tex>\Delta</tex> цветов. |
}} | }} | ||
Версия 18:31, 27 декабря 2012
Вспомогательная Лемма
Лемма: |
Пусть - произвольный связный неориентированный граф и - максимальная степень вершин . Если в таком графе существует вершина степени , то . |
Доказательство: |
Запустим алгоритм обхода в ширину из вершины . Пронумеруем вершины где вершина рассмотренная на ом шаге алгоритма bfs. Далее начнем красить вершины в обратном порядке в один из цветов так, чтобы никакое ребро графа не соединяло вершины одного цвета. Заметим, что так всегда можно сделать, поскольку на ом шаге покраски, для вершины есть не более уже покрашенных соседей, следовательно вершину можно покрасить по крайней мере в один из свободных цветов. Таким образом граф можно покрасить в цветов, следовательно . |
Теорема
Теорема (Брукса): |
Пусть — связный неориентированный граф и не является или , ни для кого , то , где - максимальная степень вершин |
Доказательство: |
Поэтому мы будем считать до конца доказательства, что . Если в существует вершина степени , то по выше доказанной лемме . То есть осталось рассмотреть случай, когда — планарный граф.
|