Полный курс от основ до сложных теорем
Граф — это математическая структура, состоящая из множества вершин и множества рёбер, соединяющих эти вершины.
Формально: Граф $G = (V, E)$, где:
1 ——— 2 | | | | 3 ——— 4
V = {1, 2, 3, 4}, E = {(1,2), (1,3), (2,4), (3,4)}
Граф $G = (V, E)$ — пара множеств, где $V$ — множество вершин, $E$ — множество рёбер
Дополнение графа $\overline{G}$ — граф на том же множестве вершин, где ребро присутствует тогда и только тогда, когда его нет в исходном графе
Полный граф $K_n$ — граф на $n$ вершинах, где каждая пара вершин соединена ребром
Пустой граф $E_n$ — граф на $n$ вершинах без рёбер
Подграф — граф $H = (V', E')$, где $V' \subseteq V$ и $E' \subseteq E$
Изоморфные графы — графы с одинаковой структурой (существует биекция между вершинами, сохраняющая отношение смежности)
Степень вершины $\deg(v)$ — количество рёбер, инцидентных вершине $v$
Маршрут — последовательность вершин, где каждые две соседние соединены ребром (вершины и рёбра могут повторяться)
Путь — маршрут без повторяющихся рёбер
Простой путь — путь без повторяющихся вершин
Цикл — замкнутый путь (начальная и конечная вершины совпадают)
Простой цикл — цикл без повторяющихся вершин (кроме первой и последней)
Двудольный граф — граф, вершины которого можно разбить на два множества так, что рёбра соединяют только вершины из разных множеств
Ориентированный граф (орграф) — граф, где рёбра имеют направление (дуги)
Эйлеров путь — путь, проходящий через каждое ребро графа ровно один раз
Эйлеров цикл — замкнутый эйлеров путь
Эйлеров граф — граф, содержащий эйлеров цикл
Гамильтонов путь — путь, проходящий через каждую вершину графа ровно один раз
Гамильтонов цикл — замкнутый гамильтонов путь
Гамильтонов граф — граф, содержащий гамильтонов цикл
Связный граф — граф, в котором между любыми двумя вершинами существует путь
Компонента связности — максимальный связный подграф
Дерево — связный граф без циклов
Лес — граф без циклов (несвязное объединение деревьев)
Остовное дерево — подграф связного графа, который является деревом и содержит все вершины исходного графа
Полный граф $K_n$ — граф на $n$ вершинах, где каждая пара вершин соединена ребром
Количество рёбер: $\binom{n}{2} = \frac{n(n-1)}{2}$
Двудольный граф — граф, вершины которого можно разбить на два множества так, что рёбра соединяют только вершины из разных множеств
Дерево — связный граф без циклов
Турнир — ориентированный полный граф
Теорема: В любом графе сумма степеней всех вершин равна удвоенному числу рёбер:
Следствие: Количество вершин нечётной степени всегда чётно.
Для связного графа $G$ на $n$ вершинах следующие утверждения эквивалентны:
Теорема: Граф является двудольным тогда и только тогда, когда он не содержит циклов нечётной длины.
Теорема: Связный граф имеет эйлеров цикл тогда и только тогда, когда степени всех вершин чётны.
Следствие: Связный граф имеет эйлеров путь тогда и только тогда, когда количество вершин нечётной степени равно 0 или 2.
Лемма о рукопожатиях: В любом графе $G = (V, E)$ выполняется:
В полном графе $K_5$ каждая пара вершин соединена ребром. Нужно найти количество простых циклов.
Доказательство (⇒):
Доказательство (⇐):
Переформулировка: В любой 2-раскраске рёбер полного графа $K_6$ найдётся одноцветный треугольник.
Пусть в компании $m$ мальчиков и $d$ девочек. Построим двудольный граф, где одна доля — мальчики, другая — девочки.
Это следствие теоремы Турана для треугольников. Докажем от противного.
Доказательство индукцией по числу вершин:
Пусть граф $G$ связен и имеет $n$ вершин и $n-1$ рёбер. Докажем, что $G$ — дерево.
Доказательство от противного:
Доказательство (⇒):
Доказательство (⇐):
Доказательство индукцией:
Любой планарный граф можно правильно раскрасить не более чем четырьмя цветами.
Для любого простого графа G: Δ(G) ≤ χ'(G) ≤ Δ(G) + 1, где Δ(G) — максимальная степень вершины.
Задача: Найти хроматическое число полного графа K₅.
Решение:
В полном графе K₅ каждая вершина смежна со всеми остальными. Поэтому все вершины должны иметь разные цвета.
Ответ: χ(K₅) = 5
Общий случай: χ(Kₙ) = n
Задача: Доказать, что χ(G) ≤ 2 для любого двудольного графа G.
Пусть G — двудольный граф с долями A и B. Покрасим все вершины из A в красный цвет, а все вершины из B — в синий цвет.
Поскольку в двудольном графе рёбра соединяют только вершины из разных долей, смежные вершины всегда будут иметь разные цвета.
Следовательно, χ(G) ≤ 2. ∎
Для связного планарного графа: v - e + f = 2
где v — число вершин, e — число рёбер, f — число граней.
Граф планарен тогда и только тогда, когда он не содержит подграфов, гомеоморфных K₅ или K₃,₃.
Задача: Является ли граф K₅ планарным?
Для K₅: v = 5, e = 10
Если граф планарен, то по формуле Эйлера: f = 2 - v + e = 2 - 5 + 10 = 7
Каждая грань ограничена минимум 3 рёбрами, каждое ребро принадлежит максимум 2 граням.
Поэтому: 3f ≤ 2e, то есть 3 × 7 ≤ 2 × 10, получаем 21 ≤ 20 — противоречие!
Ответ: K₅ не является планарным.
Если в простом графе G с n ≥ 3 вершинами степень каждой вершины не менее n/2, то G содержит гамильтонов цикл.
Если в простом графе G с n ≥ 3 вершинами для любых двух несмежных вершин u и v выполняется deg(u) + deg(v) ≥ n, то G содержит гамильтонов цикл.
Задача: Граф имеет 8 вершин, и степень каждой вершины равна 4. Содержит ли он гамильтонов цикл?
n = 8, deg(v) = 4 для всех вершин v
n/2 = 8/2 = 4
Поскольку deg(v) = 4 ≥ 4 = n/2 для всех вершин, по теореме Дирака граф содержит гамильтонов цикл.
Величина максимального потока из s в t равна пропускной способности минимального разреза, разделяющего s и t.
Задача: Граф G имеет 12 вершин и является регулярным степени 5. Сколько рёбер в графе G? Может ли такой граф быть планарным?
Ответ: 30 рёбер, граф не может быть планарным из-за высокой плотности рёбер.
Задача: Докажите, что в любом турнире на n ≥ 3 вершинах существует гамильтонов путь.
Задача: Найдите хроматический многочлен графа-колеса W₅.
Проверка: При k=2: P(W₅,2) = 2[1-1+1] = 2 ✓ (только центр отличается от остальных)
Задача: Максимальный поток равен 15. После удаления ребра поток стал 10. Что можно сказать о пропускной способности удалённого ребра?
Ответ: Пропускная способность удалённого ребра не менее 5.
Задача: Докажите теорему Брукса: если граф G связен и не является полным графом или нечётным циклом, то χ(G) ≤ Δ(G).
Следствие: Все вершины можно раскрасить Δ(G) цветами.
Задача: Докажите теорему Турана: граф без треугольников на n вершинах имеет не более ⌊n²/4⌋ рёбер.
Обобщение: Это частный случай теоремы Турана для графов без клик размера r.
Задача: Докажите теорему Холла о системах различных представителей.
Конструктивность: Доказательство даёт алгоритм построения системы представителей через алгоритмы поиска максимального паросочетания.
Задача: Найдите количество остовных деревьев в графе-колесе W₄ используя теорему Кирхгофа.
Ответ: Граф-колесо W₄ имеет 16 остовных деревьев.
Задача: Найти хроматический многочлен дерева с n вершинами.
Хроматический многочлен P(G,k) показывает, сколькими способами можно раскрасить граф G в k цветов.
Для дерева T с n вершинами:
P(T,k) = k(k-1)^(n-1)
Обоснование: Корень можно покрасить k способами, каждую следующую вершину — (k-1) способами (любым цветом, кроме цвета родителя).
Задача: Найти количество остовных деревьев полного графа K₄.
Составим матрицу Лапласа L для K₄:
L = \begin{pmatrix} 3 & -1 & -1 & -1 \\ -1 & 3 & -1 & -1 \\ -1 & -1 & 3 & -1 \\ -1 & -1 & -1 & 3 \end{pmatrix}
Удалим последнюю строку и столбец, найдём определитель:
det = \begin{vmatrix} 3 & -1 & -1 \\ -1 & 3 & -1 \\ -1 & -1 & 3 \end{vmatrix} = 16
Ответ: K₄ имеет 16 остовных деревьев.
Общая формула: Kₙ имеет n^(n-2) остовных деревьев (формула Кэли).
Задача: Разработать алгоритм проверки изоморфизма двух графов.
Сложность: Проблема изоморфизма графов находится в классе NP, но не известно, является ли она NP-полной.
Доказательство (принцип Дирихле):
Доказательство основного утверждения:
Условие: Граф $G$ регулярен степени $d$, где $d$ нечетно
Формулировка в терминах теории графов:
В любом графе на 6 вершинах либо есть треугольник (клика размера 3), либо есть независимое множество размера 3.
Анализ задачи:
Граф на $n$ вершинах определяется выбором подмножества рёбер из всех возможных рёбер.
Доказательство 1 (от противного):
Доказательство 2 (конструктивное):
Доказательство (математическая индукция):