Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций схемотехника 2012.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
15.97 Mб
Скачать

Алгоритм построения.

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

  1. записать функцию в виде суммы по mod 2 минтермов, равных единице на тех же наборах, на которых равна заданная функция;

  2. все аргументы, входящие в полученное выражение в инверсной форме, заменить с помощью соотношения ;

  3. раскрыть скобки и сделать приведение подобных членов с учетом тождества:

x, если n нечетно;

0, если n четно.

N

Пример. Представить в виде многочлена функцию f14(AB):

f7(AB)= m0+m1+m2= m0 m1 m2=

Пример. Представить в виде многочлена функцию f9(AB):

f9(AB)= m0+m3= m0 m3=

.

На базе функции 1, /\ и строится алгебра Жегалкина, но по своим свойствам она более близка к обычной алгебре и отличается от последней лишь тем, что логическое сложение заменено сложением по mod 2.

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

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

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

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

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

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

f(x1 x2 … xn)= α0 α1 x1 α2 x2 … α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)= ; f9(xy)=1 x y;

f10(xy)=1 y; f12(xy)=1 x; f15(xy)=1.

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

L1: f0(x)=0, f1(x)=x, f2(x)=1 x, f3(x)=1.

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

Дано f1(x1 x2 … xn)= α0 α1 x1 … αn xn;

φ1(y1 y2 )= b10 b11 y1 ;

φ2(y1 y2 )= b20 b21 y1 ;

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

φn(y1 y2 )= bn0 bn1 y1 ,

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

Пример. f1(x1 x2 x3)=1 x1 x2 x3;

x11(y1 y2 y3 y4)= y1 y3 y4;

x22(y1 y2)= 1 y1 y2;

x33(y1 y2 y3 y4)= 1 y1 y2 y3 y4;

f2(y1 y2 y3 y4)= 1 φ1(y1 y2 y3 y4) φ2(y1 y2) φ3(y1 y2 y3 y4)=

=1 y1 y3 y4 1 y1 y2 1 y1 y2 y3 y4=1 y1.

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

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

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

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

f(000…0)=0.

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

Пример. 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 ), …, φn(y1 y2 ).

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

f2(y1 y2 )= f112, …,φn ).

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

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

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