
- •Конспект лекций по дисциплине «основы дискретной математики»
- •Лекция № 1. Дискретное и непрерывное
- •Введение
- •Счетные и несчетные числовые множества
- •Лекция № 2. Системы счисления
- •Позиционные и непозиционные системы
- •Десятичная система
- •Двоичная система
- •Код Грея
- •Троичная система счисления
- •Восьмеричная и шестнадцатеричная системы счисления
- •Лекция № 3. Фракталы
- •3.1. Канторово множество
- •3.2. Ковер Серпинского и снежинка Коха
- •3.3. Стохастические фракталы
- •3.4. Энтропийная размерность
- •3.5. Фрактал Мандельброта
- •Лекция № 4. Основы математической логики
- •Виды доказательства
- •Логические высказывания, связки и операции
- •Набор истинностных значений 0001 в первой строке таблицы соответствует результатам операций:
- •Переменные и формулы в исчислении высказываний
- •Булевы функции
- •Основные эквивалентности:
- •Предикаты
- •Семантика исчисления предикатов
- •X(человек(X) смертный(X)),
- •Правило резолюции
- •Лекция № 5. Множества и подмножества
- •Задание множеств
- •Парадокс Рассела
- •Сравнение множеств
- •Операции над множествами
- •Свойства операций над множествами
- •Проблема континуума
- •Лекция № 6. Математическая индукция
- •Сумма нечетных чисел
- •Сумма натуральных чисел
- •Снова считаем подмножества
- •Биномиальные коэффициенты
- •Треугольник Паскаля
- •Бином Ньютона для дробных и отрицательных показателей
- •Гамма-функция
- •Лекция № 7. Комбинаторика
- •Введение
- •Размещения без повторений
- •Сочетания без повторений
- •Размещения с повторением
- •Сочетания с повторением
- •Формула Стирлинга
- •Подстановки
- •Лекция № 8. Числа фибоначчи и простые числа
- •Задача Фибоначчи
- •Сумма чисел Фибоначчи
- •Формула для чисел Фибоначчи
- •Простые числа
- •Лекция № 9. Кодирование
- •Введение
- •Алфавитное кодирование
- •Разделимые схемы
- •Помехоустойчивое кодирование
- •Лекция № 10. Шифрование
- •Введение
- •Модулярная арифметика
- •Шифрование с открытым ключом
X(человек(X) смертный(X)),
человек(сократ).
Поскольку Х в выражении стоит под знаком квантора всеобщности, его можно заменить любым значением из области определения Х, и при этом утверждение будет сохранять истинное значение согласно правилу универсального инстанцирования. Заменив в выражении Х на «сократ», получим следующее утверждение
человек(сократ) смертный(сократ).
Применив правило модус поненс, приходим к выводу: смертный(сократ).
Правило резолюции
Правило резолюции
(лат. resolutio
– решение ): если
выражения
P
A
C
и Q
B
C
являются
истинными, то выражение
A
В
тоже истинно.
Формально можем записать:
.
Предложения P A C и Q B C называются резольвируемыми (или родительскими), предложение A В – резольвентой, а формулы С и С – контрарными литералами.
Правило резолюции является более общим правилом логического вывода по сравнению с рассмотренными ранее. Модус поненс и многие другие правила вывода являются частными случаями правила резолюции.
Для доказательства справедливости правила резолюции рассмотрим табл. 4.6.
Таблица 4.6
№ |
A |
B |
C |
P A C |
Q B C |
|
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
3 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
5 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
6 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
7 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Как можно видеть, значения функций и совпадают в выделенных серым цветом строках. Этого вполне достаточно для того, чтобы правило резолюции являлось справедливым.
Принцип резолюции описывает способ обнаружения противоречий в базе данных дизъюнктивных выражений. В его основе лежит идея «доказательства от противного». Процесс доказательства состоит из следующих этапов.
Исходные аксиомы приводятся к дизъюнктивной форме.
К набору аксиом добавляется отрицание доказываемого утверждения в дизъюнктивной форме.
Выполняется совместное разрешение этих дизъюнктов, в результате чего получаются новые основанные на них дизъюнктивные выражения.
Генерируется пустое выражение, означающее противоречие.
Подстановки, использованные для получения пустого выражения, свидетельствуют о том, что отрицание отрицания – истинно.
Пример 4.9. Докажем, что утверждение «Мухтар смертен» следует из утверждений «Мухтар – собака», «Собаки – это животные» и «Все животные смертны». Преобразовывая эти аксиомы в предикатную форму и применяя правило модус поненс, получим следующее.
Собаки – это животные: Х(собака(Х) животное(Х)).
Мухтар – собака: собака(мухтар).
На основе модус поненс и подстановки (мухтар/Х) получим: животное(мухтар).
Все животные смертны: Y(животное(Y) умрет(Y)).
На основе модус поненс и подстановки (мухтар/Y) получим: умрет(мухтар).
По принципу резолюции эти предикаты необходимо преобразовать в дизъюнктивную форму.
Предикатная форма |
Дизъюнктивная форма |
Х(собака(Х) животное(Х)) |
собака(Х) животное(Х) |
собака(мухтар) |
собака(мухтар) |
Y(животное(Y) умрет(Y)) |
животное(Y) умрет(Y) |
Полученную базу данных можно записать в виде конъюнктивной нормальной формы (КНФ) – т.е. в виде конъюнкции дизъюнктов.
( собака(Х) животное(Х)) ( животное(Y) умрет(Y)) (собака(мухтар)).
К этому выражению с помощью конъюнкцию следует добавить отрицание целевого выражения, в данном случае умрет(мухтар). Выполняя резолюцию, получим новые дизъюнктивные выражения, представленные на рис. 4.2.
Рис. 4.2. Доказательство утверждения «Мухтар смертен» методом резолюции
Пустой квадрат в нижней части рисунка означает противоречие. При использовании принципа резолюции возможны три случая.
Среди текущего множества предложений нет резольвируемых. Это означает, что теорема опровергнута.
В результате очередного применения правила резолюции получено пустое предложение. Это означает, что теорема доказана.
Процесс не заканчивается, то есть множество предложений пополняется все новыми резольвентами, среди которых нет пустых. Это ничего не означает.