Хроматический многочлен — различия между версиями
Tsar (обсуждение | вклад) (→Литература: добавляю Харари) |
м (rollbackEdits.php mass rollback) |
||
(не показана 51 промежуточная версия 13 участников) | |||
Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
− | |definition= | + | |definition=Пусть дан фиксированный граф <tex>G</tex> и фиксированное число красок <tex>x</tex>. Количество способов правильной <tex>x</tex> — [[Раскраска графа|раскраски графа]] <tex>G</tex> называется '''хроматическим многочленом''' (англ. ''chromatic polynomial''). Обозначение: <tex>P(G,x)</tex>. |
}} | }} | ||
− | == | + | == Рекуррентные формулы для хроматических многочленов == |
− | + | {{Определение | |
− | + | |definition='''Стягивание ребра''' (англ. ''edge contraction'') — замена концов ребра одной вершиной, соседями новой вершины становятся соседи этих концов. Будем обозначать за <tex>G/uv</tex> граф, полученный из графа <tex>G</tex> стягиванием ребра <tex>uv</tex>.}} | |
+ | {{Теорема | ||
+ | |statement= | ||
+ | Пусть <tex>u</tex> и <tex>v</tex> — несмежные вершины графа <tex>G</tex>. Если <tex>G_1=G\cup uv</tex>, а <tex>G_2=G/uv</tex>, то <tex>P(G,x)=P(G_1,x)+P(G_2,x)</tex>. | ||
+ | |proof= | ||
+ | Рассмотрим все произвольные раскраски графа <tex>G</tex>. Рассмотрим те из них, при которых вершины <tex>u</tex> и <tex>v</tex> окрашены в разные цвета. Если добавить к графу <tex>G</tex> ребро <tex>uv</tex>, то они не изменятся, то есть останутся правильными. Рассмотрим раскраски, при которых <tex>u</tex> и <tex>v</tex> одного цвета. Все эти раскраски останутся правильными и для графа, полученного из <tex>G</tex> слиянием вершин <tex>u</tex> и <tex>v</tex>. | ||
+ | }} | ||
+ | '''Замечание:''' | ||
+ | Если к некоторому произвольному графу добавлять ребра последовательно, не меняя его вершин, то на каком-то шаге мы получим полный граф. Аналогично мы получим полный граф, если в произвольном графе уменьшим число вершин, путем их отождествления, не меняя числа ребер. | ||
− | + | '''Следствие:''' | |
− | <tex> | + | Хроматический многочлен любого графа <tex>G</tex> равен сумме хроматических многочленов некоторого числа полных графов, число вершин в которых не больше, чем в графе <tex>G</tex>. |
− | |||
− | == Хроматический многочлен дерева == | + | {{Теорема |
+ | |statement= | ||
+ | Пусть <tex>u</tex> и <tex>v</tex> — смежные вершины графа <tex>G</tex>. Если <tex>G_1=G\backslash uv</tex> и <tex>G_2=G/uv</tex>, то <tex>P(G,x)=P(G_1,x)-P(G_2,x)</tex>. | ||
+ | |proof= | ||
+ | Следует из предыдущей теоремы. | ||
+ | }} | ||
+ | |||
+ | == Примеры хроматических многочленов == | ||
+ | === Хроматический многочлен полного графа === | ||
+ | <tex>P(K_{n},x)=x(x-1)...(x-n+1)=x^{\underline{n}}</tex>, так как первую вершину полного графа <tex>K_{n}</tex> можно окрасить в любой из <tex>x</tex> цветов, вторую — в любой из оставшихся <tex>x-1</tex> цветов и т. д. Очевидно, что если <tex>x</tex> меньше <tex>n</tex>, то и многочлен равен <tex>0</tex>, так как один из его множителей <tex>0</tex>. | ||
+ | |||
+ | === Хроматический многочлен нуль-графа === | ||
+ | {{Определение | ||
+ | |definition='''Нуль-граф''' (пустой граф, вполне несвязный граф; англ. ''null graph'', ''empty graph'', ''edgeless graph'') — регулярный граф степени <tex>0</tex>, т.е. граф без рёбер.}} | ||
+ | <tex>P(O_{n},x)=x^{n}</tex>, так как каждую из <tex>n</tex> вершин нулевого графа <tex>O_{n}</tex> можно независимо окрасить в любой из <tex>x</tex> цветов.<br> | ||
+ | '''Примечание:''' Нулевой граф <tex>O_{n}</tex> также можно обозначать <tex>\overline{K_{n}}</tex> (дополнительный граф для полного графа <tex>K_{n}</tex>). | ||
+ | |||
+ | === Хроматический многочлен простой цепи === | ||
+ | Пусть <tex>T_n</tex> — простая цепь, состоящая из <tex>n</tex> вершин. Рассмотрим процесс раскраски простой цепи: первую вершину можно покрасить в один из <tex>x</tex> цветов, вторую и последующие в один из <tex>x - 1</tex> цветов (т.е. так, чтобы цвет не совпадал с предыдущей вершиной). Тогда <tex>P(T_n, x) = x(x - 1) ^ {n - 1}</tex>. | ||
+ | |||
+ | === Хроматический многочлен цикла === | ||
+ | {{Теорема | ||
+ | |about= | ||
+ | хроматический многочлен цикла | ||
+ | |statement= | ||
+ | Пусть <tex>C_n</tex> — цикл длины <tex>n</tex>. Тогда хроматический многочлен цикла <tex>P(C_n, x) = (x - 1)^n + (-1)^n(x - 1)</tex>. | ||
+ | |proof= | ||
+ | Докажем по индукции по количеству вершин.<br> | ||
+ | '''База индукции''': рассмотрим случай <tex>n = 3</tex>: <tex>P(C_3, x) = x(x - 1)(x - 2) = (x^3 - 3x^2 + 3x - 1) - (x - 1) = (x - 1)^3 + (-1)^3(x - 1)</tex>, что удовлетворяет формулировке теоремы.<br> | ||
+ | '''Индукционный переход''': пусть <tex>P(C_k, x) = (x - 1)^k + (-1)^k(x - 1)</tex>.<br> | ||
+ | Рассмотрим случай <tex>n = k + 1</tex>. По теореме о [[#Рекуррентные_формулы_для_хроматических_многочленов|рекуррентной формуле для хроматических многочленов]]: <tex>P(C_{k + 1}, x ) = P(C_{k + 1} \setminus e, x) - P(C_{k + 1} / e, x)</tex> (где <tex>e</tex> — любое ребро <tex>C_{k + 1}</tex>). | ||
+ | Заметим, что граф <tex>C_{k + 1} / e</tex> изоморфен <tex>C_k</tex>, а граф <tex>C_{k + 1} \setminus e</tex> является [[#Хроматический_многочлен_простой_цепи|простой цепью]]. | ||
+ | Тогда <tex>P(C_{k + 1}, x)=P(T_{k + 1}, x)-P(C_k, x)=x(x-1)^k-(x-1)^k-(-1)^k(x-1)=</tex> <tex>(x-1)^{k+1}+(-1)^{k+1}(x-1)</tex>. | ||
+ | }} | ||
+ | |||
+ | === Хроматический многочлен колеса === | ||
+ | Пусть <tex>W_n</tex> — [[Двойственный_граф_планарного_графа|колесо]] с <tex>n</tex> вершинами. Выбрав и зафиксировав один из <tex>x</tex> цветов на вершине, связнной со всеми остальными, имеем <tex> P(C_{n - 1}, x - 1) </tex> вариантов раскраски оставшегося графа. Тогда хроматический многочлен колеса <tex>P_{W_n}(x) = x \cdot P_{C_{n - 1}}(x - 1) = x((x - 2)^{(n - 1)} + (-1)^{(n - 1)}(x - 2))</tex>. | ||
+ | |||
+ | === Хроматический многочлен дерева === | ||
{{Теорема | {{Теорема | ||
|about= | |about= | ||
Строка 18: | Строка 63: | ||
Граф <tex>G</tex> с <tex>n</tex> вершинами является деревом тогда и только тогда, когда <tex>P(G,x)=x(x-1)^{n-1}</tex>. | Граф <tex>G</tex> с <tex>n</tex> вершинами является деревом тогда и только тогда, когда <tex>P(G,x)=x(x-1)^{n-1}</tex>. | ||
|proof= | |proof= | ||
− | Сначала покажем, что хроматический многочлен любого дерева <tex>T</tex> с <tex>n</tex> вершинами есть <tex>x(x-1)^{n-1}</tex>. | + | <tex>\Rightarrow</tex><br> |
− | Доказательство индукцией по числу <tex>n</tex>. Для <tex>n=1</tex> и <tex>n=2</tex> результат очевиден. Предположим, что <tex>P(T',x)=x(x-1)^{n-2}</tex> для любого дерева <tex>T'</tex> с количеством вершин равным <tex>n-1</tex>. Пусть <tex>uv</tex> | + | Сначала покажем, что хроматический многочлен любого дерева <tex>T</tex> с <tex>n</tex> вершинами есть <tex>x(x-1)^{n-1}</tex>. |
− | Обратно, пусть <tex>G</tex> | + | Доказательство индукцией по числу <tex>n</tex>. Для <tex>n=1</tex> и <tex>n=2</tex> результат очевиден. Предположим, что <tex>P(T',x)=x(x-1)^{n-2}</tex> для любого дерева <tex>T'</tex> с количеством вершин равным <tex>n-1</tex>. Пусть <tex>uv</tex> — ребро дерева <tex>T</tex>, такое что <tex>v</tex> является висячей вершиной. Хроматический многочлен дерева <tex>T</tex> без ребра <tex>uv</tex> равен <tex>P(T/uv,x)=x(x-1)^{n-2}</tex> по нашему предположению. Вершину <tex>v</tex> можно окрасить <tex>x-1</tex> способом, так как её цвет должен только лишь отличаться от цвета вершины <tex>u</tex>. Итого: <tex>P(T,x)=(x-1)P(T/uv,x)=x(x-1)^{n-1}</tex>.<br> |
− | + | <tex>\Leftarrow</tex><br> | |
− | + | Обратно, пусть <tex>G</tex> — граф, у которого <tex>P(G,x)=x(x-1)^{n-1}</tex>. Тогда верны два следующих утверждения: | |
− | <tex>{P(G,x)=x(x-1)^{n-1}=x(x^{n-1}- | + | <ol> |
− | Из этих двух утверждений (связность и <tex>n-1</tex> ребро) следует, что граф <tex>G</tex> является деревом (см. [[Дерево, эквивалентные определения]] | + | <li>Граф <tex>G</tex> связен, потому что если было бы две компоненты связности (или больше), то <tex>P(G,x)</tex> делился бы на <tex>x^2</tex> без остатка.<br /></li> |
+ | <li>В графе <tex>G</tex> количество рёбер равно <tex>n-1</tex>, так как по одной из теорем о коэффициентах хроматического многочлена ([[Хроматический многочлен#Коэффициенты хроматического многочлена|Коэффициенты хроматического многочлена]], теорема 4), количество рёбер в графе соответствует коэффициенту при <tex>x^{n-1}</tex>, взятому со знаком минус. В нашем случае, этот коэффициент удобно искать, используя бином Ньютона:<br /> | ||
+ | <tex>{P(G,x)=x(x-1)^{n-1}=x\left(x^{n-1}-{n-1 \choose 1}x^{n-2}+{n-1 \choose 2}x^{n-3}-...+(-1)^{n-1}\right)=x^{n}-(n-1)x^{n-1}+...+(-1)^{n-1}x}</tex><br /> </li> | ||
+ | </ol> | ||
+ | Из этих двух утверждений (связность и <tex>n-1</tex> ребро) следует, что граф <tex>G</tex> является деревом (см. [[Дерево, эквивалентные определения]], утверждения 1 и 3). | ||
}} | }} | ||
== Коэффициенты хроматического многочлена == | == Коэффициенты хроматического многочлена == | ||
− | == | + | {{Теорема |
− | = | + | |about= |
− | == | + | 1 |
− | 1. Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы: Учебное пособие. 2-е изд., испр. и доп. - СПб.: Издательство "Лань", 2010. - 368 с.: ил. - (Учебники для вузов. Специальная литература). | + | |statement= |
− | + | Свободный член хроматического многочлена равен <tex>0</tex>. | |
+ | |proof= | ||
+ | По определению хроматического многочлена графа <tex>G</tex>, его значение в точке <tex>x</tex> равно количеству способов раскрасить вершины <tex>G</tex> правильным образом в <tex>x</tex> цветов. Количество способов раскрасить граф в <tex>0</tex> цветов равно <tex>0</tex>. То есть <tex>P(G,0)=0</tex>. Из этого следует, что <tex>P(G,x)</tex> кратен <tex>x</tex>, следовательно его свободный член равен <tex>0</tex>. | ||
+ | }} | ||
+ | |||
+ | {{Теорема | ||
+ | |about= | ||
+ | 2 | ||
+ | |statement= | ||
+ | Старший коэффициент хроматического многочлена равен <tex>1</tex>. | ||
+ | |proof= | ||
+ | Воспользуемся рекуррентной формулой:<br/> | ||
+ | <tex>P(G,x) = P(G_{1},x) + P(G_{2},x)</tex>,<br/> | ||
+ | где <tex>G_{1}</tex> — граф, полученный из <tex>G</tex> добавлением отсутствующего в <tex>G</tex> ребра <tex>uv</tex>, а <tex>G_{2}</tex> — граф, полученный из <tex>G</tex> слиянием вершин <tex>u</tex> и <tex>v</tex> в одну и удалением возникших при этом кратных ребер. | ||
+ | Применяя рекуррентную формулу повторно, хроматический полином можно представить в виде суммы хроматических полиномов полных графов, то есть:<br/> | ||
+ | <tex>P(G,x) = {P(K_{n},x) + a_{1}P(K_{n-1},x) + a_{2}P(K_{n-2},x) + \ldots = x^{\underline{n}} + a_{1}x^{\underline{n-1}}+a_{2}x^{\underline{n-2}}+\ldots}</tex><br/> | ||
+ | Из этой формулы видно, что хроматический многочлен имеет старший коэффициент, равный <tex>1</tex>. | ||
+ | }} | ||
+ | |||
+ | {{Теорема | ||
+ | |about= | ||
+ | 3 | ||
+ | |statement= | ||
+ | Коэффициенты хроматического многочлена составляют знакопеременную последовательность. | ||
+ | |proof= | ||
+ | Индукция по количеству вершин.<br/> | ||
+ | '''База индукции:'''<br/> | ||
+ | Теорема верна для графа <tex>G</tex> из одной вершины, потому что <tex>P(G,x)=x</tex>.<br/> | ||
+ | '''Индукционный переход''' (<tex>n \to n+1)</tex>:<br/> | ||
+ | Предположим, что теорема верна для всех графов на <tex>n</tex> вершинах. Рассмотрим графы на <tex>n+1</tex> вершине. | ||
+ | Индукционный переход будем доказывать индукцией по количеству ребер графа <tex>G</tex>. Если <tex>G</tex> не содержит ребер, то есть <tex>G</tex> является <tex>O_{n+1}</tex>, то его хроматический многочлен <tex>P(G,x)=x^{n+1}</tex> обладает доказываемым свойством. Теперь предположим, что для всех <tex>(n+1,m)</tex>-графов теорема верна. Возьмем <tex>(n+1,m+1)</tex>-граф <tex>G_{1}</tex> и его ребро <tex>uv</tex>. Обозначим за <tex>G</tex> граф, полученный из <tex>G_{1}</tex> удалением ребра <tex>uv</tex> (<tex>G=G_{1}-uv</tex>), а за <tex>G_{2}</tex> — граф, полученный из <tex>G_{1}</tex> слиянием вершин <tex>u</tex> и <tex>v</tex>. Тогда из рекуррентной формулы следует:<br/> | ||
+ | <tex>P(G_{1},x)=P(G,x)-P(G_{2},x)</tex>. | ||
+ | Так как <tex>G</tex> — <tex>(n+1,m)</tex>-граф, а в <tex>G_{2}</tex> — <tex>n</tex> вершин, то для <tex>G</tex> и <tex>G_{2}</tex> теорема верна:<br/> | ||
+ | <tex>{P(G,x)=x^{n+1}-a_{1}x^{n}+a_{2}x^{n-1}-a_{3}x^{n-2}+\ldots}</tex> ,<br/> | ||
+ | <tex>{P(G_{2},x)=x^{n}-b_{1}x^{n-1}+b_{2}x^{n-2}+\ldots}</tex> ,<br/> | ||
+ | где <tex>a_{1}</tex>, <tex>a_{2}</tex> … <tex>a_{n+1}</tex>, <tex>b_{1}</tex>, <tex>b_{2}</tex> … <tex>b_{n}</tex> — некоторые неотрицательные целые числа. Из этих равенств получаем:<br/> | ||
+ | <tex>P(G_{1},x)=x^{n+1}-(a_{1}+1)x^{n}+(a_{2}+b_{1})x^{n-1}+\ldots</tex>. | ||
+ | Видно, что в этом полученном полиноме коэффициенты составляют знакопеременную последовательность. | ||
+ | }} | ||
+ | |||
+ | {{Теорема | ||
+ | |about= | ||
+ | 4 | ||
+ | |statement= | ||
+ | Второй коэффициент хроматического многочлена равен по модулю количеству ребер графа. | ||
+ | |proof= | ||
+ | Из доказательства '''Теоремы (3)''' видно, что при увеличении количества ребер графа на <tex>1</tex>, второй коэффициент также увеличивается на <tex>1</tex>. Так как для пустого графа второй коэффициент равен <tex>0</tex>, то утверждение верно для любого графа. | ||
+ | }} | ||
+ | |||
+ | == Источники информации == | ||
+ | * Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы: Учебное пособие. 2-е изд., испр. и доп. - СПб.: Издательство "Лань", 2010. - 368 с.: ил. - (Учебники для вузов. Специальная литература). ISBN 978-5-8114-1068-2 | ||
+ | * Харари Ф. — Теория графов: Изд. 4-е. - М.: Книжный дом "ЛИБРОКОМ", 2009. - 296 с. ISBN 978-5-397-00622-4 | ||
+ | * [[wikipedia:en:Chromatic_polynomial| Wikipedia {{---}} Chromatic polynomial]] | ||
+ | * [[wikipedia:ru:Хроматическое_число#Хроматический_многочлен| Wikipedia {{---}} Хроматический многочлен]] | ||
+ | |||
+ | [[Категория: Алгоритмы и структуры данных]] | ||
+ | [[Категория: Раскраски графов]] |
Текущая версия на 19:14, 4 сентября 2022
Определение: |
Пусть дан фиксированный граф раскраски графа называется хроматическим многочленом (англ. chromatic polynomial). Обозначение: . | и фиксированное число красок . Количество способов правильной —
Содержание
Рекуррентные формулы для хроматических многочленов
Определение: |
Стягивание ребра (англ. edge contraction) — замена концов ребра одной вершиной, соседями новой вершины становятся соседи этих концов. Будем обозначать за | граф, полученный из графа стягиванием ребра .
Теорема: |
Пусть и — несмежные вершины графа . Если , а , то . |
Доказательство: |
Рассмотрим все произвольные раскраски графа | . Рассмотрим те из них, при которых вершины и окрашены в разные цвета. Если добавить к графу ребро , то они не изменятся, то есть останутся правильными. Рассмотрим раскраски, при которых и одного цвета. Все эти раскраски останутся правильными и для графа, полученного из слиянием вершин и .
Замечание: Если к некоторому произвольному графу добавлять ребра последовательно, не меняя его вершин, то на каком-то шаге мы получим полный граф. Аналогично мы получим полный граф, если в произвольном графе уменьшим число вершин, путем их отождествления, не меняя числа ребер.
Следствие: Хроматический многочлен любого графа
равен сумме хроматических многочленов некоторого числа полных графов, число вершин в которых не больше, чем в графе .Теорема: |
Пусть и — смежные вершины графа . Если и , то . |
Доказательство: |
Следует из предыдущей теоремы. |
Примеры хроматических многочленов
Хроматический многочлен полного графа
, так как первую вершину полного графа можно окрасить в любой из цветов, вторую — в любой из оставшихся цветов и т. д. Очевидно, что если меньше , то и многочлен равен , так как один из его множителей .
Хроматический многочлен нуль-графа
Определение: |
Нуль-граф (пустой граф, вполне несвязный граф; англ. null graph, empty graph, edgeless graph) — регулярный граф степени | , т.е. граф без рёбер.
Примечание: Нулевой граф также можно обозначать (дополнительный граф для полного графа ).
Хроматический многочлен простой цепи
Пусть
— простая цепь, состоящая из вершин. Рассмотрим процесс раскраски простой цепи: первую вершину можно покрасить в один из цветов, вторую и последующие в один из цветов (т.е. так, чтобы цвет не совпадал с предыдущей вершиной). Тогда .Хроматический многочлен цикла
Теорема (хроматический многочлен цикла): |
Пусть — цикл длины . Тогда хроматический многочлен цикла . |
Доказательство: |
Докажем по индукции по количеству вершин. |
Хроматический многочлен колеса
Пусть колесо с вершинами. Выбрав и зафиксировав один из цветов на вершине, связнной со всеми остальными, имеем вариантов раскраски оставшегося графа. Тогда хроматический многочлен колеса .
—Хроматический многочлен дерева
Теорема (хроматический многочлен дерева): |
Граф с вершинами является деревом тогда и только тогда, когда . |
Доказательство: |
|
Коэффициенты хроматического многочлена
Теорема (1): |
Свободный член хроматического многочлена равен . |
Доказательство: |
По определению хроматического многочлена графа | , его значение в точке равно количеству способов раскрасить вершины правильным образом в цветов. Количество способов раскрасить граф в цветов равно . То есть . Из этого следует, что кратен , следовательно его свободный член равен .
Теорема (2): |
Старший коэффициент хроматического многочлена равен . |
Доказательство: |
Воспользуемся рекуррентной формулой: |
Теорема (3): |
Коэффициенты хроматического многочлена составляют знакопеременную последовательность. |
Доказательство: |
Индукция по количеству вершин. |
Теорема (4): |
Второй коэффициент хроматического многочлена равен по модулю количеству ребер графа. |
Доказательство: |
Из доказательства Теоремы (3) видно, что при увеличении количества ребер графа на | , второй коэффициент также увеличивается на . Так как для пустого графа второй коэффициент равен , то утверждение верно для любого графа.
Источники информации
- Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы: Учебное пособие. 2-е изд., испр. и доп. - СПб.: Издательство "Лань", 2010. - 368 с.: ил. - (Учебники для вузов. Специальная литература). ISBN 978-5-8114-1068-2
- Харари Ф. — Теория графов: Изд. 4-е. - М.: Книжный дом "ЛИБРОКОМ", 2009. - 296 с. ISBN 978-5-397-00622-4
- Wikipedia — Chromatic polynomial
- Wikipedia — Хроматический многочлен