
- •Содержание
- •1 Элементы теории множеств. Комбинаторика. 5
- •Математическая логика: Булева аллгебра 88
- •Теория алгоритмов 129
- •Теория графов 162
- •Математическая логика: Исчисления высказываний и предикатов 207
- •Элементы теории множеств. Комбинаторика.
- •Введение
- •Примеры задач.
- •Задача о расположении конвертов
- •Задача о Ханойской башне
- •Базовые обозначения
- •Правило суммы и правило произведения
- •Основы теории множеств
- •Понятие множества
- •Парадокс Рассела
- •Подмножества
- •Операции над множествами
- •Диаграммы Эйлера-Венна
- •Прямое произведение множеств
- •Бинарные отношения и функции
- •Бинарные отношения
- •Функции
- •Специальные бинарные отношения: Отношение эквивалентности
- •Специальные бинарные отношения: Отношение порядка
- •Лексикографический порядок
- •Выборки с повторениями и без повторений
- •Размещения и сочетания
- •Треугольник Паскаля
- •Связь сочетаний и (0,1)-векторов
- •Перебор сочетаний
- •Бином Ньютона
- •Мультимножества
- •Связь мультимножеств и (0,1)-векторов
- •Полином Ньютона
- •Разбиения множеств.
- •Приложение: программа перебора сочетаний
- •Перестановки
- •Понятие перестановки
- •Группа перестановок
- •Циклы перестановки
- •Тип перестановки
- •Разложения и разбиения натуральных чисел
- •Разложения натуральных чисел
- •Разбиения натуральных чисел
- •Принцип включения-исключения
- •Принцип включения-исключения
- •Задача о беспорядках
- •Мощность объединения множеств
- •Число целочисленных решений системы неравенств
- •Математическая логика: Булева аллгебра
- •Булева алгебра. Функции алгебры логики.
- •Булевы функции
- •Формулы
- •Основные тождества
- •Разложение функции по переменным
- •Дизъюнктивная и конъюнктивная нормальные формы
- •Полином Жегалкина
- •1 ⊕ X1 ⊕ x2x3 - полином Жегалкина.
- •Полнота системы функций
- •Функции, сохраняющие ноль
- •Функции, сохраняющие единицу
- •Двойственность
- •Монотонность
- •Линейность
- •Критерий полноты системы функций
- •Теория алгоритмов
- •Машины Тьюринга
- •Понятие алгоритма
- •Машина Тьюринга
- •Способы записи машины Тьюринга
- •Стандартные конфигурации
- •Вычислимые функции
- •Алгоритмически неразрешимые задачи
- •Сложность алгоритма
- •Полиномиальная сводимость
- •Классы задач в форме распознавания свойств
- •4 Теория графов
- •4.1 Определения графа
- •Общее определение
- •Виды графов
- •Обыкновенный граф
- •Примеры графов
- •Графы Бержа
- •4.2 Изоморфизм графов
- •4.2.1 Инварианты графа
- •Операции
- •Основные операции над графами
- •Подграфы
- •Дополнение графа
- •Маршруты и связность
- •Деревья
- •Матрицы, связанные с графом
- •Матрица смежности
- •Матрица инцидентности
- •Список ребер
- •Обходы графов
- •Эйлеров цикл
- •Гамильтонов цикл
- •Задачи и алгоритмы
- •Остов минимального веса
- •Алгоритм 4.8.1 (Алгоритм Краскала).
- •Задача коммивояжера
- •Задача о клике
- •Задача о вершинном покрытии
- •Задача о гамильтоновом цикле
- •Снова задача коммивояжера
- •Алгоритм дерева
- •Математическая логика: Исчисления высказываний и предикатов
- •Исчисление высказываний
- •Пример задачи логики высказываний
- •Формальные теории
- •Формальная теория исчисление высказываний
- •Теоремы исчисления высказываний
- •Теорема о полноте исчисления высказываний
- •Независимость аксиом исчисления высказываний
- •Исчисление предикатов
- •Пример задачи логики предикатов
- •Формальная теория исчисление предикатов
- •Алфавит.
- •Формулы.
- •Аксиомы.
- •Правила вывода.
- •Интерпретация
- •Литература
Базовые обозначения
Введем некоторые общие обозначения, которые будут встречаться нам в процессе изучения всего материала курса.
Под записью i = k, l будем понимать, что величина i пробегает все целые значения от k до l.
Ixl - наименьшее большее целое для числа x.
lxj - наибольшее меньшее целое для числа x.
Наряду со стандартными обозначениями для множеств чисел
N - множество натуральных чисел,
Z - множество целых чисел,
R - множество вещественных чисел,
будем использовать N0 для обозначения множества неотрицательных
целых чисел:
N0 = N ∪ {0} = {0, 1, 2, ...}.
Для записи сумм с большим количеством подобных слагаемых используется символ Σ (сигма).
l
\ f (i) = f (k) + f (k + 1) + ... + f (l − 1) + f (l).
i=k
Когда условие суммирования имеет более сложную форму, используют следующую запись
\ f (x)
P (x)
которая значит, что суммирование происходит по всем возможным
значениям параметра x для которых высказывание P (x) является верным. Аналогично могут использоваться и другие знаки групповых операций.
Пример 1.2.7 .
10
\ i2 = 1 + 4 + 9 + 16 + 25 + 36 + 49 + 64 + 81 + 100 = 385.
i=1
\
x1,x2∈N, x1+x2=10
x1 · x2 = 9 + 16 + 21 + 24 + 25 + 24 + 21 + 16 + 9 = 155.
Символы ∀, ∃, ∨, ∧, ¬ часто используются в краткой записи математических высказываний: ∀ - "для любых", ∃ - "существует", � - "не существует", ∃! - "существует единственный", ∧ - "и", ∨ - "или",
¬ - "не". В разделе нашего курса, посвященном математической логике
мы подробнее изучим запись высказываний на формальном языке.
Правило суммы и правило произведения
При подсчете числа вариантов возникновения различных событий в задачах комбинаторики будут полезны следующие два правила.
Правило произведения: Если объект A может быть выбран m способами и для каждого из таких выборов объект B в свою очередь может быть выбран n способами, то выбор <A и B> может быть
осуществлен m · n способами.
Пример 1.2.8 . Бросают две игральные кости. Сколько существует различных вариантов их выпадения, если кости считаются различными?
У каждой кости 6 граней. Для каждого варианта выпадения первой кости возможно 6 вариантов выпадения второй. Значит, по правилу
произведения, искомое число 6 · 6 = 36.
Правило суммы: Если объект A может быть выбран m способами, а объект B - n способами, причем одновременный выбор A и B невозможен, то выбор <A или B> можно осуществить m + n способами.
Пример 1.2.9 . Бросают две различные игральные кости. Сколько существует вариантов выпадения, чтобы ровно на одной из двух выпала шестерка?
Если шестерка выпадает на первой кости, то существует
5 вариантов допустимых значений для выпадения второй кости. Аналогично, если шестерка выпадает на второй кости, первая кость в подсчитываемых комбинациях может принимать значения 1,2, 3, 4 и 5. Поскольку одновременное выпадение шестерок не рассматривается, по правилу суммы искомое число 5 + 5 = 10.
Пример 1.2.10 . Бросают две игральные кости. Сколько существует вариантов выпадения, чтобы либо на каждой кости выпало четное число очков, либо на каждой - нечетное?
Поскольку кости не могут одновременно дать и четный и нечетный результат, по правилу суммы нужно сложить число вариантов выпадения двух четных числе и число выпадения двух нечетных чисел.
Обычная игральная кость имеет шесть граней и ровно три из них четные. Так как для каждого варианта выпадения значения на первой кости возможны три варианта значения на второй, по правилу произведения число вариантов выпадения двух четных значений равно
3 · 3 = 9. Аналогично, число выпадений двух нечетных чисел - 9. Тогда,
искомое число равно 18.