Тема 11. Канонические формы логических формул.

Тема 11. Канонические формы логических формул.

Цель: ввести понятие булевых функций, научить восстанавливать аналитическое выражение для булевых функций по их таблице истинности.

Каноническая форма- форма, построенная по какому либо правилу, закону-канону.

Логической (булевой) функцией называют функцию F(х1,х2,х3,..Хn), аргументы которой и сама функция принимают значения 0 или 1.
Логические функции могут быть заданы табличным способом или аналитическим – в виде соответствующих формул.

Элементарная конъюнкция-конъюнкция конечного множества логических переменных и их инверсий.
Элементарная дизъюнкция- дизъюнкция конечного множества логических переменных и их инверсий. 

Число аргументов, образующих элементарную конъюнкцию или дизъюнкцию, называют ее рангом.
Пример1.
X&Y&Z, X&Y&Z  - элементарные конъюнкции третьего ранга.

Дизъюнктивная нормальная форма (ДНФ)-– содержит элементарные конъюнкции, связанные между собой операцией дизъюнкции.

Конъюнктивная нормальная форма (КНФ)- содержит элементарные дизъюнкции, связанные между собой операцией конъюнкции.

    Одну и ту же логическую функцию можно представить разными ДНФ и КНФ.

Совершенная дизъюнктивная нормальная форма (СДНФ) отвечает следующим требованиям:
1) в ней нет двух одинаковых элементарных конъюнкций;
2) ни одна элементарная конъюнкция не содержит двух одинаковых переменных;
3) ни одна элементарная конъюнкция не содержит переменной вместе с ее инверсией
4) все конъюнкции имеют один и тот же набор переменных.

Совершенная конъюнктивная нормальная форма (СКНФ) отвечает следующим требованиям:
1) в ней нет двух одинаковых элементарных дизъюнкций
2) ни одна элементарная дизъюнкция не содержит двух одинаковых переменных
3) ни одна элементарная дизъюнкция не содержит переменной вместе с ее инверсией
4) все дизъюнкции имеют один и тот же набор переменных.

Пример 2
X1&X2 v X1&X2   - СДНФ –X1 X2+X1 X2
X1v X2&X3- не СДНФ
X1&X2 v X2& X2 – не СДНФ
(X1 v X2 ) & (X1 v X2)- СКНФ
(X1 v X1) & (X2 v X3) –не СКНФ

Теорема 1. Пусть F(х1,х2,х3,..Хn)-булева функция  от n переменных, не равная тождественно нулю. Тогда существует СДНФ, выражающая функцию F.
Теорема 2. Пусть F(х1,х2,х3,..Хn)-булева функция  от n переменных, не равная тождественно единице. Тогда существует СКНФ, выражающая функцию F.

 СДНФ и СКНФ можно получить по таблице истинности логической функции.

Алгоритм построения СДНФ по таблице истинности

1) выделить в таблице все наборы переменных, на которых функция принимает единичные значения.
2) Для каждого  выбранного набора  записать  конъюнкцию всех переменных следующим образом: если значение некоторой переменной в этом наборе равно 1, то в конъюнкцию включаем саму переменную, в противном случае – ее отрицание.
3) все полученные элементарные конъюнкции соединить знаком дизъюнкции.
Алгоритм построения СКНФ по таблице истинности
1) выделить в таблице все наборы переменных, на которых функция принимает нулевые значения.
2) Для каждого  выбранного набора  записать  дизъюнкцию всех переменных следующим образом: если значение некоторой переменной в этом наборе равно 0, то в дизъюнкцию включаем саму переменную, в противном случае – ее отрицание.
3) все полученные элементарные дизъюнкции соединить знаком конъюнкции.

Пример 3 Пусть функция F(x1,x2,x3) задана таблицей истинности. Используя описанный алгоритм построим для нее СДНФ.
X1    X2    X3    F
0    0    0    0
0    0    1    0
0    1    0    1
0    1    1    0
1    0    0    1
1    0    1    1
1    1    0    0
1    1    1    0
 Ответ:  (x1 & x2 & x3) v ( x1 & x2 & x3) v  (x1&x2&x3)
Задания: 1.По заданным таблицам истинности дайте аналитическое представление 
1)    импликации
2)    эквивалентности
3)    строгой дизъюнкции
2. По таблице истинности записать СДНФ и СКНФ для F1 и F2.

x    y    z    F1    F2
0    0    0    0    0
0    0    1    0    1
0    1    0    1    0
0    1    1    1    1
1    0    0    0    0
1    0    1    1    0
1    1    0    0    1
1    1    1    1    1

Категория: