logo
DM_shpory

56. Булева алгебра логики. Сднф и днф. Карта Карно. Функциональные схемы как приложение булевых функций.

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

Пример

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

Пример

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

Пример

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

Пример

Любую функцию кроме констант 0 и 1 можно представить в виде как СДНФ, так и СКНФ.

СКНФ и СДНФ строятся по таблице истинности функции.

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

  1. отметить в таблице строки, где функция равна 1

  2. выписать для каждой отмеченной строки конъюнкцию всех переменных следующим образом: если значение переменной равно 1, то в конъюнкцию входит сама переменная, если равно 0, то в конъюнкцию входит отрицание.

  3. все полученные конъюнкции объединить дизъюнкцией.

Алгоритм получения СКНФ по таблице истинности функции:

  1. отметить в таблице строки, где функция равна 1

  2. выписать для каждой отмеченной строки дизъюнкцию всех переменных следующим образом: если значение переменной равно 0, то в дизъюнкцию входит сама переменная, если равно 1, то в дизъюнкцию входит отрицание.

  3. все полученные конъюнкции объединить конъюнкцией.

Большое значение имеет минимизация ДНФ.

ДНФ называется минимальной, если она содержит наименьшее общее число вхождений переменных по сравнению со всеми равносильными ей ДНФ. Получение минимальной ДНФ из СДНФ путём тождественных преобразований.

Пример получения СДНФ и СКНФ по таблице истинности:

x

y

F

0

0

0

0

1

1

1

0

1

1

1

0

1.СДНФ

функция равна единице во второй и третей строке

составляем конъюнкцию второй строки

составляем конъюнкцию третей строки

объединим полученное дизъюнкцией +

получаем СДНФ = +

2.СКНФ

функция равна нулю в первой и последней строке

составляем дизъюнкцию второй строки

составляем дизъюнкцию второй строки

объединим полученное конъюнкцией ( )( )

получаем СКНФ = ( )( )

Функциональная схема

Конъюнктор (И) Дизъюнктор (ИЛИ) Инвертор (НЕ)

Карта Карно

Пример:

pq

r

1

1

1