- •1.3.6. Экстремальные характеристики отношения
- •3.2.3. Связь между исчислением высказываний и алгеброй
- •3.2.4. Основные результаты исследования исчисления
- •Предисловие
- •1.1. Понятие компьютинга и дискретной математики
- •1.2. Теория множеств
- •1.2.1. Основные понятия теории множеств
- •1.2.2. Способы задания множеств
- •1.2.3. Операции над множествами
- •1.2.4. Свойства операций над множествами
- •1.2.5. Аксиоматика теории множеств
- •1.3. Бинарные отношения и их свойства
- •1.3.1. Декартово произведение и бинарное отношение
- •1.3.2. Функции и операции
- •1.3.3. Способы задания бинарных отношений
- •1.3.4. Свойства бинарных отношений
- •1.3.5. Типы бинарных отношений
- •1.3.7. Отношение толерантности
- •1.3.8. Операции над отношениями
- •Контрольные вопросы и задания
- •2.1. Фундаментальные алгебры
- •2.2. Алгебра высказываний
- •2.3. Формализация логических высказываний
- •2.4. Таблицы истинности сложных высказываний
- •2.5. Равносильности алгебры высказываний
- •2.6. Булевы функции
- •2.7. Формы представления логических функций
- •2.7.1. Дизъюнктивные нормальные формы
- •2.7.2. Конъюнктивные нормальные формы
- •2.8.1. Законы алгебры Буля
- •2.8.2. Упрощение логических функций
- •2.8.3. Метод Квайна – МакКласки
- •2.9.1. Теорема о полноте системы булевых функций
- •2.10. Построение логических схем
- •Контрольные вопросы и задания
- •Глава 3. Формальные теории
- •3.1. Основные свойства формальных теорий
- •3.1.1. Выводимость
- •3.1.2. Интерпретация
- •3.1.3. Разрешимость
- •3.1.4. Общезначимость
- •3.1.5. Непротиворечивость
- •3.1.6. Полнота
- •3.1.7. Независимость
- •3.2. Исчисление высказываний
- •3.2.1. Интерпретация
- •3.2.2. Правило подстановки
- •3.2.3. Связь между исчислением высказываний
- •3.2.5. Другие формализации исчисления высказываний
- •3.3. Исчисление предикатов
- •3.3.2. Кванторные операции над предикатами
- •3.3.3. Формальное определение исчисления предикатов
- •Контрольные вопросы и задания
- •4.1. Прямые доказательства
- •4.1.1. Правило подстановки
- •4.1.2. Правило вывода
- •4.1.3. Дедукция
- •4.1.4. Математическая индукция
- •4.2. Косвенные доказательства
- •4.2.1. Доказательство «от противного»
- •4.2.2. Доказательство через контрпример
- •Контрольные вопросы и задания
- •Глава 5. Основы комбинаторики
- •5.1. Правила суммы и произведения
- •5.2. Перестановки
- •5.3. Размещения и сочетания
- •5.4. Разбиения
- •5.5. Формула включений и исключений
- •5.6. Рекуррентные соотношения
- •5.7. Производящие функции
- •5.8. Числа Стирлинга второго и первого рода
- •Контрольные вопросы и задания
- •Глава 6. Основы теории графов
- •6.1. Основные понятия
- •6.1.1. Классификация графов
- •6.1.2. Способы задания графов
- •6.2. Операции над графами
- •6.2.1. Удаление вершин и ребер
- •6.2.2. Дополнение
- •6.2.3. Объединение графов
- •6.2.4. Сложение графов
- •6.2.5. Произведение графов
- •6.3. Связность в графах
- •6.3.1. Компоненты связности
- •6.3.2. Вершинная и реберная связность
- •6.3.3. Сильная связность в графах
- •6.4. Цикломатика графов
- •6.4.1. Ациклические графы
- •6.4.2. Базисные циклы и цикломатическое число
- •6.4.3. Базисные разрезы и ранг
- •6.4.4. Эйлеровы графы
- •6.4.5. Гамильтоновы графы
- •6.5. Диаметр графа
- •6.5.1. Основные определения
- •6.5.2. Алгоритм нахождения диаметра
- •6.5.3. Поиск диаметра при операциях над графами
- •6.6. Устойчивость графов
- •6.6.1. Внутренняя устойчивость
- •6.6.1. Внешняя устойчивость
- •6.7. Хроматика графов
- •6.7.1. Хроматическое число
- •6.7.3. Двудольное представление графов
- •6.7.4. Хроматический класс
- •6.8. Преобразование графов
- •6.8.1. Реберные графы
- •6.8.2. Изоморфизм графов
- •6.8.3. Гомеоморфизм графов
- •6.8.4. Автоморфизм графов
- •6.9. Планарность
- •6.9.1. Основные определения
- •6.9.2. Критерии непланарности
- •6.10. Построение графов
- •6.10.1. Преобразование прилагательных в числительные
- •6.10.3. Оценка количества ребер сверху и снизу
- •Контрольные вопросы и задания
- •7.1. Введение в теорию нечетких моделей
- •7.1.1. Принятие решений в условиях неопределенности
- •7.1.2. Основы нечетких моделей
- •7.2. Нечеткие множества. Базовые определения
- •7.2.1. Базовые и нечеткие значения переменных
- •7.2.2. Основные определения
- •7.2.3. Типовые функции принадлежности
- •7.3. Операции над нечеткими множествами
- •7.3.1. Операция «дополнение»
- •7.3.2. Операция «пересечение»
- •7.3.3. Операция «объединение»
- •7.3.4. Операция «включение»
- •7.3.5. Операции «равенство» и «разность»
- •7.3.6. Операция «дизъюнктивная сумма»
- •7.3.7. Операции «концентрирование» и «растяжение»
- •7.3.8. Операция «отрицание»
- •7.3.9. Операция «контрастная интенсивность»
- •7.3.10. Операция «увеличение нечеткости»
- •7.4. Обобщенные нечеткие операторы
- •7.4.1. Треугольные нормы
- •7.4.2. Треугольные конормы
- •7.4.3. Декомпозиция нечетких множеств
- •7.5. Индекс нечеткости
- •7.5.1. Оценка нечеткости через энтропию
- •7.5.2. Метрический подход к оценке нечеткости
- •7.5.3. Аксиоматический подход
- •7.6. Нечеткие бинарные отношения
- •7.6.1. Нечеткие бинарные отношения
- •7.6.2. Свойства нечетких бинарных отношений
- •7.6.3. Операции над нечеткими отношениями
- •7.7. Нечеткие числа
- •7.8. Приближенные рассуждения
- •7.8.1. Нечеткая лингвистическая логика
- •7.8.2. Композиционное правило вывода
- •7.8.3. Правило modus ponens
- •Контрольные вопросы и задания
- •Список литературы
2.2. Алгебра высказываний
Математическая логика – это наука о методах рассуждений, при которых мы отвлекаемся от содержания рассуждений, а используем только их форму и значение.
Основным понятием математической логики является «простое высказывание».
Простое высказывание – это некоторое повествовательное предложение, которое может быть либо истинно, либо ложно, но не то и не другое одновременно. Простое высказывание обозначается маленькими латинскими буквами.
Высказывания, которые получаются из простых с помощью грамматических связок «и», «или», «не», «тогда и только тогда», «либо…, либо…», «если…, то…» называются составными, или
формулами алгебры высказываний. Формулы алгебры высказыва-
ний обозначаются большими латинскими буквами.
Формула А, всегда истинная, называется тождественно ис-
тинной формулой, или тавтологией, А=1.
Формула В, всегда ложная, называется тождественно ложной формулой, или противоречием, В=0.
Рассматривая высказывания, мы абстрагируемся от их смысла, нас интересует их истинность или ложность. Мы пишем а=1, если а – истинно, и а=0, если а – ложно.
Значение истинности для каждой логической операции в зависимости от истинности её операндов описывается таблицей истинности.
Таблица истинности представляет собой таблицу, устанавливающую соответствие между возможными значениями наборов переменных и значениями операции [2].
Таблицы истинности логических операций позволяют определить значение, которые они принимают при различных значениях переменных, сравнивать операции между собой, определять, удовлетворяют ли операции заданным свойствам.
Рассмотрим основные операции над высказываниями:
•дизъюнкция V;
•конъюнкция &;
46
•отрицание a;
•импликация →;
•эквивалентность ;
•сложение Жегалкина .
Дизъюнкция a b. Читается эта запись «а дизъюнкция b». Дизъюнкция ложна тогда и только тогда, когда ложны оба опе-
ранда. Соответствует союзу «ИЛИ». Таблица истинности у дизъюнкции следующая:
a |
b |
a b |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Эта операция соответствует высказывательной функции логического сложения, которая обозначается как а + b.
Конъюнкция a&b. Запись читается «a конъюнкция b». Конъюнкция двух сомножителей истинна тогда и только тогда, когда истинны оба сомножителя. Соответствует союзу «И». Таблица истинности у конъюнкции:
a |
b |
a&b |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Эта операция соответствует высказывательной функции логического умножения, которое обозначается как a & b.
Отрицание a . Запись читается «не a». Отрицание лжи есть истина, отрицание истины есть ложь. Соответствует частице «НЕ». Таблица истинности у отрицания:
a а
01
10
47
Импликация a→ b. Запись a → b читается как «a импликация b» или «из a следует b». Для функции импликации из лжи следует все, что угодно, а из истины только истина. Таблица истинности импликации:
a |
b |
a → b |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
Запись a→ b соответствует «если a, то b», «а является достаточным условием для b». Запись a ← b соответствует «если b, то a», «a является необходимым условием для b».
Сложение Жегалкина a b. Запись читается как «a сложение по модулю два b». Операция истинна тогда и только тогда, когда значения переменных различны. Таблица истинности у сложения по Жегалкину:
a |
b |
a b |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
Запись a b соответствует выражению «a либо b», «либо a, либо b», «или a, или b».
Эквивалентность a b. Запись читается, как «a эквивалентно b». Операция истинна тогда и только тогда, когда значения переменных совпадают. Таблица истинности для операции эквивалентности:
a |
b |
a b |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Запись a b соответствует выражению «a тогда и только тогда, когда b».
48
2.3. Формализация логических высказываний
При работе с высказываниями мы отвлекаемся от их смысла, нас интересует только их истинность или ложность. Каждое высказывание – это повествовательное утверждение естественного языка. Несмотря на то, что естественный язык гораздо богаче высказываний алгебры логики, в табл. 2.5 приведем один из способов формализации сложных высказываний, т.е. построения формул алгебры логики.
Рассмотрим примеры построения формул, при условии что а – «погода ясная», b – «погода дождливая».
|
|
|
|
Таблица 2.5 |
Формализация сложных высказываний |
|
|||
|
|
|
|
|
Союзы и частицы |
Операции |
|
Примеры |
|
естественного |
алгебры |
|
|
|
языка |
высказываний |
|
|
|
«a» и «b» |
a & b |
Погода ясная и дождливая |
||
«a» или «b» |
a b |
Ясная или дождливая погода |
||
не «a» |
а |
Неверно, что погода ясная |
||
|
|
(погода пасмурная) |
|
|
«a» достаточное |
a → b |
Ясная погода является доста- |
||
условие для «b» |
|
точным |
условием |
дождливой |
|
|
погоды |
|
|
если «a», то «b» |
a → b |
Если погода ясная, то будет |
||
|
|
дождь |
|
|
«a» необходимое |
b → a |
Ясная погода является необхо- |
||
условие для «b» |
|
димым |
условием |
дождливой |
|
|
погоды |
|
|
«a» тогда и только |
a b |
Ясная погода бывает тогда и |
||
тогда, когда «b» |
|
только тогда, когда идет дождь |
||
«a» либо «b» |
a b |
Погода будет ясной либо дожд- |
||
|
|
ливой |
|
|
или «a», или «b», |
a b |
Или сегодня погода будет яс- |
||
но не оба |
|
ной, или дождливой, но не яс- |
||
|
|
ной с дождем |
|
49
При формализации высказываний естественного языка можно использовать следующий подход. Пусть дано логическое высказывание (составное). Алгоритм формализации:
1)выделить из составного высказывания простые высказывания и обозначить их латинскими буквами;
2)построить дерево синтаксического разбора, в котором каждой вершине соответствует логическая связка (операция), а концевым вершинам – простые высказывания;
3)записать логическую формулу путем обхода дерева с учетом структуры дерева и старшинства логических операций.
Задача 2.1. Формализовать логическое высказывание: «Неверно, что идет дождь либо ветрено и холодно».
Решение. На первом шаге выделяем простые высказывания и заменяем их буквами: идет дождь – А, ветрено – В, холодно – С.
На первом этапе строим дерево, выбрав корневую вершину. В нашем случае корневой вершиной будет являться грамматическая
|
|
связка «неверно» (рис. 2.3). |
|
НЕВЕРНО |
На втором этапе построения дерева |
||
требуется понять, сколько и какие буквы |
|||
|
|
||
|
|
и/или грамматические связки будут на- |
|
ЛИБО |
|
ходиться на следующем уровне. В на- |
|
|
шем случае будет только одна грамма- |
||
|
|
||
A |
И |
тическая связка – «либо». |
|
Важно заметить, что если вершиной |
|||
B |
C |
(любой, не обязательно корневой) явля- |
|
ется отрицание («неверно»), то из неё |
|||
|
|
может выходить только она ветвь. |
Рис. 2.3 |
Далее, на третьем этапе требуется вы- |
|
брать вершину, по которой будем продолжать построение дерева. В нашем случае она одна, поэтому мы повторяем второй этап и переходим к следующему уровню дерева.
На четвертом этапе выбираем простое высказывание (букву) – А и одну грамматическую связку – «и».
Возвращаемся к третьему этапу и выбираем вершину – «и». Возвращаемся ко второму этапу, выбираем простые высказыва-
ния (буквы) В и С. Дерево построено. На рис. 2.3 представлено дерево для высказывания: «Неверно, А либо B и C».
50
Важно запомнить два правила:
1)всегда требуется двигаться по дереву сверху вниз и слева направо;
2)дерево никогда не может заканчиваться вершинами с грамматическими связками (операциями).
Заменим грамматические связки операциями над высказываниями (рис. 2.4).
На основании построенного дерева
мы можем записать наше логическое высказывание: «Неверно, что идет дождь либо ветрено и холодно» на язы-
ке формальной логики: |
A |
И |
А В & С. |
||
Рассмотрим на следующем примере, |
B |
C |
как с помощью деревьев можно перейти |
||
от логического высказывания к фор- |
|
|
мальному: «Сегодня ветрено и идет |
Рис. 2.4 |
|
дождь».
Пусть: А – сегодня ветрено, B – идет дождь. После чего получаем: А&В. На рис. 2.5 представлен переход от логического высказывания к формальному.
И |
& |
A B A B
Рис.2.5
На рис. 2.6 представлена схема для формализации логических высказываний.
51
Рис. 2.6
52