- •1. Множества и бинарные отношения
- •Множества
- •Определения и примеры
- •1.1.1 Множество
- •Операции над множествами
- •Элементы комбинаторики
- •Бинарные отношения
- •Определения и примеры
- •2.1.2 Отображения
- •Операции над отношениями
- •Выполнение операций над отношениями
- •Свойства отношений
- •Эквивалентность и толерантность
- •2.4.1 Эквивалентность
- •2.4.3 Толерантность
- •2.4.6 Задача о наименьшем покрытии (ЗНП)
- •Алгоритм решения ЗНР
- •Отношения порядка
- •Строгий порядок
- •Свойства строгого порядка
- •Некоторые свойства дерева
- •Анализ отношений порядка
- •2.5.8 Решетки
- •2.5.10 Решетка
- •2.5.11 Булева решетка
- •Нормированные булевы решетки
- •Модели нормированной булевой решетки
- •Булевы функции (БФ)
- •Определения и примеры
- •Равенство булевых функций
- •3.3.1 СДНФ
- •3.3.3 СКНФ
- •3.3.5 Представление формул в СДНФ и СКНФ
- •Минимизация булевых функций
- •3.4.1 Импликанта
- •Полные системы булевых функций
- •2. Математическая логика
- •Логика высказываний
- •Основные понятия
- •4.1.7 Логическое следствие
- •4.1.8 Теоремы о логическом следствии
- •Логика предикатов
- •5.0.13 Связанные и свободные переменные
- •Предваренная нормальная форма
- •Стандартная нормальная форма
- •Подстановки и унификация
- •Метод резолюций для логики первого порядка
- •Исчисление высказываний
- •3. Графы
- •Определения и примеры
- •Определения графа
- •Части графа
- •Изоморфизм графов
- •Задание графов с помощью матриц
- •Матрица инциденций
- •Матрица соседства вершин
- •Матрица смежности
- •Типы графов
- •Обыкновенные графы
- •Графы Бержа
- •Помеченные и взвешенные графы
- •Другие способы задания графа
- •Связность графов
- •Маршруты, цепи, циклы
- •Число маршрутов
- •Компоненты связности
- •Нахождение компонент и бикомпонент
- •Кратчайшие цепи
- •Алгоритм Форда
- •Алгоритм Дейкстры
- •Обходы графа
- •Поиск в глубину на графе
- •Поиск в ширину на графе
- •Эйлеровы цепи и циклы
- •Эйлеровы пути
- •Гамильтоновы цепи и циклы
- •Цикломатика графов
- •Цикломатическое число
- •Деревья
- •Свойства дерева
- •Каркасы
- •Алгоритм нахождения каркаса графа.
- •Кратчайший каркас графа.
- •Алгоритм Прима.
- •Теорема о хорде каркаса.
- •Число каркасов графа.
- •Разрезы
- •Пространства суграфов
- •Пространство циклов
- •Пространство разрезов.
- •Потоки в сетях
- •Задача о максимальном потоке
- •Постановка задачи
- •Экстремальные части графа
- •Основные понятия
- •Покрытия
- •Задача о наименьшем покрытии
- •Паросочетания
- •Раскраска вершин графа
- •Хроматическое число
- •Оценки хроматического числа
- •Точные алгоритмы раскраски вершин
8.2. Деревья |
247 |
|
|
|
|
Теорема 8.2 Если G1; G2; : : : ; G· – компоненты связности графа G, то
¸(G) = |
· |
¸(Gi): |
|
|
=1 |
|
|
||
|
|
|
|
|
|
iP |
|
|
|
Д о к а з а т е л ь с т в о . |
iP |
P |
||
· |
|
· |
||
|
|
|
· |
· |
¸(G) = m(G) ¡ n(G) + ·(G) = m(Gi) ¡ n(Gi) + · =
=1 i=1
|
iP |
P |
¸(Gi): £ |
= |
=1[m(Gi) ¡ n(Gi) + 1] = i=1 |
Теорема 8.3 Граф G с n(G) ¸ 2 содержит по крайней мере две вершины, не являющиеся точками сочленения (шарнирами).
Д о к а з а т е л ь с т в о . Считаем, что граф связен и m(G) ¸ 1: Выберем в G простую цепь
Q = x0 u1 x1 : : : xl¡1 ul xl
наибольшей длины l (очевидно, l ¸ 1). Концевые вершины x0 и xl этой цепи и являются искомыми: действительно, если бы граф Gnxl (т.е.G0 = (X n fxlg; U0; P )) обладал более чем одной компонентой, то вершина xl в G была бы смежна с некоторой вершиной y, не принадлежащей той компоненте графа Gnxl, которая содержит x0.
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
ul |
¡©u© |
|
|
|
|
|
|
|
|
|
|
|
¡© |
|
|
|
u |
|
u |
|
|
|
|
|
|
u |
u©¡© |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||
x0 |
|
|
|
xl¡1 |
xl |
Но тогда цепь
x0 u1 x1 : : : xl¡1 ul xl (xl; y) y
в графе G была бы простой и имела длину l + 1. Это противоречит предположению о том, что Q – цепь наибольшей длины. £
8.2 Деревья
Связный граф без циклов называется деревом.
Граф, все компонеты связности которого – деревья, называется лесом.
Висячие вершины дерева называются листьями.
248 |
Глава 8. Цикломатика графов |
|
|
Будем обозначать дерево через T = (X; U): Неориентированное дерево есть обыкновенный граф, поэтому в дереве T 8x 2 X[v(x) = s(x)] (в дереве нет петель).
8.2.1 Свойства дерева
1.·(T ) = 1 & ¸(T ) = 0 (определение дерева).
2.¸(T ) = 0 & n ¡ m = 1 (из определения).
3.Каждое ребро в T – перешеек (т.е. при удалении любого ребра · увеличивается на единицу).
4.Для любых двух вершин x; y дерева T существует одна и только одна соединяющая их цепь из x в y, и эта цепь необходимо простая.
5.Соединение любых двух вершин x; y дерева T новым ребром приводит к появлению цикла.
6.Вершина x дерева T является точкой сочленения (шарниром) тогда и только тогда, когда ее степень s(x) > 1:
7.Если n(T ) ¸ 2, то в T есть по крайней мере две висячие вершины.
До к а з а т е л ь с т в о .
Свойство 2 непосредственно следует из определения дерева. Свойство 3 выражает тот факт, что в дереве нет циклов, т.е. следует из определения.
Свойство 4. (Доказательство от противного.) Предположим, что существуют две различные цепи
x0 u1 x1 u2 x2 : : : xl¡1 ul xl
и
x0 v1 y1 v2 y2 : : : yk¡1 vk xl;
cоединяющие вершину x = x0 с вершиной y = xl, причем l ¸ k. При этом первая из этих цепей имеет ненулевую длину. Тогда ребро ui, где
i = minfjj uj =6 vj g
(если l > k и uj = vj при j = 1; 2; : : : ; k, то положим i = k + 1), является цикловым, так как после его удаления из G вершины xi¡1
и xi останутся соединенными маршрутом
xi¡1 vi yi : : : yk¡1 vk xl ul xl¡1 : : : xi+1 ui+1 xi: