Конституенты нуля. Совершенные конъюнктивные и шефферовы нормальные формы
Как отмечалось, при помощи СДНФ и СВНФ наиболее просто выражаются функции, у которых в векторе истинности преобладают нули. Если в векторе истинности больше единиц, то используют аналогичные совершенные конъюнктивные и шефферовы формы, в которых в качестве внутренних функций входят конституенты нуля.
Определение. Пусть на наборе`a n =(a1, ... ,an ) булева функция f (х n)принимает значение 0. Дизъюнктивной конституентой нуля функции f назовем дизъюнкцию вида
D = х1Øa1Ú ... Ú хn Øan ,
где хi Øa i = `хi при a i =1 и хi Øai = хi при a i =0(1£ i £ n).
Аналогично шефферовой конституентой нуля функции f назовем подстановку вида S =| (х1 a1 , ... , хnan).
Как дизъюнктивная, так и шефферова конституенты нуля, соответствующие набору`a n , принимают значение 0 только на нем. На всех остальных наборах они равны 1.
Пример 3. Построить все дизъюнктивные и шефферовы конституенты нуля функции, заданной таблицей истинности.
x | y | z | F | Д 1 | Д 2 | Д 3 |
Решение. Функция принимает значение 0 на наборах (0, 1, 0), (0, 1, 1), (1, 0, 1). На наборе (0, 1, 0) дизъюнктивная конституента нуляД1= хÚуÚz, на наборе(0, 1, 1)Д2=хÚуÚz , на наборе(1, 0, 1)Д3 =`хÚуÚz . В таблице дополнительно указаны векторы истинности конституент Д1 — Д3. Каждая из них выделяет ровно один из нулей в векторе истинности исходной функции.
Шефферовы конституенты получаем из Д1 — Д3, инвертируя внутренние переменные в них и заменяя дизъюнкцию функцией Шеффера. В итоге получим: S1 =| (х, у,`z); S2 =|(х, у, z); S3 =| (х,`у, z). Поскольку преобразование эквивалентное, векторы истинности S1— S3совпадают с векторами для Д1 — Д3.
Определение. Совершенной конъюнктивной нормальной формой (СКНФ) булевой функции f (х n) называют выражение вида:
f = D1& ... & Dр,
где D1, ... , Dр — дизъюнктивные конституенты нуля функции.
Совершенной шефферовой нормальной формой (СШНФ) булевой функции f ( х n)называют выражение вида:
f = Ø|( S1, ... , Sр ) ,
где S1, ... , Sр — шефферовы конституенты нуля функции f (`х n).
СКНФ, как и все КНФ, являются функциями в базисном наборе {Ø, &, Ú}. СШНФ можно наряду с основным представлением задать в однофункциональном базисном наборе {|}.
Пример 4. Построить СКНФ и СШНФ (для каждого из базисных наборов {Ø, |} и {| }) функции f = (11001011)из Примера 3.
Решение.
1. Дизъюнктивные конституенты нуляД1 — Д3найдены в Примере 3. СКНФ получаем, логически умножая их:
f = (х Ú`у Ú z) & (х Ú `у Ú`z) & (х Ú у Ú`z).
2. Шефферовы конституенты S1— S3также были найдены в Примере 3. СШНФ в базисном наборе {Ø, |}получаем, подставляя S1— S3в функцию Шеффера с последующим её инвертированием:
f =Ø| (| (x, y, z),| (x, y, z),|(x,`y, z)) .
СШНФ в базисном наборе {|}имеет вид:
f =|[|(|((x,х), y, (z,z)), | ((x,x), y, z), | ( x,( y,y), z )), |(| ((x,х), y, (z,z)), | ((x,x), y, z), | (x,( y,y), z))] .
Искомые формы построены.
СКНФ и СШНФ существуют только для функций, не равных тождественной единице. В случае, когда вектор истинности функции имеет только один нуль, ее СКНФ и СШНФ являются вырожденными.
Рассмотренные выше ДНФ, КНФ, ВНФ и ШНФ допускают неединственное представление функций. Совершенные формы являются их частными случаями.
Полиномы Жегалкина
Помимо представлений с помощью базисных наборов, состоящих из пороговых функций, при решении практических задач необходимо также использовать формулы стандартного вида на основе наборов, содержащих наряду с пороговыми и симметричные функции. Такими формулами являются полиномы Жегалкина.
Определение. Произведением над множеством переменных Х=(х1, ... , хn ) называют выражение вида:
P = хi1& . . . & хis,
где (хi1, ... , хis )Í Х .
Определение. Полиномом Жегалкина булевой функции f(хn)называют выражение вида :
f =a0 Åa1P1Å ... Åa k Pk,
где (P1, ..., Pk) – все возможные произведения над множеством переменных Х=(х1, ... , хn), a 0 , a1, ... ,a k - булевы константы (0 или 1), знак Åозначает сумму по модулю 2.
Произведения, входящие в полином с нулевыми коэффициентами, обычно просто опускают.
Полиномы Жегалкина задают разложение функций в базисном наборе {0, 1, &, Å}. Функция &—пороговая, функции (0, 1, Å) - симметричные. В виде полинома Жегалкина может быть представлена любая булева функция. Рассмотрим первый метод определения полинома по таблице истинности функции.
Дата добавления: 2020-10-14; просмотров: 652;