Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискретная математика / ДМиМЛ-1 часть..doc
Скачиваний:
378
Добавлен:
06.02.2016
Размер:
4.81 Mб
Скачать

6.2. Элементарные переключательные (логические) функции двух переменных

Рассмотрим все функции двух переменных (табл. 25).

Таблица 25

Переключательные функции двух переменных

20

21

22

23

Набор

Название

Формула

20

х1

0

1

0

1

функции

21

х2

0

0

1

1

f0

0

0

0

0

Константа 0

0

f1

1

0

0

0

Функция Пирса (Вебба), «стрелка Пирса», ИЛИ-НЕ

х1х2=

f2

0

1

0

0

Запрет х2

f3

1

1

0

0

Отрицание х2

f4

0

0

1

0

Запрет х1

f5

1

0

1

0

Отрицание х1

f6

0

1

1

0

Сложение (сумма) по mod2

х1х2=

f7

1

1

1

0

Функция Шеффера, «штрих Шеффера»,

И-НЕ

х12=

f8

0

0

0

1

Конъюнкция, И

х1х2

f9

1

0

0

1

Эквиваленция

(эквивалентность)

х1х2=

f10

0

1

0

1

Повторение х1

х1

f11

1

1

0

1

Импликация х2 в х1

х2х1

f12

0

0

1

1

Повторение х2

х2

f13

1

0

1

1

Импликация х1 в х2

х1х2

f14

0

1

1

1

Дизъюнкция, ИЛИ

х1х2

f15

1

1

1

1

Константа 1

1

Всего таких функций имеется 222=24=16. Есть функции, зависящие только от одной переменной. Есть функции, не зависящие от переменных, – константы 0, 1. Такие функции называют вырожденными:

f3(x1x2)=;f5(x1x2)=;f10(x1x2)=х1; f12(x1x2)=х2;

f0(x1x2)=0; f15(x1x2)=1.

Некоторые функции мы тоже уже знаем: конъюнкцию f8(x1x2)=х1х2 (точку между х1 и х2 опускаем); эквиваленцию (эквивалентность) f9(x1x2)=х1х21х2(здесь эквиваленция представлена в виде дизъюнкции двух конъюнкций, что можно доказать, составив таблицу истинности); импликациюf11(x1x2)=х2х1=х1, f13(x1x2)=х1х2=х2; дизъюнкцию f14(x1x2)=х1х2.

Кроме этого, имеются другие функции, зависящие от двух переменных: f1(x1x2)=– функция Пирса (Вебба) («стрелка Пирса»);f2(x1x2)=– запрет х2; f4(x1x2)=– запрет х1; f6(x1x2)=x1x2 –сложение по модулю 2 (функция, инверсная эквиваленции); f7(x1x2)=– функция Шеффера («штрих Шеффера»).

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 – монотонные функции.

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

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

  • не сохраняющую константу 0;

  • не сохраняющую константу 1;

  • несамодвойственную;

  • нелинейную;

  • немонотонную.

Соседние файлы в папке Дискретная математика