- •Содержание
- •1 Элементы теории множеств. Комбинаторика. 5
- •Математическая логика: Булева аллгебра 88
- •Теория алгоритмов 129
- •Теория графов 162
- •Математическая логика: Исчисления высказываний и предикатов 207
- •Элементы теории множеств. Комбинаторика.
- •Введение
- •Примеры задач.
- •Задача о расположении конвертов
- •Задача о Ханойской башне
- •Базовые обозначения
- •Правило суммы и правило произведения
- •Основы теории множеств
- •Понятие множества
- •Парадокс Рассела
- •Подмножества
- •Операции над множествами
- •Диаграммы Эйлера-Венна
- •Прямое произведение множеств
- •Бинарные отношения и функции
- •Бинарные отношения
- •Функции
- •Специальные бинарные отношения: Отношение эквивалентности
- •Специальные бинарные отношения: Отношение порядка
- •Лексикографический порядок
- •Выборки с повторениями и без повторений
- •Размещения и сочетания
- •Треугольник Паскаля
- •Связь сочетаний и (0,1)-векторов
- •Перебор сочетаний
- •Бином Ньютона
- •Мультимножества
- •Связь мультимножеств и (0,1)-векторов
- •Полином Ньютона
- •Разбиения множеств.
- •Приложение: программа перебора сочетаний
- •Перестановки
- •Понятие перестановки
- •Группа перестановок
- •Циклы перестановки
- •Тип перестановки
- •Разложения и разбиения натуральных чисел
- •Разложения натуральных чисел
- •Разбиения натуральных чисел
- •Принцип включения-исключения
- •Принцип включения-исключения
- •Задача о беспорядках
- •Мощность объединения множеств
- •Число целочисленных решений системы неравенств
- •Математическая логика: Булева аллгебра
- •Булева алгебра. Функции алгебры логики.
- •Булевы функции
- •Формулы
- •Основные тождества
- •Разложение функции по переменным
- •Дизъюнктивная и конъюнктивная нормальные формы
- •Полином Жегалкина
- •1 ⊕ X1 ⊕ x2x3 - полином Жегалкина.
- •Полнота системы функций
- •Функции, сохраняющие ноль
- •Функции, сохраняющие единицу
- •Двойственность
- •Монотонность
- •Линейность
- •Критерий полноты системы функций
- •Теория алгоритмов
- •Машины Тьюринга
- •Понятие алгоритма
- •Машина Тьюринга
- •Способы записи машины Тьюринга
- •Стандартные конфигурации
- •Вычислимые функции
- •Алгоритмически неразрешимые задачи
- •Сложность алгоритма
- •Полиномиальная сводимость
- •Классы задач в форме распознавания свойств
- •4 Теория графов
- •4.1 Определения графа
- •Общее определение
- •Виды графов
- •Обыкновенный граф
- •Примеры графов
- •Графы Бержа
- •4.2 Изоморфизм графов
- •4.2.1 Инварианты графа
- •Операции
- •Основные операции над графами
- •Подграфы
- •Дополнение графа
- •Маршруты и связность
- •Деревья
- •Матрицы, связанные с графом
- •Матрица смежности
- •Матрица инцидентности
- •Список ребер
- •Обходы графов
- •Эйлеров цикл
- •Гамильтонов цикл
- •Задачи и алгоритмы
- •Остов минимального веса
- •Алгоритм 4.8.1 (Алгоритм Краскала).
- •Задача коммивояжера
- •Задача о клике
- •Задача о вершинном покрытии
- •Задача о гамильтоновом цикле
- •Снова задача коммивояжера
- •Алгоритм дерева
- •Математическая логика: Исчисления высказываний и предикатов
- •Исчисление высказываний
- •Пример задачи логики высказываний
- •Формальные теории
- •Формальная теория исчисление высказываний
- •Теоремы исчисления высказываний
- •Теорема о полноте исчисления высказываний
- •Независимость аксиом исчисления высказываний
- •Исчисление предикатов
- •Пример задачи логики предикатов
- •Формальная теория исчисление предикатов
- •Алфавит.
- •Формулы.
- •Аксиомы.
- •Правила вывода.
- •Интерпретация
- •Литература
Тип перестановки
Определение 1.6.7 . Пусть ci = ci(π) - число циклов длины i
перестановки π. Тогда (c1, c2, ..., cn) - тип перестановки π.
Обозначим
σn(c1, c2, ..., cn) = {π | π ∈ σn, (c1, c2, ..., cn) - тип π}. Замечание 1.6.7 . c(π) = c1(π) + · · · + cn(π) - число циклов перестановки и
n
n = \ i · ci(π).
i=1
Пример 1.6.5 . Тип перестановки из примера 1.6.2 - (2, 1, 1, 0, 0, 0, 0).
Тип перестановки из примера 1.6.3 - (1, 1, 0, 1, 0, 0, 0).
Утверждение 1.6.4 .
|σn(c1, c2, ..., cn)| =
c1!c2
! · · · cn
n!
!1c1 2c2 · · · ncn
Доказательство. По утверждению 1.5.13 множество {1, ..., n} можно
разбить на подмножества, среди которых ровоно ci подмножеств
имеют мощность i,
n! c1!c2!···cn!(1!)c1 (2!)c2 ···(n!)cnспособами. Чтобы получить
перестановку из любого неупорядоченного разбиения, нужно расставить
элеметы каждого подмножества в определенном порядке, чтобы определить циклы.
Сколько циклов можно получить из одного подмножества мощности i? Элементы множества можно расставить в различном порядке i! способами. Это число надо разделить на количество вариантов выбора начальный точки цикла - i. Таким образом из данного
i
подмножества можно составить i!различных циклов. Домножим число
неупорядоченных разбиений на число вариантов создания циклов из подмножеств. Получим:
n! c1!c2! · · · cn!(1!)c1 (2!)c2 · · · (n!)cn ·
(1!)c1 (2!)c2 · · · (n!)cn 1c1 2c2 · · · ncn
=
n!= ,
что и требовалось доказать.
D
c1!c2! · · · cn!1c1 2c2 · · · ncn
=
Пример 1.6.6 . Пусть задан тип перестановки (0, 2, 1, 0, 0, 0, 0). Согласно утверждению 1.6.4 число перестановок такого типа должно
быть
7!0!2!1!0!0!0!0!10223140506070
7! = 7 · 6 · 5 = 210, где 24 - число
24
перестановок, из которых можно получить одну и ту же перестановкутипа (0, 2, 1, 0, 0, 0, 0).
Рассмотрим, например, перестановку (1, 2)(3, 4)(5, 6, 7). Из каких перестановок она может быть получена добавлением скобок? Перечислим такие перестановки:
1) (1, 2, 3, 4, 5, 6, 7), 13) (3, 4, 1, 2, 5, 6, 7),
2) (2, 1, 3, 4, 5, 6, 7), 14) (3, 4, 2, 1, 5, 6, 7),
3) (1, 2, 4, 3, 5, 6, 7), 15) (4, 3, 1, 2, 5, 6, 7),
4) (2, 1, 4, 3, 5, 6, 7), 16) (4, 3, 2, 1, 5, 6, 7),
5) (1, 2, 3, 4, 6, 7, 5), 17) (3, 4, 1, 2, 6, 7, 5),
6) (2, 1, 3, 4, 6, 7, 5), 18) (3, 4, 2, 1, 6, 7, 5),
7) (1, 2, 4, 3, 6, 7, 5), 19) (4, 3, 1, 2, 6, 7, 5),
8) (2, 1, 4, 3, 6, 7, 5), 20) (4, 3, 2, 1, 6, 7, 5),
9) (1, 2, 3, 4, 7, 5, 6), 21) (3, 4, 1, 2, 7, 5, 6),
10) (2, 1, 3, 4, 7, 5, 6), 22) (3, 4, 2, 1, 7, 5, 6),
11) (1, 2, 4, 3, 7, 5, 6), 23) (4, 3, 1, 2, 7, 5, 6),
12) (2, 1, 4, 3, 7, 5, 6), 24) (4, 3, 2, 1, 7, 5, 6).