Получение СКНФ и СДНФ с помощью таблиц истинности



Известно, что для каждой формулы алгебры высказываний можно составить таблицу истинности. А можно ли по заданной таблице истинности найти соответствующую ей формулу? Оказывается, эта задача также всегда разрешима с помощью СДНФ или СКНФ.

Пусть, например, дана таблица истинности некоторой, неизвестной пока формулы 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; просмотров: 345; ЗАКАЗАТЬ РАБОТУ