Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

к теме №3 / система функций алгебры логики

.doc
Скачиваний:
10
Добавлен:
05.03.2016
Размер:
31.23 Кб
Скачать

7.5. Системы функций алгебры логики

Любая логическая функция может быть представлена многочленом вида:

f(x1, x2, ..., xn) = a0  a1x1  a2x2  .... anxn  an+1x1x2  ...  an+2x1x3

... aNx1x2x3....xn,

ãäå a0, a1,..., aN - некоторые константы, равные нулю или единице; знак , как известно, означает операцию сложения по модулю два.

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

Чтобы логическую функцию, заданную таблицей ее значений, представить в виде многочлена, нужно эту функцию записать в виде суммы конституент единицы, равных единице на тех же наборах, на которых равна единице заданная функция. Затем все аргументы, входящие в полученное выражение с отрицанием, заменить с помощью соотношения x = x  1, раскрыть скобки и привести подобные члены с учетом, что в данном случае x  x  x...x = x, если n нечетно и x  x  x...x = 0, если n четно.

Пример. Представить функцию f14(x, y) (см. Таблицу 7.2) в виде многочлена.

Эта функция равна единице на нулевом, первом и втором наборах, поэтому

f14(x, y) = K0  K1  K2 = xy xy  xy

Используя соотношения x  1 = x b x(y z) = xy  xz, после всех преобразований получим

f14(x, y) = 1  x  x  y  y  xy  xy  xy

Приводя подобные члены, окончательно получаем:

f14(x, y) = 1  xy.

Существует несколько классов ФАЛ, которые также важны для логического анализа.

Класс линейных функций (Кë). Логическая функция называется линейной, если она представляется полиномом первой степени:

f(x1, x2, .....xn) = k0  k1x1  k2x2  ....  knxn,

где коэффициенты ki равны нулю или единице.

Для функций двух аргументов линейными являются следующие функции:

f0(x1,x2) = 0, f3(x1,x2) =x1, f5(x1,x2) = x2, f6(x1,x2) = x1 + x2, f9(x1,x2) = 1 + x1 + x2, f10(x1,x2) = 1 + x2, f12(x1,x2) = 1 + x1, f15(x1,x2) = 1.

Класс фунций, сохраняющих ноль (К0). Если функция на нулевом наборе переменных равна нулю, то говорят, что функция сохраняет ноль:

f(0, 0, ...., 0) = 0.

Для функций двух аргументов сохраняющими ноль являются следующие функции: f0(x1,x2), f1(x1,x2), f2(x1,x2), f3(x1,x2), f4(x1,x2), f5(x1,x2), f6(x1,x2), f7(x1,x2).

Класс функций, сохраняющих единицу (К1). Если функция на единичном наборе переменных равна единице, то говорят, что такая функция сохраняет единицу:

f(1, 1, ...., 1) = 1.

Для функций двух аргументов сохраняющими единицу являются следующие функции: f1(x1,x2), f3(x1,x2), f5(x1,x2), f7(x1,x2), f9(x1,x2), f11(x1,x2), f13(x1,x2), f15(x1,x2).

Класс монотонных функций (Кì). Для начала введем необходимые определения.

Если значение каждого аргумента одного набора больше или равно значению того же аргумента второго набора, то говорят, что первый набор не меньше второго. Такие наборы называются сравнимыми.

Если же некоторые из значений аргументов первого набора больше или равны, а другие меньше значений тех же аргументов второго набора, то такие наборы называются несравнимыми.

Например: 1,1,0,1 > 1,1,0,0; 0,1,1,0,1 > 0,1,0,0,0; 1,0,1,1 > 1,0,0,0.

Примеры несравнимых наборов: 0,1 и 1,0; 1,0,0 и 0,0,1; 1,1,1,0 и 1,0,0,1.

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

Для функций двух аргументов монотонными являются следующие функции: f0(x1,x2), f1(x1,x2), f3(x1,x2), f5(x1,x2), f7(x1,x2), f15(x1,x2).

Класс самодвойственных функций (КÑ).

Сперва дадим определение противоположных наборов.

Два набора называются противоположными, если все значения аргументов одного набора противоположны значениям аргументов другого набора. Например: 1,0,1,1,0,0 и 0,1,0,0,1,1; 1,1,1,1 и 0,0,0,0, т.е. для того, чтобы получить противоположный набор, достаточно заменить в данном наборе нули единицами, а единицы - нулями.

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

f(x1, x2, ..., xn) = f(x1,x2,...xn)

Для функций двух аргументов самодвойственными являются следующие функции: f3(x1,x2), f5(x1,x2), f10(x1,x2), f12(x1,x2).

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

Функции f8(x1,x2) (функция Пирса) и f14(x1,x2) (функция Шеффера) не принадлежат ни одному из указанных классов.

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

Для того чтобы система ФАЛ была полной необходимо и достаточно, чтобы она содержала хотя бы одну функцию:

не сохраняющую нуль,

не сохраняющую единицу,

не являющейся линейной,

не являющейся монотонной,

не являющейся самодвоственной.

К Базису относится система фунций È, ÈËÈ, ÍÅ (базис 1). Базисами являются также системы, содержащие функции È, ÍÅ (базис 2), ÈËÈ, ÍÅ (базис 3), состоящие из функции Шеффера (È-ÍÅ) (базис 4) или функции Пирса (Вебба) (ÈËÈ-ÍÅ) (базис 5). Это перечисление показывает, что базисы могут быть избыточными (базис 1) и минимальными (базисы 4 и 5). Базис является минимальным, если удаление хотя бы одной функции превращает систему ФАЛ в неполную.

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

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

1) Y =X отрицание - ÍÅ,

Y = X1X2 - È, (избыточная)

Y = X1 + X2 - ÈËÈ.

2) Y = X отрицание - ÍÅ,

Y = X1X2 - È.

3) Y = X отрицание - ÍÅ,

Y = X1 + X2 - ÈËÈ.

4) Y = X1X2 штрих Шеффера - È-ÍÅ.

5) Y = X1 + X2 стрелка Пирса - ÈËÈ-ÍÅ.

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

Недостающие функции можно получить на основе известных правил алгебры логики. Таким образом достаточно иметь один тип логического элемента È-ÍÅ èëè ÈËÈ-ÍÅ, чтобы на его основе построить все многообразие логических схем. Однако для реализации сложных ФАЛ такой способ может потребовать большого числа корпусов логических элементов. Поэтому на практике, при необходимости, используют и другие логические элементы, реализующие более сложные логические функции.

Соседние файлы в папке к теме №3