
- •Содержание
- •1 Элементы теории множеств. Комбинаторика. 5
- •Математическая логика: Булева аллгебра 88
- •Теория алгоритмов 129
- •Теория графов 162
- •Математическая логика: Исчисления высказываний и предикатов 207
- •Элементы теории множеств. Комбинаторика.
- •Введение
- •Примеры задач.
- •Задача о расположении конвертов
- •Задача о Ханойской башне
- •Базовые обозначения
- •Правило суммы и правило произведения
- •Основы теории множеств
- •Понятие множества
- •Парадокс Рассела
- •Подмножества
- •Операции над множествами
- •Диаграммы Эйлера-Венна
- •Прямое произведение множеств
- •Бинарные отношения и функции
- •Бинарные отношения
- •Функции
- •Специальные бинарные отношения: Отношение эквивалентности
- •Специальные бинарные отношения: Отношение порядка
- •Лексикографический порядок
- •Выборки с повторениями и без повторений
- •Размещения и сочетания
- •Треугольник Паскаля
- •Связь сочетаний и (0,1)-векторов
- •Перебор сочетаний
- •Бином Ньютона
- •Мультимножества
- •Связь мультимножеств и (0,1)-векторов
- •Полином Ньютона
- •Разбиения множеств.
- •Приложение: программа перебора сочетаний
- •Перестановки
- •Понятие перестановки
- •Группа перестановок
- •Циклы перестановки
- •Тип перестановки
- •Разложения и разбиения натуральных чисел
- •Разложения натуральных чисел
- •Разбиения натуральных чисел
- •Принцип включения-исключения
- •Принцип включения-исключения
- •Задача о беспорядках
- •Мощность объединения множеств
- •Число целочисленных решений системы неравенств
- •Математическая логика: Булева аллгебра
- •Булева алгебра. Функции алгебры логики.
- •Булевы функции
- •Формулы
- •Основные тождества
- •Разложение функции по переменным
- •Дизъюнктивная и конъюнктивная нормальные формы
- •Полином Жегалкина
- •1 ⊕ X1 ⊕ x2x3 - полином Жегалкина.
- •Полнота системы функций
- •Функции, сохраняющие ноль
- •Функции, сохраняющие единицу
- •Двойственность
- •Монотонность
- •Линейность
- •Критерий полноты системы функций
- •Теория алгоритмов
- •Машины Тьюринга
- •Понятие алгоритма
- •Машина Тьюринга
- •Способы записи машины Тьюринга
- •Стандартные конфигурации
- •Вычислимые функции
- •Алгоритмически неразрешимые задачи
- •Сложность алгоритма
- •Полиномиальная сводимость
- •Классы задач в форме распознавания свойств
- •4 Теория графов
- •4.1 Определения графа
- •Общее определение
- •Виды графов
- •Обыкновенный граф
- •Примеры графов
- •Графы Бержа
- •4.2 Изоморфизм графов
- •4.2.1 Инварианты графа
- •Операции
- •Основные операции над графами
- •Подграфы
- •Дополнение графа
- •Маршруты и связность
- •Деревья
- •Матрицы, связанные с графом
- •Матрица смежности
- •Матрица инцидентности
- •Список ребер
- •Обходы графов
- •Эйлеров цикл
- •Гамильтонов цикл
- •Задачи и алгоритмы
- •Остов минимального веса
- •Алгоритм 4.8.1 (Алгоритм Краскала).
- •Задача коммивояжера
- •Задача о клике
- •Задача о вершинном покрытии
- •Задача о гамильтоновом цикле
- •Снова задача коммивояжера
- •Алгоритм дерева
- •Математическая логика: Исчисления высказываний и предикатов
- •Исчисление высказываний
- •Пример задачи логики высказываний
- •Формальные теории
- •Формальная теория исчисление высказываний
- •Теоремы исчисления высказываний
- •Теорема о полноте исчисления высказываний
- •Независимость аксиом исчисления высказываний
- •Исчисление предикатов
- •Пример задачи логики предикатов
- •Формальная теория исчисление предикатов
- •Алфавит.
- •Формулы.
- •Аксиомы.
- •Правила вывода.
- •Интерпретация
- •Литература
Матрицы, связанные с графом
Одним из удобных математических представлений графа является задание связанных с ним матриц. Две самых распространенных из них
- это матрица смежности и матрица инцидентности, которые хранят информацию соответственно об отношении смежности между вершинами и отношении инцидентности между вершинами и ребрами.
Матрица смежности
Пусть G = (V, E) - неориентированный граф, V = {1, 2, ..., n}. Матрица смежности A(G) для графа G представляет собой квадратную (0,1)-
матрицу n × n. Элементы ai,j (G) матрицы A(G) заданы следующим
соотношением:
ai,j (G) =
( 1, (i, j) ∈ E(G) . (33)
0, (i, j) ∈/ E(G)
Матрица смежности обыкновенного графа симметрична, поскольку
(i, j) ∈ V (G) ⇔ (j, i) ∈ V (G).
На диагонали стоят нулевые элементы, поскольку не допускаются
петли.
Сумма элементов по i-той строке или по i-тому столбцу равна степени вершины i.
Сумма всех элементов матрицы смежности равна удвоенному числу
ребер графа:
n n
\ \ ai,j (G) = 2|E(G)|.
i=1
j=1
Пример 4.6.1 . Рассмотрим граф на рисунке 43. Матрица смежности этого графа имеет следующий вид.
0 1 0 0 1
1 0 1 0 1
A(G) = 0 1 0 1 0 .
0 0 1 0 0
1 1 0 0 0
Рисунок 43: Неориентированный граф
Для графа Бержа определение матрицы смежности выглядит так же, как описано в (33), но ребра уже будут считаться ориентированными, так что и симметричности матрицы может не быть. Так же диагональ матрицы смежности для графа Бержа может быть не нулевой, так как он допускает петли.
Сумма элементов по i-той строке равна полустепени исхода вершины i. Сумма элементов по j-тому столбцу равна полустепени захода вершины j.
Сумма всех элементов матрицы смежности ориентированного графа равна числу дуг графа:
n n
\ \ ai,j (G) = |E(G)|.
i=1
j=1
Пример 4.6.2 . Рассмотрим граф на рисунке 44. Матрица смежности этого графа имеет следующий вид.
0 0 0 0 1
1 0 1 0 0
A(G) = 0 0 0 1 0 .
0 0 0 0 0
0 1 0 0 0
Рисунок 44: Ориентированный граф
Замечание 4.6.1 . Если мы захотим определить матрицу смежности для мультиграфа или псевдографа, придется выйти за рамки значений 0 и 1. Например, можно сказать, что элемент ai,j (G) равен числу ребер (дуг) соединяющих вершины i и j (идущих из вершины i в вершину j).
Теорема 4.6.1 . Пусть G = (V, E) - ориентированный или неориентированный граф и A(G) - его матрица смежности.
i,j
Тогда элемент a(k), стоящий на пересечении i-той строки и j-того столбца матрицы Ak(G) = (A(G))k, равен числу маршрутов из вершины i в вершину j длины k, i = 1, n, j = 1, n. В случае ориентированного графа имеется в виду ориентированный маршрут.
Доказательство. Докажем по индукции. Для степени 1 утверждение верно: элемент матрицы смежности равен числу ребер из i в j.
Предположим, что формула верна для степени k − 1, где 1 < k.
Рассмотрим i, j-тый элемент Ak(G) = Ak−1(G) · A(G):
i,t t,j
n
a(k)
i,j =\
t=1
a(k−1)(G) · a (G). (∗)
Здесь a(k−1)(G) - число маршрутов из i в t длины k − 1, а a
(G)
i,t
указывает наличие или отсутствие ребра из
t,j
t в j. Таким образом
i,t
произведение a(k−1)(G) · a
t,j
(G) равно числу маршрутов из i в j длины
k, где t является предпоследней вершиной. Просуммировав в формуле
(*) это произведение по всем возможным промежуточным вершинам t, мы получим число всех маршрутов из i в j длины k, что и требовалось доказать.
D
Пример 4.6.3 . Продолжим пример 4.6.1. Рассмотрим квадрат матрицы смежности графа с рисунка 43.
0
1
A2(G) = 0
12
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1
0
2 1 1 0 1
1 3 0 1 1
= 1 0 2 0 1 .
0 0
0 1 0 1 0
1 1 0 0 0
1 1 1 0 2
Глядя на рисунок можно убедиться, что что на диагонали стоят степени соответствующих вершин. Это логично, так как маршрут из вершины i в нее же длины 2 является проходом по по каждому ребру графа смежному с i туда и обратно. Остальные элементы матрицы равны 1 в тех случаях, если между соответствующими вершинами есть цепь длины 2.
Замечание 4.6.2 . Можно заметить, что изоморфным графам могут соответствовать разные матрицы смежности. Но это различие не произвольно. Изоморфные графы по сути отличаются порядком нумерации вершин. Этому порядку соответствует порядок нумерации строк и столбцов матрицы смежности. Таким образом матрицы смежности для изоморфных графов отличаются друг от друга одинаковой перестановкой строк и столбцов.