
- •Содержание
- •1 Элементы теории множеств. Комбинаторика. 5
- •Математическая логика: Булева аллгебра 88
- •Теория алгоритмов 129
- •Теория графов 162
- •Математическая логика: Исчисления высказываний и предикатов 207
- •Элементы теории множеств. Комбинаторика.
- •Введение
- •Примеры задач.
- •Задача о расположении конвертов
- •Задача о Ханойской башне
- •Базовые обозначения
- •Правило суммы и правило произведения
- •Основы теории множеств
- •Понятие множества
- •Парадокс Рассела
- •Подмножества
- •Операции над множествами
- •Диаграммы Эйлера-Венна
- •Прямое произведение множеств
- •Бинарные отношения и функции
- •Бинарные отношения
- •Функции
- •Специальные бинарные отношения: Отношение эквивалентности
- •Специальные бинарные отношения: Отношение порядка
- •Лексикографический порядок
- •Выборки с повторениями и без повторений
- •Размещения и сочетания
- •Треугольник Паскаля
- •Связь сочетаний и (0,1)-векторов
- •Перебор сочетаний
- •Бином Ньютона
- •Мультимножества
- •Связь мультимножеств и (0,1)-векторов
- •Полином Ньютона
- •Разбиения множеств.
- •Приложение: программа перебора сочетаний
- •Перестановки
- •Понятие перестановки
- •Группа перестановок
- •Циклы перестановки
- •Тип перестановки
- •Разложения и разбиения натуральных чисел
- •Разложения натуральных чисел
- •Разбиения натуральных чисел
- •Принцип включения-исключения
- •Принцип включения-исключения
- •Задача о беспорядках
- •Мощность объединения множеств
- •Число целочисленных решений системы неравенств
- •Математическая логика: Булева аллгебра
- •Булева алгебра. Функции алгебры логики.
- •Булевы функции
- •Формулы
- •Основные тождества
- •Разложение функции по переменным
- •Дизъюнктивная и конъюнктивная нормальные формы
- •Полином Жегалкина
- •1 ⊕ X1 ⊕ x2x3 - полином Жегалкина.
- •Полнота системы функций
- •Функции, сохраняющие ноль
- •Функции, сохраняющие единицу
- •Двойственность
- •Монотонность
- •Линейность
- •Критерий полноты системы функций
- •Теория алгоритмов
- •Машины Тьюринга
- •Понятие алгоритма
- •Машина Тьюринга
- •Способы записи машины Тьюринга
- •Стандартные конфигурации
- •Вычислимые функции
- •Алгоритмически неразрешимые задачи
- •Сложность алгоритма
- •Полиномиальная сводимость
- •Классы задач в форме распознавания свойств
- •4 Теория графов
- •4.1 Определения графа
- •Общее определение
- •Виды графов
- •Обыкновенный граф
- •Примеры графов
- •Графы Бержа
- •4.2 Изоморфизм графов
- •4.2.1 Инварианты графа
- •Операции
- •Основные операции над графами
- •Подграфы
- •Дополнение графа
- •Маршруты и связность
- •Деревья
- •Матрицы, связанные с графом
- •Матрица смежности
- •Матрица инцидентности
- •Список ребер
- •Обходы графов
- •Эйлеров цикл
- •Гамильтонов цикл
- •Задачи и алгоритмы
- •Остов минимального веса
- •Алгоритм 4.8.1 (Алгоритм Краскала).
- •Задача коммивояжера
- •Задача о клике
- •Задача о вершинном покрытии
- •Задача о гамильтоновом цикле
- •Снова задача коммивояжера
- •Алгоритм дерева
- •Математическая логика: Исчисления высказываний и предикатов
- •Исчисление высказываний
- •Пример задачи логики высказываний
- •Формальные теории
- •Формальная теория исчисление высказываний
- •Теоремы исчисления высказываний
- •Теорема о полноте исчисления высказываний
- •Независимость аксиом исчисления высказываний
- •Исчисление предикатов
- •Пример задачи логики предикатов
- •Формальная теория исчисление предикатов
- •Алфавит.
- •Формулы.
- •Аксиомы.
- •Правила вывода.
- •Интерпретация
- •Литература
Принцип включения-исключения
Принцип включения-исключения
Пусть A - заданное множество и S - множество свойств. Каждый элемент из A может обладать некоторыми свойствами из S. Другими словами, каждому элементу a из множества A сопоставляется некоторое подмножество Sa множества S и говорят, что элемент a обладает свойствами из Sa.
Пусть T ⊆ S. Обозначим
f=(T ) - число элементов из множества A, которые обладают всеми свойствами из T и не обладают свойствами из множества S \ T ;
f≥(T ) - число элементов из A, которые обладают всеми свойствами из T и возможно какими-то еще. Тогда
f≥(T ) = \
T ⊆Y ⊆S
f=(Y ). (19)
Возможно ли, если мы знаем значение f≥(T ) для любых T ⊆ S, найти
функцию f=?
Утверждение 1.8.1 . Пусть ϕ : 2S → R - произвольная функция, сопоставляющая каждому подмножеству конечного множества S,
некоторое вещественное число. Пусть ψ - такая функция из 2S в R,
что
Тогда
ψ(T ) = \
T ⊆Y ⊆S
ϕ(Y ), ∀ T ⊆ S.
ϕ(T ) = \
T ⊆Y ⊆S
(−1)|Y \T |ψ(Y ), ∀ T ⊆ S.
Доказательство. Пусть T ⊆ S. Тогда
\
T ⊆Y ⊆S
(−1)|Y \T |ψ(Y ) = \
T ⊆Y ⊆S
(−1)|Y \T | \
Y ⊆Z⊆S
ϕ(Z) =
= \
T ⊆Y ⊆Z⊆S
(−1)|Y \T |ϕ(Z) = \
T ⊆Z⊆S
ϕ(Z) \
T ⊆Y ⊆Z
(−1)|Y \T | =
= \
T ⊆Z⊆S
|Z\T |
ϕ(Z) \
i=0
|Z\T |
\
T ⊆Y ⊆Z,
|Y |=|T |+i
(−1)|Y \T | =
= \
T ⊆Z⊆S
ϕ(Z) \ (−1)i
i=0
|Z \ T |
i
= \
T ⊆Z⊆S
ϕ(Z)δo
(|Z \ T |) = ϕ(T ).
Здесь δo(n) - дельта-функция, которую мы обсуждали в замечании 1.5.1 параграфа 1.5.5.
D
Следствие 1.8.2 . Поскольку, f≥(T ) = ):T ⊆Y ⊆S f=(Y ), то для любого
≥
T ⊆ S
≥
В частности,f=(T ) = \
T ⊆Y ⊆S
(−1)|Y \T |f
(Y ). (20)
f=(∅) = \
∅⊆Y ⊆S
(−1)|Y |f
(Y ). (21)
Этот результат помогает решить многие задачи.
Задача о беспорядках
Интуитивная постановка задачи о беспорядках:
Задача 1.8.1 . Пусть, в рамках чемпионата в n городах должно пройти ровно по одному матчу. Матчи судят n судей, каждый из которых из одного из городов, все из разных. Сколькими способами можно распределить судей по матчам, чтобы ни один судья не судил в своем городе?
Можно привести другую формулировку задачи, математическая идея которой будет той же.
Задача 1.8.2 . Пусть n человек пришли в театр и сдали шляпы в гардероб. Когда спектакль закончился и зрители получили шляпы назад, оказалось, что каждый из n получил чужую шляпу. Сколько существует вариантов такого события?
Формально задача ставится следующим образом.
Определение 1.8.1 . Беспорядком на множестве {1, ..., n}
называется перестановка, которая не сохраняет ни одного элемента:
π(i) /= i, i = 1, n.
Задача 1.8.3 . Найти число беспорядков на множестве {1, ..., n}: D(n) = |{π | π ∈ σn, π(i) /= i, i = 1, n}|.
Решим эту задачу с помощью принципа включения-исключения. Будем говорить, что π ∈ σn обладает свойством i, если π(i) = i.
Тогда S = {1, ..., n} - множество всех свойств, которыми может обладать перестановка. Пусть T ⊆ S. Пусть
f=(T ) - число перестановок, каждая из которых обладает всеми свойствами из T и не обладает свойствами из S \ T :
f=(T ) = |{π | π ∈ σn, π(i) = i, i ∈ T ; π(j) /= j, j ∈ S \ T }|.
f≥(T ) - число перестановок, каждая из которых обладает всеми свойствами из T и возможно какими-то еще:
f≥(T ) = |{π | π ∈ σn, π(i) = i, i ∈ T }|.
Следовательно верна формула (19): f≥(T ) = ):T ⊆Y ⊆S f=(Y ). Нетрудно видеть, что f≥(T ) = |S \ T |! - число перестановок на множестве S \ T . Очевидно, D(n) = f=(∅). Следующее утверждение решает задачу.
i=0
Утверждение 1.8.3 . D(n) = n! ):n(−1)i
.
i!Доказательство. Так как f≥(T ) = |S \ T |!, то по формуле (21)
≥
D(n) = f=(∅) = \(−1)|Y |fY ⊆S
(Y ) = \(−1)|Y ||S \ Y |! =
Y ⊆S
n n n
i
= \ \ (−1)i(n − i)! = \(−1)i(n − i)! =i=0 Y ⊆S,
|Y |=i
n
i=0
n i
= \(−1)i (n − i)! n!
i=0 i! (n − i)!
D
= n!
\ (− 1) .
i!
i=0