Формула (булева функция) имеет минимальную ДНФ, если она содержит наименьшее количество литералов среди всех ДНФ, эквивалентных ей.
Пример:
ДНФ -
содержит 4 литерала, но она не является минимальной. Преобразуем ее (
)
=1*
=
. Получили один литерал.
Рассмотрим алгоритм Квайна Мак-Клоски:
Пусть функция задана СДНФ и ,
- два элементарных произведения, входящих в СДНФ. Пусть х - литерал, такой, что
=xk и
=
k. Тогда
= хk
k = (x
)k = k. Мы получили элементарное произведение, содержащее на один литерал меньше.
Такая операция называется склейкой.
Пример:
Ф=pqr р
r
q
r. Произведем склейку 1й и 2й, а так же 3й и 4й элементарных произведений.
Ф= pr(q
)
(q
)
r
pr
r.
Решение логических задач.
В ряде задач приводится несколько высказываний относительно некоторого события, и имеются некоторые сведения об их ложности или истинности. Требуется определить какое из событий имело место. Такие задачи называются логическими.
Задача:
В конкурсе участвовало 4 девушки: Оля, Нина, Марина и Тамара.
На вопрос о том, как распределились между ними места, были получены ответы:
Оля 1 - Нина-2,
Оля-2 - Тамара-3,
Марина-2 - Тамара-4.
Известно, что хотя бы одна высказывание в каждом ответе истинно. Как распределились места?
Решение:
Введем обозначения:
О
Н
; О
Т
; М
Т
.
Тогда КНФ: (О
Н
) (О
Т
) (М
Т
)
1, т.к. Каждое из элементарных сумм истинно.
Преобразуем в ДНФ, раскрывая скобки:
(О
Н
) (О
М
О
Т
Т
М
Т
Т
)
(т.к. О2 М 2 =0 и Т3Т4=0) (О
Н
) (О
Т
Т
М
)
(раскрываем скобки)
О
О
Т
О
Т
М
Н
О
Т
Н
Т
М
О
Т
М
.
Получили О Т
М
1.
Следовательно: Оля-1,Марина-2, Тамара-3, Нина-4.
Анализ рассуждений.
Рассуждение - это вывод, позволяющий из данных высказываний (называемых посылками) получить новое высказывание (заключение).
Рассуждение состоит из последовательности посылок и заключения, то есть на основании известных свойств некоторых посылок мы получаем новое свойство этого объекта - заключение.
Рассуждение считается правильным, если из истинных посылок не может следовать ложного заключения.
Так как каждая посылка- это высказывание, то оно может быть записано в виде формулы. Следовательно, рассуждение – это последовательность формул. Заключение тоже является формулой. Если ,
,…,
-это последовательность посылок. а
- заключение, то будем писать
,
,…,
├
, или
. (1)
И будем говорить, что из посылок логически следует заключение.
Нас будет интересовать только форма рассуждения, а не конкретное содержимое каждого высказывания, и на основании анализа формы мы будем делать вывод о том, правильное или неправильное рассматриваемое рассуждение. Если рассуждение признается правильным, то все рассуждения, приведенные по этой формуле, правильны, независимо от того, к какой предметной области они относятся.
Теорема.Рассуждение (1) правильно тогда и только тогда, когда формула
…
– тавтология. (2)
Доказательство:
Достаточность:
Если (2) -это тавтология, то конъюнкция посылок не может быть равно 0, значит =1, следовательно, рассуждение правильно.
Необходимость:
Если (1) правильно, то из истинности посылок не может следовать ложного заключения
. Это означает, что (2) не может обратиться в 0. Следовательно, (2) – тавтология.
Что и требовалось доказать.
Пример 1: пусть имеется рассуждение
1. Если многоугольник правильный, то в него можно вписать окружность.
2. Данный многоугольник правильный.
3. Следовательно, в него можно вписать окружность.
Введем обозначения:
р - многоугольник правильный.
q - в многоугольник можно вписать окружность.
Посылки: , р. Заключение – q.
Рассуждение принимает вид: , р ├ q.
Формула, соответствующая этому рассуждению:
()
.
Установим вид этой формулы. Сняв импликацию, получим:
(по законам де Моргана)
(снимая двойное отрицание)
(по второму закону дистрибутивности)
. Это КНФ. Каждая элементарная сумма содержит высказывание со своим отрицанием, значит формула – тавтология.
Следовательно, рассуждение правильное.
Рассуждения, построенные по формуле ()
, будут правильными. Эта формула является тавтологией и называется правилом заключения (ПЗ).
()
(ПЗ).
Пример 2: пусть имеется рассуждение
1. Если многоугольник правильный, то в него можно вписать окружность.
2. В многоугольник нельзя вписать окружность.
3. Следовательно, он неправильный.
Используя обозначения предыдущего примера, получим формулу, соответствующую этому рассуждению: ()
.
Аналогично предыдущему установим, что эта формула - тавтология, значит рассуждение правильное.
Данная формула называется правилом отрицания (ПО).
()
(ПО).
Пример 3: пусть имеется рассуждение
Если многоугольник правильный, то в него можно вписать окружность, следовательно, если в многоугольник нельзя вписать окружность, то он неправильный.
Рассуждение ├
- правильное
Доказательство:
Соответствующая формула
()
(
)
(
)
р
q
(р
q
)(q
)
1, значит рассуждение правильное.
Данная формула называется правилом контрапозиции (ПК).
()
(
) (ПК).
Пример 4: пусть имеется рассуждение
Если в треугольнике все стороны равны, то он равносторонний.
Если треугольник равносторонний, то углы равны 60 , следовательно, если в треугольнике стороны равны, то углы по 60
.
Введем обозначения:
р - в треугольнике стороны равны.
q – треугольник равносторонний.
r – углы равны 60 .
Рассуждение , q
r ├ р
r.
Соответствующая формула:
()(q
r)
(р
r)
1 - рассуждение правильное.
Данная формула называется правилом силлогизма (ПС).
()(q
r)
(р
r) (ПС).
Замечание. Полученные формулы называются правилами вывода.
Правило вывода иногда записывают в виде: .
ПЗ: , ПО:
, ПК:
,
ПС: .
Другие правила вывода:
· - введение дизъюнкции (ВД).
Доказательство. р (р
q)
р
q
1.
· - удаление конъюнкции (УК).
Доказательство. рq р
р
р
1.
· - введение конъюнкции. (ВК)
Доказательство. рq рq
1
· удаление дизъюнкции (УД).
Доказательство.
Существуют и другие правила вывода
Замечание:
Так как правила вывода являются тавтологиями, то подстановка вместо элементарного высказывания любой формулы даст нам тавтологию, каждая из которых может быть объявлена правилом вывода.
Вывод.
Вывод- это последовательность формул, каждая из которых является посылкой или получена из предыдущих формул на основе правил вывода. Последняя формула есть заключение.
Пример: пусть имеется рассуждение
1. Если прямая не имеет общих точек с плоскостью, то она параллельна этой плоскости.
2. Если прямая имеет две общих точки с плоскостью, то она принадлежит этой плоскости.
3. Прямая не параллельна плоскости и не принадлежит ей, следовательно, она имеет одну общую точку и пересекает плоскость.
Введем обозначения:
х – прямая не имеет общих точек с плоскостью.
у – прямая параллельна плоскости.
z – прямая имеет две общих точки с плоскостью.
u – прямая принадлежит плоскости.
Рассуждение имеет вид: х у, z
u,
├
.
Построим вывод.
1) - посылка.
2) - УК (из 1);
3) - УК (из 1);
4) х у – посылка;
5) - ПО (из 4 и 2);
6) z u – посылка;
7) - ПО (из 6 и 3);
8)
- ВК (из 5 и 7).
Теорема дедукции.
Теорема. Пусть дано ,
,…,
├
(1), где
- посылки.
Тогда ,
,…,
├
(2).
Доказательство:
Так как рассуждение (1) правильное, то из истинности посылок не может следовать ложного заключения. Предположим, что рассуждение (2) неправильное. Тогда из истинности посылок ,
,…,
следует ложное заключение, то есть
0. Но
1, значит
0. Но тогда рассуждение (1) неверно. А этого не может быть, Мы получили противоречие, значит предположение о неверности рассуждения (2) неверно.
Что и требовалось доказать.
Пример 1:
Рассмотрим ПО: р q,
├
По теореме дедукции р
├
; (ПК).
Пример 2
Рассмотрим рассуждение. рr q ├ р
.
По теореме дедукции: рr q, р
├
. Построим вывод:
1) р - посылка;
2) р – УК (1);
3) - УК (1);
4) р r q – посылка;
5) - ПО (4,3), т.е.
;
6) - УД (5,2).
Формула называется правилом расширенной контрапозиции (ПРК).
Предикаты.
При анализе рассуждений в логике высказываний нас не интересовала внутренняя структура самих высказываний. И это обстоятельство не позволяет анализировать большое количество рассуждений.
Например:
Через две данных точки проходит единственная прямая.
Точка лежит между двумя точками.
х>5.
Эти предложения не являются высказываниями, но становятся таковыми, если предметным переменным, входящим в эти предложения, задать конкретны значения. Так в последнем примере при х = 3 получим ложное высказывание, а при х = 8 истинное высказывание. Значения предметных переменных берутся из некоторого предметного множества А (точек, углов, прямых, чисел, ромбов и т.д.).
Введем понятие предиката.
Под предикатом предметной переменной х А будем понимать функцию Р(х) на {0,1}. Предикат р (х) называется одноместным предикатом
Например:
Предикат х > 5, x R: при х = 4 предикат обращается в ложное высказывание. При х = 7 предикат обращается в истинное высказывание.
Функция Р (х, у), где х, у А, принимающая значения во множестве {0,1} называется двухместным предикатом.
Например: х<у
Пусть У = 5, получим х < 5 – одноместный предикат. Если положить х = 4, то 4 < 5 – нульместные предикаты (высказывания).
Местность предиката - количество предметных переменных. Задание конкретного значения предметным переменным понижает местность предиката. Одноместные предикаты выражают свойство быть чем-то.
Например:
Свойство быть точкой. х – точка. Введем обозначение этого предиката: Т (х). Тогда Т (А) читается как А-точка.
Двухместные предикаты и предикаты более высокой местности выражают отношения между объектами.
Например: Двухместный предикат принадлежности – х у.
Если х – точка, а у – прямая, то читаем: точка х принадлежит прямой у.
Выбор предикатного символа остается за пользователем. Так, вместо х у можно ввести предикат Р (х, у), оговорив, что Р (,) – это предикат принадлежности (запятая в скобках свидетельствует о том, что предикат двухместный). Разумеется, что нельзя использовать одно и тоже обозначение для разных предикатов. Широко используются известные из математики обозначения предикатов ≈, ≠, ≡, ≤, ≥, ┴, ║, = Область истинности.
Пусть на множестве U задан предикат Р (х). Задавая х различные значения, мы будем получать высказывания, часть из которых истинна, а часть возможно ложна. Множество М (х) значений х, при которых предикат Р - истина, называется областью истинности.