Основные классы функций алгебры логики.

Рассмотрим пять классов булевых функций, которые называются замечательными классами, так как функции, принадлежащие к этим классам, обладают следующими свойствами: любая булева функция, полученная с помощью операций суперпозиции и подстановки из функций одного класса, обязательно будет принадлежать к тому же классу.

Напомним, что подстановкой называется замена одних аргументов функции другими или изменение порядка записи аргументов; суперпозицией называется подстановка в функцию вместо ее аргументов других функций.

Класс линейных функций от n аргументов (Ln).

В соответствии с теоремой Жегалкина любая булева функция представлена в виде полинома.

Булева функция называется линейной, если она может быть представлена полиномом первой степени, т.е. записана в виде

f(x1 x2 … xn)= α0 Основные классы функций алгебры логики. - student2.ru α1 x1 Основные классы функций алгебры логики. - student2.ru α2 x2 Основные классы функций алгебры логики. - student2.ruОсновные классы функций алгебры логики. - student2.ru αn xn,

где α0, α1, … , αn – коэффициенты, равные 0 или 1.

Число различных линейных функций n переменных равно числу различных наборов вида <α0 α1 … αn > и равно 2n+1.

Пример. n=2. Класс L2 состоит из 8 функций:

f0(xy)=0; f3(xy)=x; f5(xy)=y;

f6(xy)= Основные классы функций алгебры логики. - student2.ru ; f9(xy)=1 Основные классы функций алгебры логики. - student2.ru x Основные классы функций алгебры логики. - student2.ru y;

f10(xy)=1 Основные классы функций алгебры логики. - student2.ru y; f12(xy)=1 Основные классы функций алгебры логики. - student2.ru x; f15(xy)=1.

Отметим, что переключательные функции одного аргумента все линейны:

L1: f0(x)=0, f1(x)=x, f2(x)=1 Основные классы функций алгебры логики. - student2.ru x, f3(x)=1.

Теорема. При суперпозиции линейных функций и при подстановке в эти функции других переменных получаются линейные переключательные функции и только они.

Дано f1(x1 x2 … xn)= α0 Основные классы функций алгебры логики. - student2.ru α1 x1 Основные классы функций алгебры логики. - student2.ruОсновные классы функций алгебры логики. - student2.ru αn xn;

φ1(y1 y2Основные классы функций алгебры логики. - student2.ru )= b10 Основные классы функций алгебры логики. - student2.ru b11 y1 Основные классы функций алгебры логики. - student2.ruОсновные классы функций алгебры логики. - student2.ru Основные классы функций алгебры логики. - student2.ru ;

φ2(y1 y2Основные классы функций алгебры логики. - student2.ru )= b20 Основные классы функций алгебры логики. - student2.ru b21 y1 Основные классы функций алгебры логики. - student2.ruОсновные классы функций алгебры логики. - student2.ru Основные классы функций алгебры логики. - student2.ru ;

. . . . . . . . . . . . . . . . . . . .

φn(y1 y2Основные классы функций алгебры логики. - student2.ru )= bn0 Основные классы функций алгебры логики. - student2.ru bn1 y1 Основные классы функций алгебры логики. - student2.ruОсновные классы функций алгебры логики. - student2.ru Основные классы функций алгебры логики. - student2.ru ,

Подставим φi вместо xi функции f1 , получим выражение f2, в котором постоянные коэффициенты умножаются на линейные функции. Приведя подобные члены, получим представление функции f2 в виде линейного полинома.

Пример. f1(x1 x2 x3)=1 Основные классы функций алгебры логики. - student2.ru x1 Основные классы функций алгебры логики. - student2.ru x2 Основные классы функций алгебры логики. - student2.ru x3;

x11(y1 y2 y3 y4)= y1 Основные классы функций алгебры логики. - student2.ru y3 Основные классы функций алгебры логики. - student2.ru y4;

x22(y1 y2)= 1 Основные классы функций алгебры логики. - student2.ru y1 Основные классы функций алгебры логики. - student2.ru y2;

x33(y1 y2 y3 y4)= 1 Основные классы функций алгебры логики. - student2.ru y1 Основные классы функций алгебры логики. - student2.ru y2 Основные классы функций алгебры логики. - student2.ru y3 Основные классы функций алгебры логики. - student2.ru y4;

f2(y1 y2 y3 y4)= 1 Основные классы функций алгебры логики. - student2.ru φ1(y1 y2 y3 y4) Основные классы функций алгебры логики. - student2.ru φ2(y1 y2) Основные классы функций алгебры логики. - student2.ru φ3(y1 y2 y3 y4)=

=1 Основные классы функций алгебры логики. - student2.ru y1 Основные классы функций алгебры логики. - student2.ru y3 Основные классы функций алгебры логики. - student2.ru y4 Основные классы функций алгебры логики. - student2.ru 1 Основные классы функций алгебры логики. - student2.ru y1 Основные классы функций алгебры логики. - student2.ru y2 Основные классы функций алгебры логики. - student2.ru 1 Основные классы функций алгебры логики. - student2.ru y1 Основные классы функций алгебры логики. - student2.ru y2 Основные классы функций алгебры логики. - student2.ru y3 Основные классы функций алгебры логики. - student2.ru y4=1 Основные классы функций алгебры логики. - student2.ru y1.

При любых подстановках xi функция остается линейной.

Из линейных функций нельзя получить нелинейную, а наоборот можно.

Класс функций, сохраняющих нуль (К0).

Если функция на нулевом наборе аргументов <00…0> равна нулю, то говорят, что функция сохраняет нуль:

f(000…0)=0.

При фиксированном n число таких функций составляет половину всех булевых функций n аргументов, т.е. Основные классы функций алгебры логики. - student2.ru .

Пример. n=2. В класс К0входят следующие функции:

f0(xy), f1(xy) , f2(xy) , f3(xy) , f4(xy) , f5(xy) , f6(xy) , f7(xy).

При суперпозиции переключательных функций, сохраняющих нуль, и при подстановке в эти функции других переменных получаются переключательные функции, сохраняющие нуль и только они.

Пусть имеем

f1(x1 x2 … xn), φ1(y1 y2Основные классы функций алгебры логики. - student2.ru ), …, φn(y1 y2Основные классы функций алгебры логики. - student2.ru ).

Все эти функции сохраняют нуль на нулевом наборе. Подставив вместо xi функции φi, получим новую функцию

f2(y1 y2Основные классы функций алгебры логики. - student2.ru )= f112, …,φn ).

Найдем значение f2 на нулевом наборе:

f2 (00 …0)= f1 (000 …0)=0.

Так как на нулевом наборе все аргументы равны нулю, то любая подстановка этих аргументов не изменит значение функции.

6) Класс функций, сохраняющих единицу 1).

Если булева функция на единичном наборе <111…1> аргументов равна единице, то говорят, что эта функция сохраняет единицу:

f(111…1)=1.

Так как на одном наборе <11..1> значение функции зафиксировано, то остается 2n-1 независимых наборов, т.е. число функций, сохраняющих единицу, равно половине от всех функций n переменных, т.е. Основные классы функций алгебры логики. - student2.ru .

Пример. n=2. Класс К1содержит:

f1(xy), f3(xy) , f5(xy) , f7(xy) , f9(xy) , f11(xy) , f13(xy) , f15(xy).

Теорема. При суперпозиции переключательных функций, сохраняющих 1, и при подстановке в эти функции других переменных получаются функции, сохраняющие 1, и только они.

Наши рекомендации