- •Содержание
- •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.1.7 . Псевдографом будем называть общий случай графа описанного в определении 4.1.1.
Определение 4.1.8 . Мультиграфом назовем граф, удовлетворяющий определению 4.1.1, который, дополнительно, не может содержать ребрер типа C (петель).
Псевдограф может содержать кратные ребра и петли. Мультиграф не может содержать петель, хотя может содержать любое количество кратных ребер. Пример псевдографа приведен на рисунке 34 a), пример мультиграфа - на рисунке 34 b).
b) c) d)
Рисунок 34: Псевдограф, мультиграф, обыкновенный граф и граф Бержа.
При необходимости можно говорить об ориентированных и неориентированных псевдографах и мультиграфах.
Приведем еще одно определение графа, которое, впрочем не является частным случаем определения 4.1.1.
Определение 4.1.9 . Гиперграфом назовем пару G = (V, E), где V
- конечное множество элементов произвольной природы, а E ⊂ 2V -
произвольное множество подмножеств множества V .
Это самый широкий класс, включающий в себя все описанные выше классы неориентированных графов. Больше мы с ним не встретимся.
Обыкновенный граф
В самом простом случае, мы имеем дело с так называемыми обыкновенными графами (рис. 32). Такие графы не ориентированы (ребра не имеют направления, концевые вершины ребер равнозначны) и между любыми двумя вершинами может быть не более одного ребра; петель нет.
Таким образом в обыкновенный граф входят только ребра типа A (неориентированные ребра), причем не более одного ребра между любыми двумя вершинами.
Примеры обыкновенных гарфов приведены на рисунках 33 a), c), d) и рисунке 34 c). В большинстве случаев мы будем иметь дело именно с такими графами.
Обыкновенные графы удобно представлять в виде пары множеств
(V, E), где V - произвольное непустое множество (множество вершин графа), а E ⊆ V (2) = {{u, v} | u, v ∈ V ; u /= v} - множество
двухэлементных подмножеств множества V (множество ребер графа). Каждая пара {u, v} ∈ E соответствует ребру соединяющему вершины u
и v. Когда известно, что речь идет об обыкновенных графах, фигурные скобки часто заменяют на круглые для простоты записи и восприятия. Подразумвается, что пары тем не менее неупорядоченные ((u, v) = (v, u)).
Например, граф G на рисунке 33 является обыкновенным. Его множество вершин V = {1, 2, 3, 4, 5, 6} и множество ребер E =
{(1, 2), (1, 6), (2, 3), (2, 4), (3, 6), (4, 5), (5, 6)}.
Будем предполагать, что имеем дело с конечными графами: |V | < ∞.
Будем писать G = (V, E) для обозначения, что граф G имеет множество
вершин V и множество ребер E. Если нам понадобится указать, что некоторое множество является множеством вершин или ребер именно графа G, будем писать V (G) или E(G) соответственно.
Определение 4.1.10 . Порядком графа G называется число его вершин
- |V (G)|.
Определение 4.1.11 . Будем говорить, что вершины u и v смежны в графе G, если они соеденины ребром: (u, v) ∈ E(G). В этом случае u
и v называются концевыми вершинами ребра e = (u, v).
Определение 4.1.12 . Вершина v и ребро e называются инцидентными, если v является одной из концевых вершин e: e = (u, v).
Определение 4.1.13 . Два ребра e1 и e2 называются смежными, если у них есть общая концевая вершина: e1 = (u, v), e2 = (v, w).
Для удобства будем полагать, что G = (V, E), |V | = n, |E| = m. Будем называть такой граф, имеющий n вершин и m ребер (n, m)-графом.
Определение 4.1.14 . Степенью вершины v ∈ V в графе G назовем число degG v инцидентных ей ребер.
Вершина со степенью 0 называется изолированной. Вершина со степенью 1 называется висячей.
Определение 4.1.15 . Степенью графа ∆(G) называют максимальную из степеней вершин графа. Минимальную из степеней графа обозначают δ(G).
Определение 4.1.16 . Регулярным графом называется граф, у которого все вершины имеют одинаковую степень.
Теорема 4.1.1 . В обыкновенном графе число вершин нечетной степени четно.
Доказательство. Для графа с n вершинами и m ребрами имеет место
i=1
равенство ):ndegG
vi = 2m, где degG
vi - степень i-той вершины.
D