Полные системы булевых функций
Система булевых функций F={f1, f2, … , fn, …} называется полной, если любая булева функция может быть выражена через функции этой системы (представить в виде суперпозиции функций из функций F. Все логические операции могут быть выражены через операции конъюнкции, дизъюнкции и отрицания, то есть класс Ф= { Рассмотрим два случая. 1) Пусть f тождественно не равна 0. Тогда для нее существует СДНФ, в которой для представления функции по определению используются только 2) Пусть f тождественно равна 0. Тогда для нее существует СКНФ, в которой для представления функции по определению используются только Также полными являются следующие системы функций: а) { Полнота систем { Полнота системы { Полином Жегалкина Всякая булева функция может быть представлена в виде полинома Жегалкина: где
Рассмотрим два способа построения полинома. 1. Алгоритм построения полинома Жегалкина с использованием таблицы истинности. 1. Построить таблицу истинности данной булевой функции. 2. Каждому единичному значению булевой функции будет соответствовать конъюнкция 3. Заменить выражения 2. Метод неопределенных коэффициентов для построения ПЖ. Рассмотрим этот способ на примере. Общий вид ПЖ для функции от 2-х переменных: f(x1, x2)= c1x1x2 + c2x1 + c3x2 + c4. Общий вид ПЖ для функции от 3-х переменных: f(x1, x2, x3)= c1x1x2x3+ c2x1x2 + c3 x1x3 + c4x2x3 + c5x1 + c6x2 + c7x3 + c8. Суть метода заключается в нахождении коэффициентов ci в приведенных формулах общего вида. Для этого по таблице истинности заданной функции определяется значение функции на заданном наборе значений переменных x1, x2, x3.,Подставляя эти значения переменных и функции в разложение общего вида, определяют значение коэффициентов. После чего найденные значения коэффициентов подставляются в формулу разложения общего вида. Пусть требуется найти полином Жегалкина для функции f(x1, x2)= x1Ú x2. Построим таблицу истинности для заданной функции:
Имеем по таблице f(0,0)=0. Подставим значения переменных (0,0) в формулы разложения. Получим: f(0, 0)= c100 + c20 + c30 + c4. Приравнивая полученные выражения (так как они представляют одну и туже функцию), получаем f(0, 0)= c100 + c20 + c30 + 0=0Þ c4=0. Рассуждая аналогичным образом, получаем: f(0,1)=c101 + c20 + c31 + 0=1Þ c3=1; f(1,0)=c110 + c21 + c30 + 0=1Þ c2=1; f(1,1)=c111 + c21 + c31 + 0=1Þ c1=1. Подставим найденные значения коэффициентов в разложение функции, получим: f(x1, x2)= 1x1x2 +1x1 + 1x2 +0=x1x2 +x1 + x2, - полином Жегалкина для заданной функции.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|