Полные системы булевых функций
Система булевых функций F={f1, f2, … , fn, …} называется полной, если любая булева функция может быть выражена через функции этой системы (представить в виде суперпозиции функций из функций F. Все логические операции могут быть выражены через операции конъюнкции, дизъюнкции и отрицания, то есть класс Ф= { , , Ú} является функционально полным докажем это утверждение. Рассмотрим два случая. 1) Пусть f тождественно не равна 0. Тогда для нее существует СДНФ, в которой для представления функции по определению используются только , , Ú. Следовательно, произвольная функция представима в заданном базисе. 2) Пусть f тождественно равна 0. Тогда для нее существует СКНФ, в которой для представления функции по определению используются только , , Ú. Следовательно, произвольная функция представима в заданном базисе. Также полными являются следующие системы функций: а) { , Ú}; б) { , Ù}; в) { , → }. Полнота систем { , Ú} и { , Ù} следует из полноты системы { , , Ú}, а также законов де Моргана и двойного отрицания, следствием которых является возможность выразить конъюнкцию через дизъюнкцию и наоборот. Поэтому система { , Ù, Ú} может быть сокращена на одну функцию. Полнота системы { , → } следует из полноты системы { , Ú} и равносильности 12, позволяющую выразить импликацию через отрицание и дизъюнкцию. Полином Жегалкина Всякая булева функция может быть представлена в виде полинома Жегалкина: где , где знак + обозначает двоичное сложение (сумму по модулю 2). Таблица истинности двоичного сложения имеет вид:
Рассмотрим два способа построения полинома. 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 Все права принадлежат авторам размещенных материалов.
|