- •8. Лемма о несамодвойственной функции. Лемма о немонотонной функции.
- •9. Лемма о функциях, не сохраняющих t_0 и t_1. Теорема Поста о полноте (доказательство теоремы справа налево).
- •10. Неориентированные графы. Степени вершин. Сумма степеней вершин графа. Изоморфизм графов. Пример неизоморфных графов с одинаковыми степенями.
- •11. Связные графы и компоненты связности. Неравенство между количеством
- •12. Эйлеровы и гамильтоновы пути. Критерий существования эйлерового пути.
- •13. Леса и деревья. Эквивалентность различных определений.
- •14. Теорема Кэли о количестве деревьев на n вершинах. Коды Прюфера.
- •15. Алгоритм Краскала нахождения остова наименьшего веса.
- •16. Плоские графы. Грани плоских графов. Формула Эйлера для плоских графов.
13. Леса и деревья. Эквивалентность различных определений.
Определение. Граф G = (V, E,) называется лесом, если он не содержит циклов.
Теорема . Пусть в графе G = (V, E) имеется ровно n вершин, m ребер и k компонент связности. Тогда следующие условия эквивалентны:
1. G — лес;
2. каждое ребро из G — мост.
3. каждая цепь, соединяющая две вершины, единственна;
4. m+k=n;
Определение. Связный лес называется деревом.
Теорема. Пусть в связном графе G = (V, E) имеется ровно n вершин и m ребер. Тогда следующие условия эквивалентны:
1 G — дерево;
2 каждое ребро из G — мост.
3 каждая цепь, соединяющая две вершины, единственна;
4 m+1=n;
14. Теорема Кэли о количестве деревьев на n вершинах. Коды Прюфера.
Теорема (Кэли). Имеется ровно n^(n−2) деревьев с множеством вершин V = {1, 2, . . . , n}.
Определение. Рассмотрим следующую процедуру для дерева G = (V, E):
1. G1 = G.
2. Пусть дано дерево Gi = (Vi, Ei), Выберем наименьшую вершину Ai ∈ Vi степени 1.
Пусть a ∈ Ei — единственное ребро, соединяющее Ai с некоторой вершиной Bi. Определяем дерево
Последовательность B1, B2, . . . Bn−2 называется кодом Прюфера дерева G.
Теорема. (Кэли). Каждая последовательность B1, B2, . . . , Bn−2, где Bi = 1..n, является кодом
Прюфера в точности одного дерева с вершинами {1, . . . , n}.
Доказательство. Если c является кодом Прюфера некоторого дерева G с вершинами {1 . . . n}, то дерево состоит из ребер {Ai, Bi}, i = 1..n − 1, где
1. A1 — наименьшее число, отличное от B1, B2, . . . , Bn−2;
2. Ai, i = 2..n − 2, — наименьшее число, отличное от A1, . . . Ai−1, Bi, . . . , Bn−2;
3. An−1 — наименьшее число, отличное от A1, . . . An−2;
4. Bn−1 — наименьшее число, отличное от A1, . . . An−1.
15. Алгоритм Краскала нахождения остова наименьшего веса.
Пусть дан связный граф G = (V, E) с n вершинами и m ребрами. Тогда m ≥ n − 1. Если m = n − 1, то G является деревом. Если m > n − 1, то в G имеется ребро e ∈ E, не являющееся мостом.
Определение. Взвшенный граф — граф G = (V, E) с заданной функцией µ : E → R. Величина µ(e) называется весом ребра e ∈ E. Задача. По данному связному взвешенному графу G = (V, E, µ) найти остов T = (V, P) такой, что вес остова наименьший.
Алгоритм Краскала.
Пусть задан связный взвешенный граф G = (V, E, µ) с n вершинами.
Определим P0 = ∅. Повторим следующую процедуру для каждого k = 1, 2, . . . n − 1.
1. Пусть Pk−1 = {e1, e2, . . . ek−1} уже определено.
2. Найдем ребро ek ∈ E \ Pk−1 наименьшего веса такое, что ребра e1, e2, . . . ek−1, ek не образуют циклов.
3 Определим Pk = {e1, e2, . . . ek−1, ek}.
Дерево T = (V, P), где P = Pn−1, является искомым остовом наименьшего веса.
Обоснование алгоритма. Докажем, что µ(T) ≤ µ(U) для произвольного остова U = (V, S) взвешенного графа G = (V, E, µ). Предположим, что для некоторых остовов указанное неравенство не
выполняется. Назовем число k = 1, 2, . . . , n − 1 степенью близости остова U = (V, S), если k — наибольшее число такое, что e1, e2, . . . ek ∈ S. Выберем остов U = (V, S) наибольшей возможной степени близости k, что µ(T) > µ(U). Имеем k < n − 1, e1, . . . , ek ∈ S и ek+1 !∈ S.
Тогда среди ребер S ∪ {ek+1} можно выбрать цикл, содержащий также ребро e ∈ S, e 6= e1, . . . , ek. По алгоритму имеем µ(ek+1) ≤ µ(e).
Тогда U’ = (V, S’), S’ = (S ∪ {ek+1}) \ {e} имеет степень близости > k, но µ(T) > µ(U) ≥ µ(U’).