HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>В этом уроке мы разберем, что такое раскраска графов и как это относится к цифрам на вершинах. Также покажем примеры раскраски графов разных типов, так как в каждом случае этот процесс немного отличается.</p>
1 <p>В этом уроке мы разберем, что такое раскраска графов и как это относится к цифрам на вершинах. Также покажем примеры раскраски графов разных типов, так как в каждом случае этот процесс немного отличается.</p>
2 <h2>Раскраска графов</h2>
2 <h2>Раскраска графов</h2>
3 <p>Когда мы присваиваем вершинам графа метки - это называется<strong>раскраской графов</strong>.</p>
3 <p>Когда мы присваиваем вершинам графа метки - это называется<strong>раскраской графов</strong>.</p>
4 <p><strong>Цвета</strong>- это целые положительные цифры. Графы нужно раскрашивать так, чтобы соседние вершины имели разные цвета. Еще стоит использовать как можно меньше цветов.</p>
4 <p><strong>Цвета</strong>- это целые положительные цифры. Графы нужно раскрашивать так, чтобы соседние вершины имели разные цвета. Еще стоит использовать как можно меньше цветов.</p>
5 <p>Вот несколько примеров раскраски графа:</p>
5 <p>Вот несколько примеров раскраски графа:</p>
6 <p>Первый пример на схеме выше не совсем верный, потому что соседним вершинам присваивается один и тот же цвет. Вторая раскраска лучше, так как удовлетворяет правилам, но в ней используется больше цветов, чем нужно. Третья раскраска - правильная. Она удовлетворяет правилам и использует как можно меньше цветов.</p>
6 <p>Первый пример на схеме выше не совсем верный, потому что соседним вершинам присваивается один и тот же цвет. Вторая раскраска лучше, так как удовлетворяет правилам, но в ней используется больше цветов, чем нужно. Третья раскраска - правильная. Она удовлетворяет правилам и использует как можно меньше цветов.</p>
7 <p>В этих графах невозможно использовать меньше трех цветов, так как треугольники содержат три вершины, которые являются соседями.</p>
7 <p>В этих графах невозможно использовать меньше трех цветов, так как треугольники содержат три вершины, которые являются соседями.</p>
8 <p><strong>Хроматическое число графа</strong>G, которое обозначается chi(G) - это минимальное количество цветов, необходимое для правильной раскраски графа.</p>
8 <p><strong>Хроматическое число графа</strong>G, которое обозначается chi(G) - это минимальное количество цветов, необходимое для правильной раскраски графа.</p>
9 <p>Чтобы обозначить, о каком графе идет речь, мы будем сокращенно обозначать chi(G) как chi. Рассмотрим раскраску графов на просто классе графов - путях.</p>
9 <p>Чтобы обозначить, о каком графе идет речь, мы будем сокращенно обозначать chi(G) как chi. Рассмотрим раскраску графов на просто классе графов - путях.</p>
10 <h2>Раскраска путей</h2>
10 <h2>Раскраска путей</h2>
11 <p>Вот несколько оптимальных вариантов раскраски путей:</p>
11 <p>Вот несколько оптимальных вариантов раскраски путей:</p>
12 <p>В общем случае chi(P_n) = 2 для каждого n ≥ 2.</p>
12 <p>В общем случае chi(P_n) = 2 для каждого n ≥ 2.</p>
13 <p>Рассмотрим другие примеры:</p>
13 <p>Рассмотрим другие примеры:</p>
14 <p>Четные и нечетные циклы ведут себя по-разному. У нечетных всегда хроматическое число три, а у четных - хроматическое число два.</p>
14 <p>Четные и нечетные циклы ведут себя по-разному. У нечетных всегда хроматическое число три, а у четных - хроматическое число два.</p>
15 <p>Теперь рассмотрим, как раскрашивают полные графы.</p>
15 <p>Теперь рассмотрим, как раскрашивают полные графы.</p>
16 <h2>Раскраска полных графов</h2>
16 <h2>Раскраска полных графов</h2>
17 <p>У нас есть следующие полные графы с уже помеченными вершинами:</p>
17 <p>У нас есть следующие полные графы с уже помеченными вершинами:</p>
18 <p>Поскольку в полном графе каждая вершина смежна с любой другой вершиной, мы не можем повторить ни одного цвета. Таким образом, chi(Kn ) = n.</p>
18 <p>Поскольку в полном графе каждая вершина смежна с любой другой вершиной, мы не можем повторить ни одного цвета. Таким образом, chi(Kn ) = n.</p>
19 <h2>Раскраска двудольных графов</h2>
19 <h2>Раскраска двудольных графов</h2>
20 <p>Рассмотрим следующие примеры:</p>
20 <p>Рассмотрим следующие примеры:</p>
21 <p>На графиках видно, что соседние вершины раскрашены в один цвет. В случае с двудольными графами такое возможно, так как применяется правило<strong>партитного множества</strong>- независимое множество, между вершинами которого нет ребер. Поэтому мы можем окрасить все его вершины в один цвет.</p>
21 <p>На графиках видно, что соседние вершины раскрашены в один цвет. В случае с двудольными графами такое возможно, так как применяется правило<strong>партитного множества</strong>- независимое множество, между вершинами которого нет ребер. Поэтому мы можем окрасить все его вершины в один цвет.</p>
22 <p>Для двух партитных множеств нужно два цвета. И это относится к любому двудольному графу, а не только к полному.</p>
22 <p>Для двух партитных множеств нужно два цвета. И это относится к любому двудольному графу, а не только к полному.</p>
23 <p>Любой граф с хотя бы одним ребром является двудольным, когда он двухцветный. Поскольку деревья двудольные, мы теперь знаем, что все нетривиальные деревья имеют хроматическое число 2.</p>
23 <p>Любой граф с хотя бы одним ребром является двудольным, когда он двухцветный. Поскольку деревья двудольные, мы теперь знаем, что все нетривиальные деревья имеют хроматическое число 2.</p>
24 <h2>Объединения и стыковки</h2>
24 <h2>Объединения и стыковки</h2>
25 <p>Мы пришли к такой формуле:</p>
25 <p>Мы пришли к такой формуле:</p>
26 <p>chi(GcupH) = max(chi(G),chi(H))</p>
26 <p>chi(GcupH) = max(chi(G),chi(H))</p>
27 <p>Это связано с тем, что между копиями G и H в объединении нет ребер. Поэтому мы можем раскрасить каждый граф отдельно, и не беспокоиться:</p>
27 <p>Это связано с тем, что между копиями G и H в объединении нет ребер. Поэтому мы можем раскрасить каждый граф отдельно, и не беспокоиться:</p>
28 <p>Мы также имеем chi(G vee H) = chi(G) + chi(H) - каждая вершина G смежна с каждой вершиной H. Поэтому ни один цвет, который используется на G, не может быть использован на H и наоборот.</p>
28 <p>Мы также имеем chi(G vee H) = chi(G) + chi(H) - каждая вершина G смежна с каждой вершиной H. Поэтому ни один цвет, который используется на G, не может быть использован на H и наоборот.</p>
29 <p>Обратите внимание на второй граф на схеме выше. Чтобы получить правильную раскраску G vee H, мы можем раскрасить G и H отдельно, а затем заменить каждый цвет c из H на c + chi(G).</p>
29 <p>Обратите внимание на второй граф на схеме выше. Чтобы получить правильную раскраску G vee H, мы можем раскрасить G и H отдельно, а затем заменить каждый цвет c из H на c + chi(G).</p>
30 <h2>Декартово произведение</h2>
30 <h2>Декартово произведение</h2>
31 <p>Декартово произведение немного сложнее. Результат chi(G H) = max(chi(G),chi(H)), что совпадает с результатом для объединения.</p>
31 <p>Декартово произведение немного сложнее. Результат chi(G H) = max(chi(G),chi(H)), что совпадает с результатом для объединения.</p>
32 <p>Рассмотрим пример: C5 C4. Ниже выделена конкретная вершина:</p>
32 <p>Рассмотрим пример: C5 C4. Ниже выделена конкретная вершина:</p>
33 <p>Выделенная вершина - это часть сразу двух графов (C5 и C4). Нам нужно убедиться, что ее раскраска работает в отношении обоих графов. Мы можем представить C5 и C4 как состоящий из пяти копий C4 со связями между копиями, которые определяются связями C5.</p>
33 <p>Выделенная вершина - это часть сразу двух графов (C5 и C4). Нам нужно убедиться, что ее раскраска работает в отношении обоих графов. Мы можем представить C5 и C4 как состоящий из пяти копий C4 со связями между копиями, которые определяются связями C5.</p>
34 <p>Нам нужно раскрасить каждую из пяти копий C4 по-своему и убедиться, что взаимодействия между копиями, которые определяются C5, соблюдены. Начнем с оптимальных раскрасок C4 и C5:</p>
34 <p>Нам нужно раскрасить каждую из пяти копий C4 по-своему и убедиться, что взаимодействия между копиями, которые определяются C5, соблюдены. Начнем с оптимальных раскрасок C4 и C5:</p>
35 <p>Хитрость в том, чтобы для каждой вершины взять ее цвет в C4, ее цвет в C5 и сложить их. При этом нужно уменьшить результат по модулю 3 и заменить все полученные нули тройками. В итоге раскраски для пяти копий выглядят следующим образом:</p>
35 <p>Хитрость в том, чтобы для каждой вершины взять ее цвет в C4, ее цвет в C5 и сложить их. При этом нужно уменьшить результат по модулю 3 и заменить все полученные нули тройками. В итоге раскраски для пяти копий выглядят следующим образом:</p>
36 <p>Такой способ гарантирует, что соседние вершины никогда не будут иметь одинаковый цвет. Этот же процесс работает и в общем случае:</p>
36 <p>Такой способ гарантирует, что соседние вершины никогда не будут иметь одинаковый цвет. Этот же процесс работает и в общем случае:</p>
37 <ul><li>Для графов G и H пусть будет m = max(chi(G),chi(H))</li>
37 <ul><li>Для графов G и H пусть будет m = max(chi(G),chi(H))</li>
38 <li>Раскрасим вершину (u, v) из GH цветом (cG(u)+cH (v)) mod m</li>
38 <li>Раскрасим вершину (u, v) из GH цветом (cG(u)+cH (v)) mod m</li>
39 <li>Уточним, что в выражении выше cG(u) и cH (v) - это цвета в G и H соответственно</li>
39 <li>Уточним, что в выражении выше cG(u) и cH (v) - это цвета в G и H соответственно</li>
40 </ul><h2>Произвольный граф</h2>
40 </ul><h2>Произвольный граф</h2>
41 <p>Вот еще один пример раскраски графа без очевидной структуры:</p>
41 <p>Вот еще один пример раскраски графа без очевидной структуры:</p>
42 <p>Может потребоваться некоторое усилие, чтобы придумать ответ к такой неочевидной структуре. Пройдем этот процес по шагам:</p>
42 <p>Может потребоваться некоторое усилие, чтобы придумать ответ к такой неочевидной структуре. Пройдем этот процес по шагам:</p>
43 <ul><li>На графе много треугольников, поэтому нам нужно использовать как минимум три цвета</li>
43 <ul><li>На графе много треугольников, поэтому нам нужно использовать как минимум три цвета</li>
44 <li>На графе справа выделен 5-цикл, для него требуется 3 цвета</li>
44 <li>На графе справа выделен 5-цикл, для него требуется 3 цвета</li>
45 <li>Вершина в середине цикла смежна со всем циклом, поэтому мы не можем повторно использовать ни один из цветов цикла</li>
45 <li>Вершина в середине цикла смежна со всем циклом, поэтому мы не можем повторно использовать ни один из цветов цикла</li>
46 <li>Таким образом, требуется 4 цвета</li>
46 <li>Таким образом, требуется 4 цвета</li>
47 </ul><h2>Выводы</h2>
47 </ul><h2>Выводы</h2>
48 <p>В этом уроке мы разобрали, что такое раскраска графов и как это относится к цифрам на вершинах. Мы показали, как раскрашивать графы разных типов. В каждом случае этот процесс немного отличается, при этом везде соблюдается правило соседних вершин.</p>
48 <p>В этом уроке мы разобрали, что такое раскраска графов и как это относится к цифрам на вершинах. Мы показали, как раскрашивать графы разных типов. В каждом случае этот процесс немного отличается, при этом везде соблюдается правило соседних вершин.</p>