- •Содержание
- •1 Элементы теории множеств. Комбинаторика. 5
- •Математическая логика: Булева аллгебра 88
- •Теория алгоритмов 129
- •Теория графов 162
- •Математическая логика: Исчисления высказываний и предикатов 207
- •Элементы теории множеств. Комбинаторика.
- •Введение
- •Примеры задач.
- •Задача о расположении конвертов
- •Задача о Ханойской башне
- •Базовые обозначения
- •Правило суммы и правило произведения
- •Основы теории множеств
- •Понятие множества
- •Парадокс Рассела
- •Подмножества
- •Операции над множествами
- •Диаграммы Эйлера-Венна
- •Прямое произведение множеств
- •Бинарные отношения и функции
- •Бинарные отношения
- •Функции
- •Специальные бинарные отношения: Отношение эквивалентности
- •Специальные бинарные отношения: Отношение порядка
- •Лексикографический порядок
- •Выборки с повторениями и без повторений
- •Размещения и сочетания
- •Треугольник Паскаля
- •Связь сочетаний и (0,1)-векторов
- •Перебор сочетаний
- •Бином Ньютона
- •Мультимножества
- •Связь мультимножеств и (0,1)-векторов
- •Полином Ньютона
- •Разбиения множеств.
- •Приложение: программа перебора сочетаний
- •Перестановки
- •Понятие перестановки
- •Группа перестановок
- •Циклы перестановки
- •Тип перестановки
- •Разложения и разбиения натуральных чисел
- •Разложения натуральных чисел
- •Разбиения натуральных чисел
- •Принцип включения-исключения
- •Принцип включения-исключения
- •Задача о беспорядках
- •Мощность объединения множеств
- •Число целочисленных решений системы неравенств
- •Математическая логика: Булева аллгебра
- •Булева алгебра. Функции алгебры логики.
- •Булевы функции
- •Формулы
- •Основные тождества
- •Разложение функции по переменным
- •Дизъюнктивная и конъюнктивная нормальные формы
- •Полином Жегалкина
- •1 ⊕ X1 ⊕ x2x3 - полином Жегалкина.
- •Полнота системы функций
- •Функции, сохраняющие ноль
- •Функции, сохраняющие единицу
- •Двойственность
- •Монотонность
- •Линейность
- •Критерий полноты системы функций
- •Теория алгоритмов
- •Машины Тьюринга
- •Понятие алгоритма
- •Машина Тьюринга
- •Способы записи машины Тьюринга
- •Стандартные конфигурации
- •Вычислимые функции
- •Алгоритмически неразрешимые задачи
- •Сложность алгоритма
- •Полиномиальная сводимость
- •Классы задач в форме распознавания свойств
- •4 Теория графов
- •4.1 Определения графа
- •Общее определение
- •Виды графов
- •Обыкновенный граф
- •Примеры графов
- •Графы Бержа
- •4.2 Изоморфизм графов
- •4.2.1 Инварианты графа
- •Операции
- •Основные операции над графами
- •Подграфы
- •Дополнение графа
- •Маршруты и связность
- •Деревья
- •Матрицы, связанные с графом
- •Матрица смежности
- •Матрица инцидентности
- •Список ребер
- •Обходы графов
- •Эйлеров цикл
- •Гамильтонов цикл
- •Задачи и алгоритмы
- •Остов минимального веса
- •Алгоритм 4.8.1 (Алгоритм Краскала).
- •Задача коммивояжера
- •Задача о клике
- •Задача о вершинном покрытии
- •Задача о гамильтоновом цикле
- •Снова задача коммивояжера
- •Алгоритм дерева
- •Математическая логика: Исчисления высказываний и предикатов
- •Исчисление высказываний
- •Пример задачи логики высказываний
- •Формальные теории
- •Формальная теория исчисление высказываний
- •Теоремы исчисления высказываний
- •Теорема о полноте исчисления высказываний
- •Независимость аксиом исчисления высказываний
- •Исчисление предикатов
- •Пример задачи логики предикатов
- •Формальная теория исчисление предикатов
- •Алфавит.
- •Формулы.
- •Аксиомы.
- •Правила вывода.
- •Интерпретация
- •Литература
Правила вывода.
Правило вывода modus ponens (MP): если A и B произвольные формулы, то B непосредственно выводима из формул A и A ⊃ B по
правилу вывода modus ponens.
Правило обобщения (Gen): если A - произвольная формула, то из
A по правилу обобщения непосредственно выводима формула ∀xiA.
Gen = {(A, ∀xiA) | A - формула}.
Замечание 5.2.2 . В алфавит не входят символы ∨, ∧, ≡, ∃x. Тем
не менее, мы можем использовать эти символы, как краткую форму
записи в некоторых сложных выражениях:
A ∨ B = (¬A ⊃ B),
A ∧ B = (¬(A ⊃ ¬B)),
A ≡ B = ((A ⊃ B) ∧ (B ⊃ A)) = (¬((A ⊃ B) ⊃ ¬(B ⊃ A))),
∃xiA = ¬∀xi¬A.
Интерпретация
Понятие интерпретации позволяет поставить в соответствие формуле некоторый смысл. Для этого каждому символу алфавита, который
используется в формуле, интерпретация сопоставляет некоторый объект, как описано ниже.
Для предметных переменных в интерпретации задается произвольное множество M - область интерпретации. Каждая предметная переменная может принимать произвольное значение из M .
В интерпретации каждой предметной константе сопоставляется единственный элемент из M .
i
Каждому функциональному символу f n
в интерпретации сопоста-
вляется функция
f n
i : M × M × · · · × Mn
→ M.
Здесь n - число аргументов функции, а i - номер функции с данным числом аргументов.
Функциональные символы в частности и термы в общем позволяют косвенно ссылаться на элемент в M .
i
Каждому предикатному символу An
в интерпретации сопоставля-
ется функция
An
i : M × M × · · · × Mn
→ {0, 1}.
i
Другими словами, каждому предикатному символу An сопоставляется n-арное отношение на множестве M .
Предикатный символ представляет элементарное высказывание, утверждающее, что некоторые n объектов находятся в некотором отношении.
Пример 5.2.6 . Запишем уравнение y = x2 + 2x + 1 на языке предикатов. Область интерпретации M = R. В уравненииесть
одно бинарное отношение "=" и действия умножения и сложения над элементами из области интерпретации.
Пусть A2(x1, x2) = 1 ⇔ x1 = x2. Пусть f 2(x1, x2) = x1 + x2 и
1
f
(
x
2
2 1, x2) = x1x2
. Пусть c1
1
= 1.
(y, x) = A2(y, f 2(f 2(x, x), f 2(f 2(f 2(c1, c1), x), c1))) = 1 тогда и
Тогда A
1 1 2
1 2 1
только тогда, когда y = x2 + 2x + 1.
1
Можно было бы упростить запись использовав другую интерпретацию. Например, введя f 1(x) = x2 + 2x + 1, нашу формулуможно будет записать как A(y, x) = A2(y, f 1(x)).
1 1
Рассмотрим, как интерпретируются формулы, построенные из символов описанных выше с использованием логических операций и
квантора всеобщности. Будем обозначать AI формулу, полученную
из A заменой символов исчисления предикатов на соответствующие
отношения, операции и константы интерпретации I.
Пусть A(xi1 , xi2 , ..., xik ) - формула, xi1 , xi2 , ..., xik - все ее свободные переменные. I - интерпретация формулы A с областью интерпретации
M .
Для каждого предикатного символа мы знаем, какая функция ему сопоставляется интерпретацией. Пусть формуле A в интерпретации I
соответствует функция
AI : M × M × · · · × M
k
Тогда будем полагать, что
→ {0, 1}.
(¬A(xi1 , xi2 , ..., xik ))I = 1 ⇐⇒ AI (xi1 , xi2 , ..., xik ) = 0,
(∀xit A(xi1 , ..., xit−1 , xit , xit+1 , ..., xik ))I = 1 ⇐⇒
⇐⇒ AI (xi1 , ..., xit−1 , x, xit+1 , ..., xik ) = 1, ∀x ∈ M,
если квантор берется по свободной переменной формулы A, и
(∀xsA(xi1 , xi2 , ..., xik ))I = AI (xi1 , xi2 , ..., xik ),
если у A нет свободной переменной xs.
Пусть A(xi1 , xi2 , ..., xik ) и B(xj1 , xj2 , ..., xjl ) - формулы, которым в
интерпретации I сопоставлены соответственно функции AI и BI . Тогда
(A(xi1 , ..., xik ) ⊃ B(xj1 , ..., xjl ))I = 1 ⇐⇒
⇐⇒ AI (xi1 , ..., xik ) = 1 влечет BI (xj1 , ..., xjl ) = 1.
Если задана интерпретация, замкнутая формула принимает фиксированное значение - "истина" или "ложь".
Пример 5.2.7 . Рассмотрим интерпретацию для формулы
A(x1) = ¬A2(x1, a1) ∧ ∀x2(∃x3A2(x1, f 2(x2, x3)) ⊃
1 1 1
⊃ (A2(x2, x1) ∨ A2(x2, a1))).
1 1
1
Пусть область интерпретации M = N, A2отношение равенства,
f 2
1 - операция умножения, a1 = 1. Тогда формулу можно переписать следующим образом:
AI (x1) = (x1 /= 1) ∧ ∀x2(∃x3(x1 = x2 · x3) ⊃ ((x1 = x2) ∨ (x2 = 1))).
Таким образом, в данной интерпретации AI - функция равная 1 тогда и только тогда, когда ее единственный аргумент x1 - простое число.
Пример 5.2.8 . Пусть задан алфавит:
Предметные переменные: x1, x2, ...
Предикатные символы A3, A3.
1 2
3) ⊃, ¬, ∀xi, (, ), ,.
Рассмотрим интерпретацию I: M = 2D = {X | X ⊆ D}, где D -
некоторое множество.
A3
1(x1, x2, x3) = 1 ⇔ x3 = x1 ∪ x2.
A3
2(x1, x2, x3) = 1 ⇔ x3 = x1 ∩ x2.Задача: простроить формулы для предикатов
-
A∅(x1) = 1
⇔
x1 = ∅.
A=(x1, x2) = 1
⇔
x1 = x2.
A⊆(x1, x2) = 1
⇔
x1 ⊆ x2.
A1(x1) = 1
⇔
|x1| = 1.
Для одного логического высказывания может существовать много формул описывающих его на формальном языке. Можно предложить, например, такое решение поставленной задачи:
1
A∅(x1) = ∀x2A3(x1, x2, x2).1
A=(x1, x2) = A3(x1, x1, x2).
3
A⊆(x1, x2) = A2(x1, x2, x1).A1(x1) = ¬A∅(x1) ∧ ∀x2(A⊆(x1, x2)∨
2
∨ ∃x3(A3(x1, x2, x3) ∧ A∅(x3))).Определение 5.2.7 . Будем говорить, что формула A выполнима в
I, если ∃d1 ∈ M , ∃d2 ∈ M , ..., ∃dk ∈ M : AI (d1, d2, ..., dk) = 1.
Определение 5.2.8 . Будем говорить, что формула A истинна в I, если ∀d1 ∈ M , ∀d2 ∈ M , ..., ∀dk ∈ M : AI (d1, d2, ..., dk) = 1.
Пример 5.2.9 . Рассмотрим интерпретацию для формулы A =
(∀x1(A1(x1) ⊃ A1(x1)) ∧ A1(a1)) ⊃ A1(a1). Пусть M - множество всех
1 2 1 2
A1
когда-либо живших на земле;
1(x) = 1 тогда и только тогда, когда x
2
человек; A1(x) = 1 тогда и только тогда, когда x - смертен; a1 =
Сократ.
Тогда формула A может читаться следующим образом: "Любой
человек смертен и Сократ - человек. Следовательно, Сократ -
смертен."
Формула замкнута и в интерпретации принимает фиксированное значение 1. Таким образом, формула A - истинна в данной
интерпретации.
Определение 5.2.9 . Будем говорить, что формула A ложна в I, если
∀d1 ∈ M , ∀d2 ∈ M , ..., ∀dk ∈ M : AI (d1, d2, ..., dk) = 0.
Определение 5.2.10 . Будем говорить, что I - модель для множе- ства формул Γ, если любая формула A ∈ Γ будет истинна в I.
Определение 5.2.11 . Будем говорить, что формула A выполнима, если существует интерпретация I, такая что A выполнима в I.
Определение 5.2.12 . A - логически общезначима, если A истинна в любой интерпретации.
Определение 5.2.13 . Будем говорить, что формула A противоречие, если ¬A - логически общезначима.
Определение 5.2.14 . Будем говорить, что A логически влечет B (B логическое следствие A), если (A ⊃ B) - логически общезначима.
Замечание 5.2.3 . Раньше мы уже приводили определение 5.2.12 под номером 5.2.1. Здесь повторяем его, пользуясь строго определенными понятиями.
Логически общезначимые формулы - аналог тавтологий в исчислении высказываний в том смысле, что они представляют собой логические законы математической логики, любая интерпретация которых будет давать нам логически истинное высказывание. В отличии от исчисления высказываний здесь нет алгоритма, позволяющего для произвольной формулы определить, является ли она логически общезначимой, хотя можно построить формальную теорию, в которой будут выводиться только логически общезначемые формулы.
Теорема 5.2.1 . Пусть A - формула исчисления предикатов. Тогда,
A - логически общезначима тогда и только тогда, когда f--ИП A.
Замечание 5.2.4 . Поскольку не существует алгоритма, позволяюще- го определить, является ли заданная формула логически общезначимой, формальная теория исчисление предикатов не является разрешимой.