Простейшими называют функции от двух переменных. В табл.5.3 приведены все функции, существенно зависящие от двух переменных. Для восьми из них введены названия и обозначения в табл. 4.
Таблица. 3
x y
0 0
0 1
1 0
1 1
x y
0 0
0 1
1 0
1 1
Задание. Объясните, почему остальные 6 функций не вошли в таблицу.
Номер
Обозначение.
Название
x&y
конъюнкция
xÅy
сложение по модулю 2
xÚy
дизъюнкция
xy
стрелка Пирса (функция Вебба)
x»y
эквивалентность
y®x
импликация из y в x
x®y
импликация из x в y
x|y
штрих Шеффера
Функция конъюнкция ещё называется функция И или логическое умножение и обозначается х&у=хÙу= х×у= ху
Функцию дизъюнкции ещё называют функцией ИЛИ (логическим сложением).
С помощью простейших можно строить более сложные функции, заменяя переменные функциями. В результате функции сопоставится формула, задающая последовательность выполнения операций. Для определения порядка вычисления функций можно использовать скобки. Например, функция, приведенная в табл. 5.1, может быть описана формулой
f = (x1Å(x2Åx3)).
Свойства простейших функций.
Между операциями над множествами, описанными в главе 1, и некоторыми простейшими функциями можно провести следующую аналогию. Для множества А сопоставим каждому элементу универсального множества функцию а=1, если аÎА, и а=0, если аÏА. Точно также переменную можно связать с любым множеством. Тогда имеет место следующие условия. Для элементов из `Афункция `а=1, для элементов АÇВ–а×b=1, для элементов АÈВ аÚb=1. Значит, свойства операций, рассмотренных в главе 1, будут верны и для простейших функций.
Ниже перечислены свойства простейших функций, в истинности которых просто убедиться элементарной проверкой с помощью перебора.
Коммутативность функций конъюнкции, дизъюнкции, сложения по модулю 2: хÚу=уÚх.
Ассоциативность этих же функций: (хÚу)Úz= хÚ(уÚz)=хÚуÚz.
Свойства констант: х×0=0,х×1=х,хÚ0=х,хÚ1=1,хÅ1=`х,хÅх=0,хÚ`х=1,х×`х=0.
Используя эти свойства, можно преобразовывать формулы, удаляя лишние элементы, раскрывая скобки, вынося элементы за знаки скобок и т.п.
Введём понятие степени булевой переменной. Будем считать, что x1=x, x0=`x.
Из определения следует, что хa=1, если х=a, и хa=0, если х¹a. В справедливости этого можно убедиться простым перебором значений.
Конъюнкция x1a1x22a2...xnnan называется элементарной, если в ней каждая переменная встречается не более одного раза.
Рангом элементарной конъюнкции называется число букв, образующих эту конъюнкцию.
Дизъюнктивной нормальной формой (ДНФ) называется дизъюнкция элементарных конъюнкций.
Длиной ДНФназывается число элементарных конъюнкций, образующих эту ДНФ. Длину ДНФбудем обозначать буквой L.
Дизъюнктивная нормальная форма, имеющая наименьшую длину по сравнению со всеми другими ДНФ, эквивалентными данной функции, называется кратчайшей ДНФ (КДНФ).
Дизъюнктивная нормальная форма, содержащая наименьшее число букв xiai по сравнению со всеми другими ДНФ, эквивалентными данной функции, называется минимальной ДНФ (МДНФ).
Теорема о разложении. Для любой функции f(x1,x2,…,xn,) f(x1,x2,…,xi,…,xn)=Úx1a1× x2a2 … xiai××f(a1,a2,…,ai,xi+1…,xn)
"a1a2…ai
Доказательство. Возьмём произвольный набор значений переменных (b1,b2,…,bn) и подставим его в выражение справа и слева от равенства. Получим
Справа для любого набора значений (a1, a2, …, ai), не равного (b1,b2,…,bi), соответствующая конъюнкция будет равна нулю, так как она в силу условия xa= 0, если x¹a,будет содержать нулевой сомножитель. Останется единственная конъюнкция, где (a1, a2, …, ai)=(b1, b2, …, bi), то естьт.е. получим равенство f(b1,b2,…,bn)= f(b1,b2,…,bn), что и доказывает теорему.
Следствия из теоремы.
2.1. f(x1,x2 …)=x1f(x1=1)Ú`x1×f(x1=0). Это равенство известно как формула разложения К. Шеннона.
Это равенство получается из формулы при i=n, здесь Т1 –множество наборов значений аргументов, на которых функция равна 1. Оно известно как представление функции в виде совершенной дизъюнктивной нормальной формы (СДНФ).
Совершенная дизъюнктивная нормальная форма состоит из элементарных конъюнкций ранга n, то естьт.е. конъюнкций наибольшего возможного для данной функции ранга, поэтому с этой точки зрения СДНФ является наиболее сложной.
Любую функцию можно представить в виде СДНФи это представление единственно, так как оно однозначно сопоставляется таблице истинности функции.
ПримерПример. Рассмотрим Найдём разложение функциюи f=(aÅb)®`ac, найдём её разложение по переменной а: .F=a×f(a=1)) Ú`a×f(a=0) =a×((1Å b)® 0)Ú `a×((0 Å b)® c)=
a×(`b®0)Ú `a(b®c). Здесь мы учли, что (1Åх)=`х, (0 Å х)=х. Если ещё учесть, что (х®0)=`х, что следует из таблицы истинности импликации, то получим окончательную формулу для функции f =a×b Ú`a× (b®c).
Таблица. 5.5
х
у
х®у
ПримерПример. Представим функцию импликации в виде СДНФ, для чего запишем её табличное представление (табл.5.5). Здесь в множестве Т1 три набора 000, 001 и 111, поэтому в СДНФ будет три конъюнкции