- •Содержание
- •1 Элементы теории множеств. Комбинаторика. 5
- •Математическая логика: Булева аллгебра 88
- •Теория алгоритмов 129
- •Теория графов 162
- •Математическая логика: Исчисления высказываний и предикатов 207
- •Элементы теории множеств. Комбинаторика.
- •Введение
- •Примеры задач.
- •Задача о расположении конвертов
- •Задача о Ханойской башне
- •Базовые обозначения
- •Правило суммы и правило произведения
- •Основы теории множеств
- •Понятие множества
- •Парадокс Рассела
- •Подмножества
- •Операции над множествами
- •Диаграммы Эйлера-Венна
- •Прямое произведение множеств
- •Бинарные отношения и функции
- •Бинарные отношения
- •Функции
- •Специальные бинарные отношения: Отношение эквивалентности
- •Специальные бинарные отношения: Отношение порядка
- •Лексикографический порядок
- •Выборки с повторениями и без повторений
- •Размещения и сочетания
- •Треугольник Паскаля
- •Связь сочетаний и (0,1)-векторов
- •Перебор сочетаний
- •Бином Ньютона
- •Мультимножества
- •Связь мультимножеств и (0,1)-векторов
- •Полином Ньютона
- •Разбиения множеств.
- •Приложение: программа перебора сочетаний
- •Перестановки
- •Понятие перестановки
- •Группа перестановок
- •Циклы перестановки
- •Тип перестановки
- •Разложения и разбиения натуральных чисел
- •Разложения натуральных чисел
- •Разбиения натуральных чисел
- •Принцип включения-исключения
- •Принцип включения-исключения
- •Задача о беспорядках
- •Мощность объединения множеств
- •Число целочисленных решений системы неравенств
- •Математическая логика: Булева аллгебра
- •Булева алгебра. Функции алгебры логики.
- •Булевы функции
- •Формулы
- •Основные тождества
- •Разложение функции по переменным
- •Дизъюнктивная и конъюнктивная нормальные формы
- •Полином Жегалкина
- •1 ⊕ X1 ⊕ x2x3 - полином Жегалкина.
- •Полнота системы функций
- •Функции, сохраняющие ноль
- •Функции, сохраняющие единицу
- •Двойственность
- •Монотонность
- •Линейность
- •Критерий полноты системы функций
- •Теория алгоритмов
- •Машины Тьюринга
- •Понятие алгоритма
- •Машина Тьюринга
- •Способы записи машины Тьюринга
- •Стандартные конфигурации
- •Вычислимые функции
- •Алгоритмически неразрешимые задачи
- •Сложность алгоритма
- •Полиномиальная сводимость
- •Классы задач в форме распознавания свойств
- •4 Теория графов
- •4.1 Определения графа
- •Общее определение
- •Виды графов
- •Обыкновенный граф
- •Примеры графов
- •Графы Бержа
- •4.2 Изоморфизм графов
- •4.2.1 Инварианты графа
- •Операции
- •Основные операции над графами
- •Подграфы
- •Дополнение графа
- •Маршруты и связность
- •Деревья
- •Матрицы, связанные с графом
- •Матрица смежности
- •Матрица инцидентности
- •Список ребер
- •Обходы графов
- •Эйлеров цикл
- •Гамильтонов цикл
- •Задачи и алгоритмы
- •Остов минимального веса
- •Алгоритм 4.8.1 (Алгоритм Краскала).
- •Задача коммивояжера
- •Задача о клике
- •Задача о вершинном покрытии
- •Задача о гамильтоновом цикле
- •Снова задача коммивояжера
- •Алгоритм дерева
- •Математическая логика: Исчисления высказываний и предикатов
- •Исчисление высказываний
- •Пример задачи логики высказываний
- •Формальные теории
- •Формальная теория исчисление высказываний
- •Теоремы исчисления высказываний
- •Теорема о полноте исчисления высказываний
- •Независимость аксиом исчисления высказываний
- •Исчисление предикатов
- •Пример задачи логики предикатов
- •Формальная теория исчисление предикатов
- •Алфавит.
- •Формулы.
- •Аксиомы.
- •Правила вывода.
- •Интерпретация
- •Литература
Диаграммы Эйлера-Венна
Диаграммы Эйлера-Венна помогают наглядно проиллюстрировать многие соотношения между множествами. На рисунке 32 показано применение диаграмм Эйлера-Венна для наглядного изображения основных операций над множествами.
U U U
A A B A B
A A B A B
U U U
A A B A B
A A B A B
Рисунок 4: Использование диаграмм Эйлера-Венна для иллюстрации основных операций над множествами
Прямое произведение множеств
Пусть A = {a1, a2, ..., ak}, B = {b1, b2, ..., bl}
A × B = {(a1, b1), (a1, b2), ..., (a1, bl), (a2, b1), ..., (ak, bl)} =
= {(a, b) | a ∈ A, b ∈ B}
прямое (декартово) произведение множеств A и B.
Во многих случаях порядок проведения операций произведения не важен. Тогда считают, что
A × (B × C) = (A × B) × C = {(a, b, c) | a ∈ A, b ∈ B, c ∈ C}.
Аналогично определяется прямое произведение любого конечного числа множеств.
A1 × A2 × ... × At = {(a1, a2, ..., at) | ai ∈ Ai, i = 1, t}
Если речь будет идти о прямом произведении множества на себя, то будем заменять запись нескольких множеств, на знак степени:
A × A × ... × A = At.
t
Бинарные отношения и функции
Бинарные отношения
Определение 1.4.1 . Бинарным (двуместным) отношением ρ
называется множество упорядоченных пар. Если некоторая пара (x, y)
принадлежит отношению ρ пишут (x, y) ∈ ρ или xρy.
Замечание 1.4.1 . n-арным отношением называют множество упорядоченных n-ок. Любое множество можно назвать унарным отношением.
Областью определения бинарного отношения ρ называется множество
Dρ = {x | существует такое y, что xρy}.
Областью значений бинарного отношения ρ называется множество
Rρ = {y | существует такое x, что xρy}
Пример 1.4.1 . 1) ρ = {(1, 2), (2, 3), (1, 5), (3, 3)}. Тогда Dρ = {1, 2, 3},
Rρ = {2, 3, 5}.
{(x, x) | x - вещественное число}. Тогда Dρ = Rρ = R.
{(x, y) | x, y - целые числа и найдется такое целое число z, что
x + z = y}. Тогда Dρ = Rρ = Z.
Каждое бинарное отношение является подмножеством прямого произведения множеств X и Y таких, что Dρ ⊆ X и Rρ ⊆ Y .
Обратным отношением для отношения ρ называют отношение
ρ−1 = {(x, y) | (y, x) ∈ ρ}.
Композицией отношений ρ1 и ρ2 называется отношение
ρ2 ◦ ρ1 = {(x, z) | существует такое y, что xρ1y и yρ2z}.
Утверждение 1.4.1 . Для любых бинарных отношений ρ, ρ1, ρ2
выполняются следующие свойства: 1) (ρ−1)−1 = ρ;
2) (ρ2 ◦ ρ1)−1 = ρ−1 ◦ ρ−1
1 2
Доказательство. Пункт 1 непосредственно следует из определения обратного отношения. Покажем истинность пункта 2:
(ρ2 ◦ ρ1)−1 = {(z, x) | ∃y : xρ1y, yρ2z} =
= {(z, x) | ∃y : yρ−1x, zρ−1y} = ρ−1 ◦ ρ−1
1 2 1 2
D
Функции
Определение 1.4.2 . Бинарное отношение f называется функцией, если из (x, y) ∈ f и (x, z) ∈ f следует, что y = z.
Две функции равны, если они состоят из одних и тех же элементов (как и любые множества).
Иногда приходится сталкиваться с трудностями в определении области значений функций. Тогда, если Df = X и Rf ⊆ Y , то говорят,
что функция f задана на множестве X со значениями в множестве Y
(осуществляет отображение множества X во множество Y ), и пишут
f : X → Y .
Если f - функция, вместо (x, y) ∈ f пишут f (x) = y и говорят, что y
значение соответствующее аргументу x (образ элемента x). x называют
прообразом элемента y.
Пример 1.4.2 . 1) {(1, 2), (2, 3), (48, *), (D, D)} - функция;
2) {(1, 2), (1, 3), (2, 4)} - не функция;
3) ρ{(x, x2 + 2x + 1) | x - вещественное число} - функция y = x2 +
2x + 1. Обратное бинарное отношение ρ−1 в этом случае функцией не
является.
Пусть f : X → Y .
Определение 1.4.3 . Функцию (отображение) f назовем инъектив- ной фукнцией (инъекцией), если для любых x1, x2 ∈ X и любого y ∈ Y из
y = f (x1) и y = f (x2) следует, что x1 = x2.
Определение 1.4.4 . Функция f называется сюръективной функцией (сюрьекцией), если для любого элемента y ∈ Y существует элемент x ∈ X такой, что y = f (x).
Определение 1.4.5 . Функция f называется биективной функцией (биекцией), если она и сюръективна, и инъективна.
Если указана биективная функция f : X → Y , говорят. что осуществляется взаимнооднозначное соответствие между множествами X и Y .
Пример 1.4.3 . Рассмотрим функции f : R → R.
f (x) = ex инъективна, но не сюръективна (рис. 5-a));
f (x) = x3 − x сюръективна, но не инъективна (рис. 5-b));
f (x) = 2x + 1 биективна.
y=ex
y=x3-x
Рисунок 5: Примеры функций
Утверждение 1.4.2 . Композиция двух функций есть функция. При этом, если f : X → Y и g : Y → Z, то g ◦ f : X → Z.
Доказательство. Пусть (x, z1) ∈ g ◦f и (x, z2) ∈ g ◦f . Тогда существуют y1 и y2: z1 = g(y1) и z2 = g(y2). При этом y1 = f (x) и y2 = f (x). Поскольку, f - функция, то y1 = y2. Поскольку g - функция, то
z1 = g(y1) = g(y2) = z2. Таким образом, g ◦ f - функция.
Покажем, что g ◦ f : X → Z. Так как f : X → Y , для любого x ∈ X
существует y ∈ Rf ⊆ Y : f (x) = y. Так как g : Y → Z, существует
z ∈ Rg ⊆ Z: z = g(y) = g(f (x)) = (g ◦ f )(x). Таким образом, для любого x ∈ X мы нашли такой z ∈ Z, что (x, z) ∈ g◦f . Следовательно, Dg◦f = X. С другой стороны, Rg◦f ⊆ Rg ⊆ Z, что и требовалось доказать.
D
Утверждение 1.4.3 . Композиция двух биективных функций есть биективная функция.
Доказательство. Пусть, f : X → Y и g : Y → Z - биекции. Пусть, для некоторых x1, x2 ∈ X и z ∈ Z верно z = g ◦ f (x1) и z = g ◦ f (x2). Пусть, y1, y2 ∈ Y те элементы, для которых y1 = f (x1) и y2 = f (x2).
Тогда, z = g(y1) = g(y2). Поскольку g инъективна, y1 = y2 и, поскольку
f инъективна, x1 = x2. Следовательно, g ◦ f - инъективна.
Пусть z ∈ Z. Тогда, поскольку g сюрьективна, существует y ∈ Y :
g(y) = z. Поскольку f сюрьективна, существует x ∈ X: f (x) = y.
Следовательно, g ◦ f (x) = z и g ◦ f сюрьективна. Таким образом, g ◦ f -
биекция.
D
Пусть f −1 - отношение обратное к f . Если f −1 осуществляет
отображение множества Y во множество X, говорят, что f −1 - обратное
отображение.
Утверждение 1.4.4 . Отображение f : X → Y имеет обратное отображение f −1 : Y → X тогда и только тогда, когда f - биекция. При этом f −1 тоже будет биекцией.
Доказательство. Достаточность. Пусть, (y, x1) ∈ f −1 и (y, x2) ∈ f −1. Тогда, f (x1) = f (x2) = y. Из инъективности функции f следует, что
x1 = x2 и, следовательно, f −1 - функция.
Из сюръективности функции f следует, что для любого y ∈ Y
существует x ∈ X: f (x) = y. Другими словами, для любого y ∈ Y
существует x ∈ X: f −1(y) = x. Следовательно, Df −1 = Y и f −1
осуществляет отображение из Y в X.
Покажем, что f −1 - биекция. Поскольку f определена на всем множестве X, f −1 - сюрьекция. Пусть существуют такие y1, y2 ∈ Y и x ∈ X, что x = f −1(y1) = f −1(y2). Тогда, (x, y1) ∈ f и (x, y2) ∈ f и, поскольку f функция, y1 = y2. Следовательно, f −1 - инъекция.
Необходимость доказывается из тех же соображений, рассмотренных в обратном порядке: если f −1 функция, то f - инъективна; если f −1
осуществляет отображение из Y в X, f - сюръективна.
D
Замечание 1.4.2 . Чтобы обратное отношение f −1 было функцией, достаточно инъективности f .
Тождественным отображением множества X на себя называется отображение eX : X → X такое, что для любого x ∈ X верно eX (x) = x. Если f : X → Y тогда верно, что eY ◦ f = f и f ◦ eX = f .
Утверждение 1.4.5 . Если f : X → Y - биекция, то 1) (f −1 ◦ f ) = eX ;
2) (f ◦ f −1) = eY .
Доказательство. Для любого x ∈ X, (f −1 ◦ f )(x) = f −1(f (x)) = x. Для любого y ∈ Y , (f ◦ f −1)(y) = f (f −1(y)) = y.
D