- •Содержание
- •1 Элементы теории множеств. Комбинаторика. 5
- •Математическая логика: Булева аллгебра 88
- •Теория алгоритмов 129
- •Теория графов 162
- •Математическая логика: Исчисления высказываний и предикатов 207
- •Элементы теории множеств. Комбинаторика.
- •Введение
- •Примеры задач.
- •Задача о расположении конвертов
- •Задача о Ханойской башне
- •Базовые обозначения
- •Правило суммы и правило произведения
- •Основы теории множеств
- •Понятие множества
- •Парадокс Рассела
- •Подмножества
- •Операции над множествами
- •Диаграммы Эйлера-Венна
- •Прямое произведение множеств
- •Бинарные отношения и функции
- •Бинарные отношения
- •Функции
- •Специальные бинарные отношения: Отношение эквивалентности
- •Специальные бинарные отношения: Отношение порядка
- •Лексикографический порядок
- •Выборки с повторениями и без повторений
- •Размещения и сочетания
- •Треугольник Паскаля
- •Связь сочетаний и (0,1)-векторов
- •Перебор сочетаний
- •Бином Ньютона
- •Мультимножества
- •Связь мультимножеств и (0,1)-векторов
- •Полином Ньютона
- •Разбиения множеств.
- •Приложение: программа перебора сочетаний
- •Перестановки
- •Понятие перестановки
- •Группа перестановок
- •Циклы перестановки
- •Тип перестановки
- •Разложения и разбиения натуральных чисел
- •Разложения натуральных чисел
- •Разбиения натуральных чисел
- •Принцип включения-исключения
- •Принцип включения-исключения
- •Задача о беспорядках
- •Мощность объединения множеств
- •Число целочисленных решений системы неравенств
- •Математическая логика: Булева аллгебра
- •Булева алгебра. Функции алгебры логики.
- •Булевы функции
- •Формулы
- •Основные тождества
- •Разложение функции по переменным
- •Дизъюнктивная и конъюнктивная нормальные формы
- •Полином Жегалкина
- •1 ⊕ X1 ⊕ x2x3 - полином Жегалкина.
- •Полнота системы функций
- •Функции, сохраняющие ноль
- •Функции, сохраняющие единицу
- •Двойственность
- •Монотонность
- •Линейность
- •Критерий полноты системы функций
- •Теория алгоритмов
- •Машины Тьюринга
- •Понятие алгоритма
- •Машина Тьюринга
- •Способы записи машины Тьюринга
- •Стандартные конфигурации
- •Вычислимые функции
- •Алгоритмически неразрешимые задачи
- •Сложность алгоритма
- •Полиномиальная сводимость
- •Классы задач в форме распознавания свойств
- •4 Теория графов
- •4.1 Определения графа
- •Общее определение
- •Виды графов
- •Обыкновенный граф
- •Примеры графов
- •Графы Бержа
- •4.2 Изоморфизм графов
- •4.2.1 Инварианты графа
- •Операции
- •Основные операции над графами
- •Подграфы
- •Дополнение графа
- •Маршруты и связность
- •Деревья
- •Матрицы, связанные с графом
- •Матрица смежности
- •Матрица инцидентности
- •Список ребер
- •Обходы графов
- •Эйлеров цикл
- •Гамильтонов цикл
- •Задачи и алгоритмы
- •Остов минимального веса
- •Алгоритм 4.8.1 (Алгоритм Краскала).
- •Задача коммивояжера
- •Задача о клике
- •Задача о вершинном покрытии
- •Задача о гамильтоновом цикле
- •Снова задача коммивояжера
- •Алгоритм дерева
- •Математическая логика: Исчисления высказываний и предикатов
- •Исчисление высказываний
- •Пример задачи логики высказываний
- •Формальные теории
- •Формальная теория исчисление высказываний
- •Теоремы исчисления высказываний
- •Теорема о полноте исчисления высказываний
- •Независимость аксиом исчисления высказываний
- •Исчисление предикатов
- •Пример задачи логики предикатов
- •Формальная теория исчисление предикатов
- •Алфавит.
- •Формулы.
- •Аксиомы.
- •Правила вывода.
- •Интерпретация
- •Литература
Деревья
Определение 4.5.1 . Деревом называется связный граф без циклов.
Граф без циклов называется лесом. Каждая компонента связности леса является деревом.
Теорема 4.5.1 . Пусть G = (V, E), |V | = n, |E| = m. Тогда следующие утверждения эквивалентны:
G - связный граф без циклов (дерево),
G - граф без циклов и m = n − 1,
G - связный граф и m = n − 1.
Доказательство. 1)⇒ 2) Необходимо доказать, что m = n−1. Докажем
по индукции. База индукции очевидна: Дерево с 1 вершиной не имеет
ребер и соотношение выполняется.
Пусть соотношение выполняется для любого дерева не более чем с n−1
вершиной. Рассмотрим дерево с n вершинами, n > 1.
Выберем произвольное ребро e = (u, v) ∈ E(G). Рассмотрим граф G − e. Этот граф не может быть связным. Действительно, если бы граф G − e был связным, в нем был бы маршрут между вершинами u и v. Этот
маршрут вместе с ребром e образовывал бы цикл в графе G.
Значит в графе G − e две компоненты связности G1 и G2. Обе
они являются связными графами без циклов и для них выполняется
индукционное предположение. Значит m1 = n1 − 1, m2 = n2 − 1 и для исходного графа G: m = m1 + m2 + 1 = n1 − 1 + n2 − 1 + 1 = n − 1.
)⇒ 3) Пусть граф G не имеет циклов и число ребер на единицу меньше
числа вершин. Докажем, что граф G связный.
Пусть граф G не связен. Пусть G1, G2, ..., Gk все компоненты связности G. Тогда каждый граф Gi связный граф без циклов - дерево.
Мы уже доказали утверждение 1)⇒ 2), так что можем этим
пользоваться. Следовательно для каждого из графов Gi верно E(Gi) =
V (Gi) − 1. Таким образом
k
n = \ V (Gi),
i=1
k k
m = \ E(Gi) = \(V (Gi) − 1) = n − k.
i=1
i=1
Но нам известно, что число ребер в графе на единицу меньше числа вершин, то есть k = 1. Следовательно в графе G может быть только одна компонента связности.
)⇒ 1) Пусть граф G связный и число ребер на единицу меньше числа
вершин. Докажем, что граф G не имеет циклов.
Пусть в графе G есть циклы. Рассмотрим произвольное ребро e1, которое принадлежит какому-то циклу графа G. Граф G − e1 связен,
поскольку между любыми двумя вершинами в цикле существовало как минимум две цепи.
Можем повторять процесс удаления ребер до тех пор, пока в графе
G − e1 − e2 − ... − ei остаются циклы.
Рассмотрим граф F = G − e1 − e2 − ... − es, полученный после
размыкания всех циклов графа G. Граф F связный и в нем нет циклов. Еще раз воспользуемся доказанным переходом 1)⇒ 2):
E(F ) = V (F ) − 1 = V (G) − 1 = E(G),
то есть после удаления s ребер число ребер в графе не изменилось. Противоречие вызвано предположением, что в графе G есть циклы. Следовательно, циклов нет, что и требовалось доказать.
D