Получение СКНФ и СДНФ с помощью таблиц истинности
Известно, что для каждой формулы алгебры высказываний можно составить таблицу истинности. А можно ли по заданной таблице истинности найти соответствующую ей формулу? Оказывается, эта задача также всегда разрешима с помощью СДНФ или СКНФ.
Пусть, например, дана таблица истинности некоторой, неизвестной пока формулы F, содержащей переменные x, y, z:
x | y | z | F(x,y,z) |
1 | 1 | 1 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
Выделим строки, в которых значение формулы равно 1. Это строки 1, 4 и 8. Для каждой из выделенных строк составим конъюнкцию переменных или их отрицаний так, чтобы наборам значений переменных в выделенных строках соответствовали истинные конъюнкции. Для этого переменные, под которыми в соответствующей строке стоит 0, взять со знаком отрицания, а переменные над 1 – без отрицания.
В результате получим конъюнкции:
Для 1 строки: ; для 4 строки: ; и для 8 строки: .
Дизъюнкция этих конъюнкций и есть искомая формула:
.
Тот факт, что полученная формула действительно соответствует данной таблице истинности, легко проверить. Действительно: если формула F истинна, то и дизъюнкция истинна, так как истинна одна из составляющих ее конъюнкций. Если формула F ложна, то ложна и дизъюнкция, так как ложна каждая из составляющих ее конъюнкций.
|
|
Подобным образом можно составить формулу для всякой таблицы истинности, в последнем столбце которой есть хотя бы одна единица. Очевидно, что одну и ту же таблицу истинности имеет множество равносильных формул.
Формула, которая получается в результате применения описанного способа, является совершенной дизъюнктивной формой данной формулы и всех формул с теми же переменными, ей равносильных.
Так как для любой формулы можно составить таблицу истинности, и притом, единственную, то всякая формула, не являющаяся тождественно ложной, имеет СДНФ и притом единственную.
Формулу, соответствующую данной таблице истинности, можно составить и другим способом, а именно:
1) выделить те строки в таблице истинности, в которых искомая формула принимает значение 0;
2) для каждой из выделенных строк составить дизъюнкцию переменных или их отрицаний так, чтобы каждая переменная вошла в дизъюнкцию только один раз (со знаком отрицания или без него) и чтобы наборам значений переменных, записанным в этих строках, соответствовали ложные дизъюнкции;
3) составить из полученных дизъюнкций конъюнкцию.
В результате для данной таблицы получится формула:
, которая является совершенной конъюнктивной нормальной формой данной формулы и всех равносильных ей формул.
|
|
Каждая формула, не являющаяся тавтологией, имеет СКНФ и притом единственную.
Таким образом, все множества равносильных формул с одними и теми же переменными, не являющимися тавтологиями или противоречиями, имеют по два «представителя» стандартного вида: СКНФ и СДНФ.
Множества тавтологий и противоречий имеют по одному «представителю» стандартного вида – соответственно СДНФ и СКНФ.
Вопросы для контроля:
1. Равносильные предложения. Равносильные формулы.
2. Свойства отношения равносильности.
3. Равносильные преобразования.
4. Упрощение формул.
5. Применение равносильных преобразований.
6. Принцип двойственности.
7. Конъюнктивная и дизъюнктивная нормальная форма.
8. Совершенная дизъюнктивная нормальная форма, ее характерные признаки.
9. Совершенная конъюнктивная нормальная форма, ее характерные признаки.
10. Приведение к СДНФ или СКНФ с помощью равносильных преобразований.
11. Получение СДНФ и СКНФ по таблице истинности произвольной формулы.
12. Единственность СДНФ и СКНФ для формул алгебры высказываний.
Дата добавления: 2018-02-28; просмотров: 1861; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!