
- •Предисловие
- •Введение
- •Раздел I основания математики Глава 1. Элементы теории множеств
- •1.1. Понятие множества
- •1.2. Операции над множествами
- •1.3. Аксиомы и теоремы алгебры множеств
- •Глава 2. Числа
- •2.1. Системы счисления
- •2.2. Классы чисел
- •2.3. Элементы статистической обработки данных
- •2.4. Алгоритмы решения вычислительных задач
- •Глава 3. Элементы математической логики
- •3.1. Понятие высказывания
- •3.2. Операции над высказываниями
- •2.3. Аксиомы и теоремы алгебры логики
- •Раздел II основы математического анализа Глава 4. Функции
- •4.1. Понятие функции
- •4.2. Аппроксимация функций
- •4.3. Предел функции
- •Глава 5. Основы дифференциального исчисления
- •5.1. Производная функции
- •5.2. Свойства дифференцируемых функций
- •5.3. Дифференциал функции
- •Глава 6. Основы интегрального исчисления
- •6.1. Определенный интеграл
- •6.2. Машинные алгоритмы вычисления определенных интегралов
- •Раздел III основы теории вероятностей Глава 7. Понятие вероятности
- •7.1. Элементы комбинаторики
- •7.2. Случайные события
- •7.3. Классическое определение вероятности
- •7.4. Теорема умножения вероятностей
- •7.5. Основные формулы теории вероятностей
- •Глава 8. Случайные величины
- •8.1. Понятие случайной величины
- •8.2. Законы распределения случайных величин
- •8.3. Числовые характеристики случайных величин
- •8.4. Канонические распределения случайных величин
- •8.5. Энтропия и информация
- •Раздел IV. Основные способы и методы защиты информации Глава 9. Основы криптографической защиты информации
- •9.1. Принципы и основные понятия криптографической защиты информации
- •9.2. Основные понятия и определения
- •Глава 10. Методы криптографической защиты информации
- •10.1. Методы перестановки
- •10.2. Метод гаммирования
- •Ответы к задачам
- •Раздел I.
- •Глава 1. Элементы теории множеств
- •Глава 2. Числа
- •Глава 3. Элементы математической логики
- •Раздел II. Основы математического анализа
- •Глава 4. Функции
- •Глава 5. Основы дифференциального исчисления
- •Глава 6. Основы интегрального исчисления
- •Раздел III. Основы теории вероятностей
- •Глава 7. Понятие вероятности
- •Глава 8. Случайные величины
- •Глава 9. Основы криптографической защиты информации
- •Глава 10. Методы криптографической защиты информации
- •Приложение тесты
- •Тест 1. Элементы теории множеств
- •Тест 4. Функции
- •Тест 5. Основы дифференциального исчисления
- •Определенный интеграл
- •Тест 7. Понятие вероятностй
- •Тест 8. Случайные величины
- •Тест 10. Методы криптографической защиты информации
- •Литература
- •Сведения об авторах
- •Королёв Владимир Тимофеевич, Ловцов Дмитрий Анатольевич,
- •Математика и информатика Часть первая
Глава 3. Элементы математической логики
3.1. Понятие высказывания
Математическая логика – это теория верных рассуждений. При этом абсолютно безразлично, к какой области эти рассуждения относятся. Цепочка рассуждений, относящихся к той или иной области, описывается на языке математической (формальной) логики, а затем проверяется их верность или ошибочность. Такая универсальность законов математической логики обусловила ее широкое применение, как в технических, так и в гуманитарных науках. Она составляет теоретический фундамент построения и функционирования компьютеров, ее методы активно используются в экономике, медицине, психологии, языкознании и др.
Основное понятие математической логики – высказывание (утверждение). Это понятие средствами математической логики не определяется. Основной признак высказывания: оно может быть или истинным, или ложным. При этом высказывание не может быть и истинным, и ложным одновременно. Говорят, что истина или ложь – возможные значения каждого из высказываний. Для примера приведем такие высказывания из разных областей:
Математика – это круто!
H2O – формула этилового спирта.
Если новый уголовный закон смягчает наказание за деяние, которое отбывается лицом, то это наказание подлежит сокращению в пределах, предусмотренных новым уголовным законом (УК РФ, ст. 10, ч. 2).
Не являются высказываниями фразы типа: «Любовь есть предисловие к разлуке» (И. Бродский), «Зри в корень!» (Козьма Прутков), «Разрешите выйти?» (студент первого курса). Про каждую из них нельзя сказать, истинна она или ложна.
Очевидно, что существуют высказывания простые и сложные. Сложное высказывание можно разложить на простые. Из приведенных выше высказываний первые два – простые, а в третьем можно выделить такие простые высказывания:
новый уголовный закон смягчает наказание за деяние, которое отбывается лицом,
наказание подлежит сокращению в пределах, предусмотренных новым уголовным законом.
Простым называют такое высказывание, никакая часть которого высказыванием уже не является.
Начало науки о законах и формах мышления – логики связывают с именем Аристотеля (IV в. до н.э.). В XVII в. Г. Лейбниц (юрист, напомним) ввел в логику математическую символику и использовал ее для общих логических построений, то есть положил начало формализации логики. В XIX в. Дж. Буль последовательно реализовал идеи Г. Лейбница, первым исследовал алгебраические свойства высказываний, тем самым заложил основы математической логики. Поэтому математическую логику нередко называют булевой алгеброй или алгеброй логики.
3.2. Операции над высказываниями
Простые высказывания в булевой алгебре называют логическими переменными. Мы их будем обозначать как xm1, xm2,, x0. Логическая переменная может принимать одно из двух значений: или истина, или ложь. Удобно значение истина обозначить символом 1, а значение ложь – символом 0. В булевой алгебре над логическими переменными выполняют логические операции. Результат любой логической операции – сложное высказывание. Это сложное высказывание обозначим как Y.
Каждая логическая операция задается своей таблицей, которая называется таблицей истинности (табл. 3.1). Входами таблицы являются наборы значений всех логических переменных – операндов данной логической операции xm1, xm2,, x0 в каждой строке таблицы, а выходом – результат этой логической операции Y.
|
Таблица 3.1 |
||||
|
xm1 |
|
x1 |
x0 |
Y |
0 |
0 |
|
0 |
0 |
1 |
1 |
0 |
|
0 |
1 |
0 |
2 |
0 |
|
1 |
0 |
0 |
3 |
0 |
|
1 |
1 |
1 |
|
|
|
|
|
|
k |
1 |
|
1 |
0 |
1 |
|
|
|
|
|
|
2m2 |
1 |
|
1 |
0 |
|
2m1 |
1 |
|
1 |
1 |
0 |
Пронумеруем
строки таблицы
.
Тогда двоичная m-разрядная
запись номера строки совпадает с набором
нулей и единиц в этой строке.
Рассмотрим основные логические операции.
Таблица 3.2 |
|
x |
Y |
0 |
1 |
1 |
0 |
Операцию отрицания записывают так:
Yx,
которое читается так: Y есть НЕ x. Поэтому отрицание называют еще и операцией НЕ.
Пример. Пусть x – утверждение:
«Математика юристам необходима».
Тогда инверсией x этого высказывания будет фраза:
«Неправда, что математика юристам необходима».
Конъюнкция. Конъюнкция – многоместная операция. Для двух логических переменных x1 и x0 она задается табл.3.3. Как видим,
конъюнкция истинна, когда все ее аргументы истинны,
конъюнкция ложна, когда хотя бы один из ее аргументов ложен.
Таблица 3.3 |
||
x1 |
x0 |
Y |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Yx1x0.
Результат конъюнкции совпадает с результатом умножения чисел 1 и 0. Поэтому ее называют еще и логическим умножением.
Пример. Пусть x1 – утверждение:
«Двенадцать делится на три»,
а x0 – высказывание:
«Двенадцать делится на четыре».
Их конъюнкцией x1x0 будет высказывание:
«Двенадцать делится на три и на четыре».
Конъюнкция n переменных записывается так:
Yxn-1xn-2x0.
Дизъюнкция. Дизъюнкция – тоже многоместная операция. Для двух логических переменных x1 и x0 она задается табл.3.4. Как видим,
дизъюнкция ложна, когда все ее аргументы ложны,
дизъюнкция истинна, когда хотя бы один из ее аргументов истинен.
Таблица 3.4 |
||
x1 |
x0 |
Y |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Yx1x0.
Результат дизъюнкции в табл.3.4, исключая последнюю строку, совпадает с результатом сложения чисел 0 и 1. Поэтому ее называют еще логическим сложением.
Пример. Пусть x1 – недобросовестный конкурент причинил убытки другому хозяйствующему субъекту, x0 – он нанес ущерб его деловой репутации. Тогда x1x0 – это или действие x1, или действие x0, или и то и другое вместе (и все они регулируются ст. 4 Закона о защите конкуренции).
Дизъюнкция n переменных записывается так:
Yxn-1xn-2x0.
Результатом любой из рассмотренных логических операций может быть или 0, или 1. Значит, результат одной логической операции может выступать операндом в другой. Так можно составить суперпозиции логических операций (формулы алгебры логики ФАЛ) и из простых высказываний составлять сложные. При этом следует руководствоваться правилом о приоритетах логических операций. Эти приоритеты убывают в таком порядке: НЕ, И, ИЛИ, а требуемый порядок вычислений, нарушающий правило о приоритетах, задают скобками. Правило о приоритетах логических операций позволяет сложную ФАЛ представить цепочкой простых формул.
Пример.
Y((x1x0)(x1x0)).
Px1x0, Qx1x0, RPQ, YR.
Теперь легко составить таблицу истинности для Y (табл.3.5).
Таблица 3.5 |
||||||
x1 |
x0 |
x0 |
x1 |
P |
R |
Y |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
Любую другую логическую операцию можно представить суперпозицией этих операций. Приведем еще две логические операции, которые имеют самостоятельное значение в алгебре высказываний. И каждую из них представим суперпозицией операций из функционально полной системы (выразим в терминах функционально полной системы операций).
Импликация. Импликация – двуместная операция. Она задается табл.3.6, а записывается как
Yx1x0.
Правая часть этой записи читается так: если x1, то x0. В импликации переменная x1 называется посылкой, а x0 – заключением. Из табл.3.6 видно, что
импликация ложна, когда посылка истинна, а заключение ложно, на остальных наборах импликация истинна.
Таблица 3.6 |
|
Таблица 3.7 |
|||||
x1 |
x0 |
Y |
|
x1 |
x0 |
x1 |
x1x0 |
0 |
0 |
1 |
|
0 |
0 |
1 |
1 |
0 |
1 |
1 |
|
0 |
1 |
1 |
1 |
1 |
0 |
0 |
|
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
1 |
1 |
0 |
1 |
Пример,
«Если два угла вертикальны, то они равны».
Здесь x1 – два угла вертикальны, x0 – они равны. Верности теоремы отвечает последняя строка табл. 3.6. Утверждение «Если два угла вертикальны, то они не равны» – ложно, а это – третья
строка табл. 3.6. Каждое из утверждений «Если два угла не вертикальны, то они равны» (строка вторая табл. 3.6) и «Если два угла не вертикальны, то они не равны» (первая строка табл. 3.6) может быть истинными или ложными. Но в импликации подобные утверждения однозначно определены как истинные.
В юридических документах форму импликаций имеют правовые предписания.
Пример. «Если договор поднайма жилого помещения, предоставленного по договору социального найма, заключен без указания срока, сторона договора – инициатор прекращения договора обязана предупредить другую сторону о прекращении договора поднайма за три месяца» (ЖК РФ, ст. 79, ч.6).
Запишем импликацию в терминах функционально полной системы операций:
x1x0x1x0.
В верности этого равенства убедимся, если построим таблицу истинности для правой его части (табл. 3.7) и сравним ее выход с выходом табл. 3.6 для левой части. При построении табл. 3.7 мы использовали табл. 3.2 и табл.3.4.
Равнозначность. Равнозначность – многоместная операция. Для двух переменных она задается табл. 3.8. Как видим,
равнозначность истинна, когда все ее аргументы принимают одинаковые значения:
или все одновременно ложны,
или все одновременно истинны,
равнозначность ложна, когда значение хотя бы одного из аргументов отлично от значений других.
Обозначают равнозначность символом :
Y(x1x0).
Правая часть этой записи читается так:
x1 тогда и только тогда, когда x0.
Любое равенство, если его рассматривать как одно высказывание, является равнозначностью. Например, Y(225) .
Равнозначность n переменных записывается следующим образом:
Y(xn-1xn-2x0).
Синонимы для равнозначности:
x1 в том, и только в том случае, когда x0;
x1 есть необходимое и достаточное условие для x0;
x0 есть необходимое и достаточное условие для x1.
если x1, то x0, И если x0, то x1;
Последний из синонимов равнозначности позволяет выразить ее еще и так:
(x1x0)(x1x0)(x0x1).
Читателю предлагается проверить верность этой формулы самостоятельно.
В терминах функционально полной системы операций равнозначность двух переменных записывается так:
(x1x0)x1x0x1x0.
Таблица 3.8 |
|
|
Таблица 3.9 |
||||||||
x1 |
x0 |
Y |
|
|
x1 |
x0 |
A |
B |
C |
D |
F |
0 |
0 |
1 |
|
|
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
|
|
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
|
|
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
|
1 |
1 |
0 |
0 |
0 |
1 |
1 |
Ax1, Bx0, CAB, Dx1x0, FCD.
Составим таблицу истинности для высказываний A, B, C, D и F (табл. 3.9), сравним ее выход с выходом табл. 3.8 и убедимся в верности представления равнозначности в терминах функционально полной системы операций алгебры логики.
Пример. В совершении преступления подозреваются И, П и С, которые дали такие показания:
И: Виновен П, а С – нет.
П: Если виновен И, то виновен и С (они всегда действуют сообща).
С: Я невиновен, но виновен хотя бы один из них.
Требуется а) установить виновного,
б) проверить, следуют ли показания одного подозреваемого из показаний другого.
Обозначим простые высказывания о виновности подозреваемых: x2 – виновен И, x1 – виновен П, x0 – виновен С. Тогда показания подозреваемых средствами алгебры логики запишутся так:
ПИx1x0, ППx2x0, ПСx0(x2x1),
а проверяемые импликации – так:
АПИПП, БПППИ, ВПППС,
ГПСПП, ДПИПС, ЕПСПИ.
Составим таблицу истинности (табл. 3.10), в которой вспомогательные выражения – суть Нx0, Дx2x1.
Таблица 3.10 |
||||||||||||||
|
Виновен |
Вспом. |
Показания |
Импликации |
||||||||||
|
x2 |
x1 |
x0 |
Н |
Д |
ПИ |
ПП |
ПС |
А |
Б |
В |
Г |
Д |
Е |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
2 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
3 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
5 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
6 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
7 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
а) Однозначный ответ получим, если предположить, что все подозреваемые говорят правду, и виноват П, а И, С – невиновны (строка 2 табл. 3.10).
Если же П говорит правду и невиновен, а И, С лгут (строки 0, 1, 3, 4 и 5), то виновны либо С, либо И, либо только С.
Последняя строка (все виновны): П говорит правду, а остальные снова лжесвидетельствуют.
б) Только одна импликация ПИПС истинна при любых значениях ее посылки и заключения. Значит, показания подозреваемого И следуют из показаний П.
Такой анализ показаний подозреваемых позволяет спланировать дальнейшие следственные действия.
Анализ правовых норм средствами алгебры логики позволяет обнаружить и устранить в них неоднозначности, неясности, возможности произвольного толкования.
Пример. Возьмем такое высказывание:
«Уголовной ответственности подлежит лицо, достигшее ко времени совершения преступления шестнадцатилетнего возраста» (УК РФ, ст. 20, ч. 1).
Буквальное прочтение этого утверждения позволяет привлечь к уголовной ответственности любого из очевидцев и даже жертву преступления. По смыслу данное высказывание – суть импликация, у которой заключение (лицо подлежит уголовной ответственности) предшествует посылке (лицо достигло ко времени совершения преступления шестнадцатилетнего возраста). А в посылке нет основополагающего утверждения: лицо совершило преступление. Нужно было бы сначала сформулировать данную норму в соответствии с требованиями синтаксиса импликации в математической логике:
Если лицо совершило преступление и ко времени его совершения оно достигло шестнадцатилетнего возраста, то это лицо подлежит уголовной ответственности.
И только после этого можно было бы изложить его так:
Уголовной ответственности подлежит лицо, совершившее преступление и достигшее ко времени его совершения шестнадцатилетнего возраста.
До сих пор мы имели дело со сложными высказываниями, в которых можно было выделить два-три простых утверждения. На практике приходится оперировать с более сложными высказываниями.
Пример. Приведем такое сложное высказывание (Y):
«Преступление признается совершенным с прямым умыслом, если лицо осознавало общественную опасность своих действий (бездействия), предвидело возможность или неизбежность наступления общественно опасных последствий и желало их наступления» (УК РФ, ст. 25, ч. 2).
Простые высказывания в нем:
преступление признается совершенным с прямым умыслом (x0),
лицо осознавало общественную опасность своих действий (бездействия) (x1),
лицо предвидело возможность наступления общественно опасных последствий своих действий (x2),
лицо предвидело неизбежность наступления общественно опасных последствий своих действий (x3),
лицо желало их наступления (x4).
Эти простые высказывания (булевы переменные) связаны таким набором логических операций:
Y(x1(x2x3)x4)x0 .
Как видим, в этой формуле пять логических переменных, таблица истинности для нее будет иметь 2532 строки, и анализировать ее будет непросто. Правда, строить полную таблицу истинности для функции большого числа переменных необязательно. Можно узнать значение для Y в той или иной строке номер k, подставив в формулу значения аргументов в этой строке. Например, рассматриваемая импликация должна быть верной, когда верны ее посылка и заключение. Отметим, что в выражении для посылки дизъюнкция x2x3 (лицо предвидело возможность или неизбежность…) является квалификационным признаком для преступления с прямым умыслом, и она должна быть истинной. Поэтому проверяем значение импликации в строках с номерами 311413121110 (все единицы), 271413021110 и 231403121110:
Y(31)(11(1213)14)10111 ,
Y(27)(11(0213)14)10111 ,
Y(23)(11(1203)14)10111 .
А при истинной посылке и ложном заключении импликация должна быть ложной. Предложим читателю убедиться в том, что на наборах с номерами 30, 22 и 26 она и в самом деле ложна.
Исследовать ФАЛ с помощью таблиц их истинности неудобно. Необходимы средства непосредственного анализа высказываний по формулам. Основу таких средств составляет математический аппарат алгебры логики, а именно ее аксиомы и теоремы.