Пример: Реализовать функцию, заданную таблично
№ набора |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
Заметим, что если бы на нулевом наборе функция была бы равна нулю, а на первом наборе – равна единице, инвертор не понадобился бы.
Функциональная полнота систем булевых функций.
Одно из основных требований к системе логических элементов, состоит в том, чтобы из элементов этой системы можно было построить любую логическую схему. Техническая задача отыскания такой системы элементов сводится к математической задаче определения набора функций, из которых методом суперпозиции можно получить любую функцию.
Система булевых функций называется функционально полной, если произвольную булеву функцию можно представить суперпозицией функций этой системы.
Для решения задачи были выделены пять классов булевых функций:
- сохраняющие нуль – это функции равные нулю на нулевом наборе аргументов: ;
- сохраняющие единицу – это функции равные единице на единичном наборе:
;
- самодвойственные булевы функции на каждой паре противоположных наборов принимают противоположные значения: ;
- линейные булевы функции - это функции, которые можно представить линейным полиномом: , где .
Если значения каждого аргумента одного набора больше или равно значению того же аргумента второго набора, то говорят, что первый набор не меньше второго. Следует заметить, что не все наборы являются сравнимыми, например (1,0,1) и (0,1,0) не сравнимы.
- монотонной булевой функцией называют функцию, у которой при любом возрастании набора аргументов значения функции не убывают.
Доказана теорема о функциональной полноте: для того чтобы система булевых функций была функционально полной, необходимо и достаточно, чтобы эта система включала:
- хотя бы одну функцию, не сохраняющую нуль;
- хотя бы одну функцию, не сохраняющую единицу;
- хотя бы одну нелинейную функцию;
-хотя бы одну немонотонную функцию;
-хотя бы одну несамодвойственную функцию.
В таблице показано, к каким классам относятся функции двух аргументов:
Функция |
Сохраняет нуль |
Сохраняет единицу |
Самодвойст-венная |
Монотонная |
Линейная |
0 |
x |
x |
x |
||
x |
x |
x |
|||
D |
x |
||||
x |
x |
x |
x |
x |
|
D |
x |
||||
x |
x |
x |
x |
x |
|
x |
x |
||||
x |
x |
x |
|||
~ |
x |
x |
|||
x |
x |
||||
x |
|||||
x |
x |
||||
x |
|||||
1 |
x |
x |
x |
При рассмотрении таблицы можно выделить 44 функционально полных системы булевых функций: 2 – одно функциональных, 16 – двух функциональных, 23 –трех функциональных, 3 – четырех функциональных.
Система функций, которая является функционально полной, называется базисом.
Минимальным базисом называется такой базис, удаление из которого хотя бы одной функции превращает систему в неполную.
В настоящее время используются три базиса - базис Шеффера, базис Пирса и булев базис, в котором содержатся три функции И, ИЛИ, инверсия.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.