logo search
Дискретная математика / ДМиМЛ-1 часть

6.3. Функциональная полнота систем переключательных функций

Элементарные переключательные функции позволяют получить сложные функции от большего числа аргументов путем подстановки в данную функцию вместо ее переменных других функций. Такой метод получения функций называется суперпозицией. Например, имея элементарные функции двух переменных z1=x1x2 и z2=x3x4 можно получить функции z31(x3x4), z4=x3х1x2, зависящие от трех переменных.

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

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

1) класс функций, сохраняющих константу 0. В этот класс входят функции, которые на нулевом наборе переменных принимают нулевое значение: f(00...0)=0. Такова, например, конъюнкция f8(00)=00=0;

2) класс функций, сохраняющих константу 1. В этот класс входят функции, которые на единичном наборе переменных принимают единичное значение: f(11...1)=1. Этим свойством также обладает конъюнкция f8(11)=11=1. Классы 1, 2 легко устанавливаются по таблице истинности;

3) класс самодвойственных функций. Переключательные (логические) функции f(х1х2...хn) и g(х1х2...хn) называются двойственными, если имеет место равенство f(х1х2...хn)=, т.е. если одна функция получается из другой, если провести замену всех переменных на их инверсии и провести инверсию функции.

Например, f81х2)=х1х2 и f14(x1x2)=х1х2 двойственны: .

Это можно доказать, построив таблицу истинности:

Таблица 26

Таблица истинности

х1

х2

х1х2

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

Переключательная функция называется самодвойственной, если она двойственна по отношению к самой себе: f(х1х2...хn)=.

Такова, например, функция f10(x1x2)=x1: .

Самодвойственность устанавливается по таблице истинности следующим образом: значения функции, симметричные относительно середины таблицы инверсны. Например, для f10(x1x2) значения функции представляют собой вектор , каждый разряд которого является инверсным по отношению к симметричному разряду относительно середины, отмеченной пунктиром. Эти разряды соответствуют инверсным наборам х1х2: 00-11, 01-10. Самодвойственны функции ,,х21;

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

f(x1x2)=с0с1х1с2х2, где с012 – константы 0, 1.

Например, для функции f6(x1x2)=х1х2 при с0=0, с12=1:

f6(x1x2)=01х11х2.

Получим все линейные функции двух переменных, задав все возможные значения с0с1с2 (табл. 27).

Таблица 27

Линейные функции двух переменных

с0

с1

с2

Вид полинома

0

0

0

0

Можно доказать,

0

0

1

х2

используя, например,

0

1

0

х1

таблицу истинности, что:

0

1

1

х1х2

1

0

0

1

1

0

1

1х2

=

1

1

0

1х1

=

1

1

1

1х1х2

=

Из табл. 27 видно, что каждая линейная функция имеет инверсную ей функцию: константа 0 – константа 1; повторение х12 – инверсия ,; сложение по модулю 2 х1х2 – эквиваленция x1x2;

5) класс монотонных функций. Монотонная функция на большем сравнимом наборе переменных принимает не меньшие значения. Это удобно проверять на решетках Хассэ. Так, для двух переменных решетка имеет вид рис. 37.

Рис. 37. Решетка Хассэ для двух переменных

с указанием значений f101х2)=х1

На рис. 37 проставлены значения монотонной функции х1. Видно, что 11>01>00, 11>10>00 (частично упорядоченное множество наборов).

Очевидно, что константы 0, 1 – монотонные функции, дизъюнкция и конъюнкция – монотонные функции, повторения х1, х2 – монотонные функции.

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

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