- •Введение
- •1. Элементы теории множеств
- •1.1. Основные понятия и определения теории множеств
- •1.2. Операции над множествами и их свойства. Диаграммы Эйлера-Венна
- •1.3. Мощность множества
- •1.4. Взаимно однозначное соответствие между множествами
- •1.5. Счетные и несчетные множества
- •Задачи и упражнения
- •2. Элементы теории отношений
- •2.1. Бинарные отношения. Свойства отношений
- •2.2. Отношение эквивалентности и разбиения
- •2.3. Отношения порядка. Диаграмма Хассе
- •Задачи и упражнения
- •3.Функции, отображения и операции
- •4. Элементы теории графов
- •4.1. Основные понятия и определения теории графов
- •4.2. Типы графов
- •4.3. Матричные представления графов
- •4.5. Операции над графами
- •4.6. Метрические характеристики графа. Расстояние в графах
- •Затем, изымая степень, соответствующую вершине , получим
- •4.8. Достижимость и связность
- •4.8.1. Основные определения
- •4.8.2. Матрицы достижимостей
- •4.8.3. Нахождение сильных компонент
- •Алгоритм нахождения сильных компонент графа можно описать следующей последовательностью шагов
- •Таким образом, сильные компоненты графа можно находить по следующему алгоритму.
- •4.8.4. Базы и антибазы
- •4.9. Независимые и доминирующие множества
- •4.9.1. Нахождение всех максимальных независимых множеств
- •Опишем алгоритм нахождения всех максимальных независимых множеств вершин графа.
- •4.10. Покрытия и раскраски
- •4.11. Деревья, остовы и кодеревья
- •4.11.1. Основные определения
- •4.11.2. Алгоритм построения остова неорграфа
- •4.11.4. Обходы графа по глубине и ширине
- •Доказательство.
- •4.11.5. Упорядоченные и бинарные деревья
- •4.12. Эйлеровы циклы. Гамильтонов контур
- •4.12.1. Метод Флёри построения эйлерова цикла
- •Матрица м данного графа имеет вид
- •4.12.3. Алгебраический метод выделения гамильтоновых путей и контуров
- •4.13. Плоские и планарные графы
- •4.13.1. Формула Эйлера
- •4.13.2. Критерии анализа планарности
- •4.13.3. Алгоритм укладки графа на плоскости
- •Задачи и упражнения
- •5. Комбинаторика
- •5.1. Перестановки
- •5.2. Перестановки с неограниченными повторениями
- •5.3. Размещения
- •5.4. Сочетания
- •5.5. Сочетания с повторениями
- •5.6. Производящие функции для сочетаний
- •5.7. Производящие функции для перестановок
- •5.8. Циклы перестановок
- •Общее число дубликатов
- •5.9. Принцип включений и исключений
- •Почему появился ?
- •Задачи и упражнения
- •6. Алгебра высказываний
- •6.1. Операции над высказываниями
- •6.2. Правила записи сложных формул
- •6.3. Таблицы истинности
- •6.4. Равносильность формул
- •6.5. Дизъюнктивные и конъюнктивные нормальные формы
- •6.5.1. Алгоритм приведения пф к нормальным формам
- •6.5.2. Аналитический способ приведения к сднф
- •6.5.3. Табличный способ приведения к сднф
- •6.5.4. Табличный способ приведения к скнф
- •6.6. Логическое следствие
- •Задачи и упражнения
- •7. Разрешимые и неразрешимые проблемы
- •Заключение
- •Библиографический список
- •394026 Воронеж, Московский просп., 14
6.2. Правила записи сложных формул
При записи сложных высказываний следует обращать внимание, чтобы в формулах не было двух рядом стоящих логичеcких связок – они должны быть разъединены формулами либо вспомогательными символами и не было двух рядом стоящих формул – они должны быть разъединены логической связкой.
При записи сложных формул следует помнить, что
1) каждое вхождение логической связки относится к пропозициональной переменной или формуле, следующей непосредственно за логической связкой справа;
2) каждое вхождение логической связки после расстановки скобок связывает пропозициональные переменные или формулы, непосредственно окружающие логическую связку;
3) каждое вхождение логической связки после расстановки скобок связывает пропозициональные переменные или формулы, непосредственно окружающие эту связку и т.д.
При использовании этих правил к одной и той же формуле скобки следует расставлять постепенно, продвигаясь слева направо.
Логические связки по силе и значимости могут быть упорядочены так: , , , , . То есть самой сильной связкой является отрицание, затем конъюнкция, дизъюнкция, импликация и, наконец, эквиваленция. Зная правила о силе логических связок, можно опускать те пары скобок, без которых ясен порядок выполнения логических операций.
Пример. Пусть дана формула
F=(((X1( ))X3)X4).
Необходимо удалить скобки.
1) убрать внешние скобки для формулы, так как они не определяют старшинство никаких операций:
F=((X1( ))X3)X4;
2) убрать скобки, охватывающие формулу импликации, так как операция эквиваленции будет выполняться только после выполнения операции импликации:
F=(X1( ))X3X4;
3) убрать скобки, охватывающие формулу дизъюнкции, так как операция импликации будет выполняться только после выполнения операции дизъюнкции:
F=X1( )X3X4;
4) убрать скобки, охватывающие формулу отрицания, так как операция дизъюнкции будет выполняться только после выполнения операции отрицания:
F=X1 X3X4;
Итак, последовательность выполнения операций после задания значений пропозициональных переменных следующая: сначала необходимо определить значение формулы ( ), затем (X1( )) затем ((X1( ))X3) и, наконец,
(((X1( ))X3)X4).
Пример. Дана формула F=X1X2X3 X3X1. Необходимо расставить все скобки.
1) поставить скобки на формулу, реализующую операцию отрицания:
X1X2X3( )X3X1;
2) поставить скобки на формулу, реализующую операцию конъюнкции:
F=((X1X2) X3)( )X3X1;
3) поставить скобки на формулу, реализующую операцию дизъюнкции:
F=(((X1X2) X3)( ))X3X1;
4) поставить скобки на формулу, реализующую операцию импликации:
F=((((X1X2) X3)( ))X3)X1;
5) поставить скобки на формулу, реализующую операцию эквиваленции:
F=(((((X1X2X3)( ))X3)X1).
6.3. Таблицы истинности
Каждая пропозициональная переменная принимает значения 0 или 1, тогда ПФ в соответствии с определением логических операций также принимает значения 0 или 1, поэтому ее можно рассматривать как функцию, область значений и область определения которой совпадают и равны {0,1}. Такую функцию будем называть двоичной, булевой функцией или переключательной функцией.
Каждой ПФ, а значит и булевой функции, можно поставить в соответствие таблицу, называемую таблицей истинности, в которой перечислены все возможные значения входящих в нее переменных и значения ПФ или булевой функции на этих наборах. Каждый такой набор можно рассматривать как запись некоторого n-разрядного двоичного числа, при этом наибольшее двоичное число получим, составив набор из одних 1, а наименьшее – из одних 0. Таким образом, наибольшему числу соответствует десятичное число – 1, а наименьшему – 0; всем остальным возможным наборам числа, заключенные между 0 и –1. Это соответствие способствует упорядочению наборов аргументов булевой функции, которые заносятся в таблицу в порядке возрастания. Если функция зависит от n переменных, то таблица истинности содержит наборов значений переменных.
С помощью таблицы истинности определяются все логические операции над высказываниями:
X |
Y |
|
|
|
|
|
|
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
Пример. Рассуждение «если инвестиции на текущий год не изменятся (A), то возрастет расходная часть бюджета (B) или возникнет безработица (C), а если возрастет расходная часть бюджета, то налоги не будут снижены (D) и, наконец, если налоги не будут снижены и инвестиции не изменятся, то безработица не возникнет».
В этом рассуждении есть четыре повествовательных предложения, которые следует заменить пропозициональными переменными и формально описать суждение. Тогда формула сложного рассуждения имеет вид:
F =(A(BC)) (BD) ((DA) ).
Для различных значений истинности пропозициональных переменных и подформул, построенных на логических связках, можно последовательно определить значение истинности формулы F. Ниже представлена таблица истинности для этого рассуждения.
A |
B |
C |
D |
C |
41 |
23 |
17 |
24 |
65 |
89 |
1110 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
Для удобства записи любой подформулы и формулы каждый столбец пронумерован и логические операции выполняются с индексами столбцов.
ПФ называется тождественно истинной, общезначимой или тавтологией, если она принимает значение 1 на всех наборах значений переменных. Для обозначения того, что ПФ F есть тавтология используют запись ├ F.
ПФ называется тождественно ложной или противоречием, если она принимает значение 0 на всех наборах значений переменных.
ПФ называется выполнимой или опровержимой, если на некоторых наборах значений переменных она принимает значение 1, а на остальных – 0.
Тип ПФ можно определить с помощью таблицы истинности.
Пример. Определить тип ПФ . Для определения типа ПФ составим таблицу истинности
X |
Y |
|
|
|
|
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
Как видно из таблицы истинности, данная ПФ является тождественно ложной, так как принимает значение 0 на всех наборах переменных.