- •Содержание
- •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 Теория графов
Теория графов - один из основных разделов дискретной математики Основным объектом изучения является граф. Граф исходно графический объект, рисунок (рис. 32). Это способ изобразить некоторую структуру с помощью простой схемы. У графа есть некоторое количество узлов
Рисунок 32: Пример графа
(точек, вершин), которые соеденины между собой линиями (ребрами).
Примером графа служит схема метрополитена. Станции - вершины графа; переезды между станциями - ребра графа.
Другим примером может служить система родственных связей в каком-нибудь городе. Вершинами такого графа служили бы все жители города. Люди, находящиеся в непосредственном родстве (братья, сестры, родитель и ребенок) были бы соеденены ребрами, а между дальними родственниками можно было бы найти цепочку из ребер близкого родства. Между людьми не находящимися в родстве в этом графе не нашлось бы никакой связи.
Теорию графов часто не интересует конкретное изображение графа и имена вершин. Основное внимание уделяется структуре: сколько вершин
имеет граф, какие из них соеденены ребрами, а для ориентированных
графов еще от к какой вершины к какой направлены ребра.
4.1 Определения графа
Существует несколько способов сказать, что такое граф, а под словом граф в разных случаях понимают структуры, отличающиеся по своим свойствам. В каждом конкретном случае, когда вы имеете дело с графами следует понимать, что имеется в виду под этим словом, и использовать те свойства, которые характерны для данного класса графов.
p 2 4 7
q s 6
8
t 1 3 5
9
b) c) d)
Рисунок 33: Примеры графов
Самым наглядным способом задания графа является его графическое изображение. Само название графа появилось благодаря этому представлению. На рисунке 33 инзображены примеры графов. Графы a), b) и d) - связные; графы b) и c) - помеченные; графы a) и d) - полные, граф b) - ориентированный 1.
Далее мы попробуем прояснить, что же такое граф и в чем особенности разных способов его определения.
Общее определение
Рассмотрим наиболее общее определение графа. Определения большинства понятий подразумевающихся под термином "граф" являются некоторыми сужениями этого определения.
Определение 4.1.1 . Пусть заданны конечные множества произвольной природы V и E, V /= ∅, V ∩ E = ∅, и трехместный
1Перечисленные свойства графов будут определены в дальнейшем.
предикат P
P (x, u, y) : V × E × V 1→ {T rue, F alse}.
Будем говорить, что задан граф G = (V, E, P ) с множеством вершин
V , множеством ребер E и инцидентором P , если
P определен для всех упорядоченных троек (v, e, w), где v, w ∈ V и
e ∈ E;
2. (∀e ∈ E)(∃v, w ∈ V ){P (v, e, w)&(∀vt, wt ∈ V )[P (vt, e, wt) ⇒ (v =
vt & w = wt) ∨ (v = wt & w = vt)]}. То есть для любого ребра всегда
существует две вершины (не обязательно различные), которые оно
соединяет, и никакие другие две вершины не могут быть соеденины тем же ребром.
Кроме того для каждого ребра e ∈ E должно выполняться одно и только одно из соотношений:
A. (∃v, w ∈ V )[v /= w & P (v, e, w) & P (w, e, v)]
B. (∃v, w ∈ V )[v /= w & P (v, e, w) & P (w, e, v)]
C. (∃v ∈ V )P (v, e, v)
Ребро удовлетворяющее соотношению A называют неориентированным, удовлетворяющее соотношению B - ориентированным ребром или дугой;
ребра удовлетворяющие соотношению C называют петлями. Ребро e ∈ E
назовем кратным, если
(∃v, w ∈ V )(∃e1 ∈ E)[P (v, e, w)&P (v, e1, w)].
Определение 4.1.2 . Граф будем называть ориентированным или орграфом, если в нем отсутствуют ребра типа A (неориентированные ребра).
Граф будем называть неориентированным, если в нем отсутствуют ребра типа B (ориентированные ребра).
Если граф содержит и ориентированные и неориентированные ребра, его называют смешанным.
Неориентированные ребра рисуют линиями, соединяющими точки, соответствующие вершинам. Ориентированные ребра обозначают стрелками. При этом для ребра, для которого выполняется P (v, e, w), стрелка направлена от вершины v и к вершине w. Ориентированные ребра также называют дугами. Для петель ориентация не имеет смысла, так что они могут изображаться и со стрелкой и без, когда это удобно.
Определение 4.1.3 . Порядком графа G = (V, E, P ) называют число
n = |V |.
Определение 4.1.4 . Две вершины v, w ∈ V называются смежными, если (∃e ∈ E)[P (v, e, w) ∨ P (w, e, v)]
Определение 4.1.5 . Вершина v ∈ V и ребро e ∈ E инцидентны, если
(∃w ∈ V )[P (v, e, w) ∨ P (w, e, v)]
Определение 4.1.6 . Два ребра e, f ∈ E смежны, если существует вершина v ∈ V которой они оба инцидентны.
Замечание 4.1.1 . До сих пор мы говорили о конечных графах. Существуте также понятие бесконечного графа, для которого множества V и E могут быть счетными. Мы такие графы рассматривать не будем.