
- •Содержание
- •1 Элементы теории множеств. Комбинаторика. 5
- •Математическая логика: Булева аллгебра 88
- •Теория алгоритмов 129
- •Теория графов 162
- •Математическая логика: Исчисления высказываний и предикатов 207
- •Элементы теории множеств. Комбинаторика.
- •Введение
- •Примеры задач.
- •Задача о расположении конвертов
- •Задача о Ханойской башне
- •Базовые обозначения
- •Правило суммы и правило произведения
- •Основы теории множеств
- •Понятие множества
- •Парадокс Рассела
- •Подмножества
- •Операции над множествами
- •Диаграммы Эйлера-Венна
- •Прямое произведение множеств
- •Бинарные отношения и функции
- •Бинарные отношения
- •Функции
- •Специальные бинарные отношения: Отношение эквивалентности
- •Специальные бинарные отношения: Отношение порядка
- •Лексикографический порядок
- •Выборки с повторениями и без повторений
- •Размещения и сочетания
- •Треугольник Паскаля
- •Связь сочетаний и (0,1)-векторов
- •Перебор сочетаний
- •Бином Ньютона
- •Мультимножества
- •Связь мультимножеств и (0,1)-векторов
- •Полином Ньютона
- •Разбиения множеств.
- •Приложение: программа перебора сочетаний
- •Перестановки
- •Понятие перестановки
- •Группа перестановок
- •Циклы перестановки
- •Тип перестановки
- •Разложения и разбиения натуральных чисел
- •Разложения натуральных чисел
- •Разбиения натуральных чисел
- •Принцип включения-исключения
- •Принцип включения-исключения
- •Задача о беспорядках
- •Мощность объединения множеств
- •Число целочисленных решений системы неравенств
- •Математическая логика: Булева аллгебра
- •Булева алгебра. Функции алгебры логики.
- •Булевы функции
- •Формулы
- •Основные тождества
- •Разложение функции по переменным
- •Дизъюнктивная и конъюнктивная нормальные формы
- •Полином Жегалкина
- •1 ⊕ X1 ⊕ x2x3 - полином Жегалкина.
- •Полнота системы функций
- •Функции, сохраняющие ноль
- •Функции, сохраняющие единицу
- •Двойственность
- •Монотонность
- •Линейность
- •Критерий полноты системы функций
- •Теория алгоритмов
- •Машины Тьюринга
- •Понятие алгоритма
- •Машина Тьюринга
- •Способы записи машины Тьюринга
- •Стандартные конфигурации
- •Вычислимые функции
- •Алгоритмически неразрешимые задачи
- •Сложность алгоритма
- •Полиномиальная сводимость
- •Классы задач в форме распознавания свойств
- •4 Теория графов
- •4.1 Определения графа
- •Общее определение
- •Виды графов
- •Обыкновенный граф
- •Примеры графов
- •Графы Бержа
- •4.2 Изоморфизм графов
- •4.2.1 Инварианты графа
- •Операции
- •Основные операции над графами
- •Подграфы
- •Дополнение графа
- •Маршруты и связность
- •Деревья
- •Матрицы, связанные с графом
- •Матрица смежности
- •Матрица инцидентности
- •Список ребер
- •Обходы графов
- •Эйлеров цикл
- •Гамильтонов цикл
- •Задачи и алгоритмы
- •Остов минимального веса
- •Алгоритм 4.8.1 (Алгоритм Краскала).
- •Задача коммивояжера
- •Задача о клике
- •Задача о вершинном покрытии
- •Задача о гамильтоновом цикле
- •Снова задача коммивояжера
- •Алгоритм дерева
- •Математическая логика: Исчисления высказываний и предикатов
- •Исчисление высказываний
- •Пример задачи логики высказываний
- •Формальные теории
- •Формальная теория исчисление высказываний
- •Теоремы исчисления высказываний
- •Теорема о полноте исчисления высказываний
- •Независимость аксиом исчисления высказываний
- •Исчисление предикатов
- •Пример задачи логики предикатов
- •Формальная теория исчисление предикатов
- •Алфавит.
- •Формулы.
- •Аксиомы.
- •Правила вывода.
- •Интерпретация
- •Литература
Основные тождества
Как мы помним из определения 2.1.4 |
формулы |
называют |
эквивалентными, когда соответствующие им |
функции |
совпадают. |
Рассмотрим, как можно получить из формулы эквивалентные ей.
Утверждение 2.1.1 (о замене подформул на эквивалентные). Пусть f - некоторая элементарная функция. Если формулы U1, U2, ..., Un эквивалентны соответственно формулам B1, B2, ..., Bn, то формула U = f (U1, U2, ..., Un) эквивалентна формуле B = f (B1, B2, ..., Bn).
Доказательство. Действительно, из определения эквивалентности следует, что fUi = fBi , i = 1, n. При этом, формула U реализует функцию fU = f (fU1 , fU2 , ..., fUn ), а формула B реализует функцию
fB = f (fB1 , fB2 , ..., fBn ). Следовательно fU = fB.
D
Это позволяет нам, записать ряд тождеств, которые мы сможем использовать для преобразования формул, заменяя подформулы на эквивалентные.
Коммутативность: x ◦ y = y ◦ x, если ◦ ∈ {∧, ∨, ⊕, ≡, |, ↓}.
Ассоциативность: x ◦ (y ◦ z) = (x ◦ y) ◦ z, если ◦ ∈ {∧, ∨, ⊕, ≡}. Мы
уже указывали на это свойство раньше.
Правила де Моргана: x ∧ y = x ∨ y, x ∨ y = x ∧ y.
Правила поглощения: x ∨ xy = x, x(x ∨ y) = x.
Дистрибутивность:
x(y ∨ z) = xy ∨ xz - дистрибутивность ∧ относительно ∨,
x ∨ yz = (x ∨ y)(x ∨ z) - дистрибутивность ∨ относительно ∧,
x(y ⊕ z) = xy ⊕ xz - дистрибутивность ∧ относительно ⊕.
Формулы расщепления:
x = xy ∨ xy,
x = (x ∨ y)(x ∨ y).
7. 0 = xx = x ∧ 0 = x ⊕ x,
1 = x ∨ x = x ∨ 1 = x ≡ x,
x = ¬¬x = x ∨ x = xx = x ∧ 1 = x ∨ 0.
8. x = x ⊕ 1,
x ≡ y = (x ⊕ y) ⊕ 1,
x ⊕ y = (x ∨ y)xy = xy ∨ xy,
x ⊃ y = x ∨ y = xy ⊕ x ⊕ 1,
x ↓ y = x ∧ y = x ∨ y,
x | y = x ∨ y = x ∧ y.
Используя эти тождества можно выполнять преобразования формул, получая им эквивалентные.
Пример 2.1.8 . Рассмотрим формулу U = (y ⊃ x) ∨ (x ⊕ 1) ∨ y. Проведем преобразования, используя известные тождества.
(y ⊃ x) ∨ (x ⊕ 1) ∨ y = (y ∨ x) ∨ (x) ∨ y = y ∨ x ∨ x ∨ y = 1 ∨ 1 = 1.
Таким образом, формула U задает тождественно истинную функцию.
Очевидно, что формула B = U = (y ⊃ x) ∨ (x ⊕ 1) ∨ y = 1 = 0, то
есть B задает тождественно ложную функцию.
Определение 2.1.5 . Формула, задающая тождественно истинную функцию, называется тавтологией.
Определение 2.1.6 . Формула, задающая тождественно ложную функцию, называется противоречием.
Определение 2.1.7 . Формула называется выполнимой, если для нее существует набор аргументов, на котором она принимает значение 1.
Разложение функции по переменным
Определение 2.1.8 . Введем следующее обозначение:
( x, σ = 1,
xσ =
x, σ = 0.
Также будем говорить x в степени σ, имея в виду запись xσ определенную выше. Переменную с или без отрицания будем называть литералом.
Замечание 2.1.5 . Как можно видеть из определения 2.1.8
xσ = 1 ⇐⇒ x = σ.
Утверждение 2.1.2 (разложение |
функции |
по |
параметрам). |
Пусть f (x1, ..., xn) ∈ P2 и 1 ≤ m ≤ n. |
Тогда |
|
|
f (x1, ..., xm, xm+1, ..., xn) =
I
xσ1
x
2m
2 · · ·
f (σ1, ..., σm, xm+1, ..., xn). (27)
(σ1,...,σm):
σi∈E2, i=1,m
1 xσ σm
Доказательство. Рассмотрим произвольный набор аргументов
(α1, ..., αn): αi ∈ E2, i = 1, n. Подставим этот набор в правую часть
уравнения (27):
I ασ1
α
2m
2 · · ·
f (σ1, ..., σm, αm+1, ..., αn) =
(σ1,...,σm):
σi∈E2, i=1,m
1 ασ σm
Так как ασ = 1 тогда и только тогда, когда α = σ, то из всех членов предыдущего выражения останется только один: когда все σi совпадают с αi.
= 1 · 1 · · · 1 · f (α1, ..., αm, αm+1, ..., αn) = f (α1, ..., αm, αm+1, ..., αn).
Таким образом, мы показали, что для произвольного набора значений аргументов функции f левая и правая части формулы (27) совпадают, что и требовалось доказать.
D
Пример 2.1.9 . Пусть f (x, y) = x |(x ⊃ y). Разложим функцию f по
переменной x.
f (x, y) = x |(x ⊃ y) = xf (1, y) ∨ xf (0, y) =
Подставим формулу на место функции f .
= x(0 |(1 ⊃ y)) ∨ x(1 |(0 ⊃ y)) = x
Последнее равенство следует из того, что (0 | α) = 1 для любого α, в то время как (0 ⊃ β) = 1 для любого β и, следовательно, (1 |(0 ⊃ y)) = (1 | 1) = 0.
Замечание 2.1.6 . Согласно утверждению 2.1.2, можно строить разложение по любому подмножеству множества переменных функции.
Пример 2.1.10 . Пусть f (x, y, z) = (x ⊃ y) ⊕ z. Выполним разложение f по переменным x и z.
f (x, y, z) = I
(σ1,σ3):
σ1∈E2, σ3∈E2
xσ1 zσ3 f (σ1, y, σ3) =
= x0z0f (0, y, 0) ∨ x0z1f (0, y, 1) ∨ x1z0f (1, y, 0) ∨ x1z1f (1, y, 1) =
= x z (0 ⊃ y) ⊕ 0 ∨ x z (0 ⊃ y) ⊕ 1 ∨ x z (1 ⊃ y) ⊕ 0 ∨ x z (1 ⊃ y) ⊕ 1 =
Таким получилось разложение по переменным. Теперь можно провести преобразования, чтобы упростить результат.
= x z 1 ⊕ 0 ∨ x z1 ⊕ 1 ∨ x z(1 ⊃ y) ⊕ 0∨
∨x z(1 ⊃ y) ⊕ 1 = x z ∨ x z y ∨ x z y.
Утверждение 2.1.3 . Пусть f (x1, ..., xn) ∈ P2 и f /= 0. Тогда
f (x1, ..., xn) = I
xσ1 · · · xσn .
1 n
2
(σ1,...,σn)∈Enf (σ1,...,σn)=1
Замечание 2.1.7 . Здесь и далее запись "f /= 0" понимается в смысле эквивалентности формул. То есть запись "f /= 0" читается "f не является тождественно ложной функцией", а запись "f /= 1" - "f
не является тождественно истинной функцией". Аналогично записи "f = 1" и "f = 0" понимают как "f - тождественно истинна" и "f
- тождественно ложна".
Доказательство. Разложим функцию f по всем ее переменным согласно утверждению 2.1.2.
f (x1, ..., xn) = I
xσ1 · · · xσn · f (σ1, ..., σn) =
1 n
2
(σ1,...,σn)∈En= I xσ1 · · · xσn .
1 n
2
(σ1,...,σn)∈Enf (σ1,...,σn)=1
Поскольку f /= 0, в этом выражении присутствует хотя бы один член.
D