Ещё одни лекции (1021740), страница 14
Текст из файла (страница 14)
-
Теория булевых функций.
46.Связь булевых функций и схем из функциональных элементов и контактных схем.
Определение.
Под функциональным элементом понимается некоторое устройство, внутренняя структура которого нас не интересует и которое обладает следующими свойствами:
1) оно имеет n ≥ 1 упорядоченных отростков сверху – входы и один отросток снизу – выход (см. рис. 5.1);
Рис. 5.1. Функциональный элемент.
2) на входы этого устройства могут подаваться сигналы, принимающие два значения, которые условно обозначают через 0 и 1;
3) при каждом наборе сигналов на входах устройство на выходе в тот же момент, в который поступили сигналы на входы, выдает один из сигналов 0 или 1;
4) набор сигналов на входах однозначно определяет сигнал на выходе, то есть если в различные моменты времени на входы поступили равные наборы сигналов, то в эти моменты на выходе будет один и тот же сигнал.
Заметим, что с каждым функциональным элементом с n выходами сопоставима булева функция от n переменных f (x1, x2,…, xn), определяемая следующим образом: входу с номером ставится в соответствие переменная xi и с каждым набором (а1, а2,…, аn) значений этих переменных сопоставляется число f (а1, а2,…, аn), равное 0 или 1 в зависимости от того, какой сигнал вырабатывается на выходе при подаче этого набора сигналов на выходы данного функционального элемента.
В этом случае о функции f (x1, x2,…, xn) будем говорить, что данный функциональный элемент ее реализует, и такой элемент будем изображать так, как показано на рис.5.2.
Рис. 5.2. Реализация функционального элемента булевой функции f (x1, x2,…, xn).
Из функциональных элементов определяется схема из функциональных элементов (точнее схема из функциональных элементов в соответствующем логическом базисе), как-то:
1) , ∧, ∨; 3) , ∨; 5) х ∣ у;
2) , ∧; 4) 1, ∧, ; 6) х ↓ у
и т.д.
Замечания.
1. Учитывая, что существуют определённые аналитические преобразования одного логического базиса в другой, можно изображать схемы в любом логическом базисе и преобразовывать их в другие. Базис, состоящий из логических функций , ∧, ∨ называется нормальным; из логических функций ù, ∨ или ù, ∧ – неполным нормальным; из стрелки Пирса х ↓ у – базисом Вебба; из штриха Шеффера х ∣ у – базисом Шеффера.
Как известно, базис Вебба и базис Шеффера связаны с нормальным базисом следующими аналитическими соотношениями:
х ∣ у = ∨
; и обратно,
= х ∣ х; х ∨ у = (х ∣ х)∣(у ∣ у);
х ↓ у = ∧
; и обратно,
= х ↓ х; х ∧ у =(х ↓ х) ↓ (у ↓ у).
Переход от схемы в нормальном базисе к базисам Шеффера и Вебба и обратно, например, можно отобразить в следующей таблице (таблица 5.1).
Таблица 5.1.
Нормальный базис | Базис Шеффера | Базис Вебба |
не
| |
|
и |
| |
или | |
|
2. Логические функции, кроме их реализации функциональными схемами, реализуются также контактными, релейно-контактными и интегральными схемами.
3. Одна и та же схема (функциональная, контактная, релейно-контактная, интегральная) может быть реализована большим или меньшим числом функциональных базисных элементов (функций), для уменьшения которых, реализующих одну и ту же булеву функцию, разработана теория минимизации нормальных форм.
47.Основные понятия булевых функций.
Теорема.
Число всех различных булевых функций от n аргументов равно .
Доказательство:
Число различных наборов переменных x1, x2, … , xn, где xi {0,1} равно k=2n. Так как каждая булева функция принимает только 2 значения: 0 или 1, то число всех булевых функций от n переменных равно , что и требовалось доказать.
Определение.
Операцией сложения по модулю два, которая обозначается знаком , на множестве из двух элементов 0 и 1 называется операция со следующим законом композиции:
для a имеет место
a a ≐ 0 ; a 0 0 a
a .
Определение.
Элементарными булевыми функциями называются следующие функции:
e1(x) 0 – нуль-функция;
e2(x) 1 – единица-функция;
e3(x) x – функция x;
e4(x) = ù x – отрицание x;
e5(x, y) ≐ – конъюнкция x и y;
e6(x, y) ≐ – дизъюнкция x и y;
e7(x, y) ≐ x y – импликация x и y;
e8(x, y) ≐ x y – эквиваленция x и y;
e9(x, y) x y – сложение по модулю два x и y.
Замечания.
1. Таблица истинности для элементарных булевых функций имеет вид, представленный в табл. ниже.
Таблица
2. Заметим, что
1) x y = ù ( x y), то есть e9(x, y) = e4(e8(x, y)), то есть функция xy является суперпозицией функций xy и ù x.
2) – суперпозиция функций
и
, каждая из которых от двух переменных.
3) 0 = ù ( ù x); 1=
ù x.
Приоритеты логических операций.
Операция ù имеет больший приоритет, чем ;
Операция имеет больший приоритет, чем ;
Операция имеет больший приоритет, чем ;
Операция имеет больший приоритет, чем ;
Операция имеет больший приоритет, чем .
Примеры функций, являющихся суперпозициями элементарных функций.
g1(x1, x2, x3, x4) ≐ ù x4
g2(x1, x2, x3) ≐ ù x2)
g3(x1, x2) ≐ ù
Определение.
Пусть
1) u – переменная, при этом пусть u0= ù u, а u1=u;
2) ai {0,1} , ;
3) u1, u2, … , un – переменные, причём не обязательно различные.
Тогда формула называется элементарной конъюнкцией, а
– элементарной дизъюнкцией.
Примеры.
1. Элементарными конъюнкциями будут следующие формулы:
x, y, ù x, x y, x1 x1, ,
,
,
.
2. Элементарными дизъюнкциями будут следующие формулы:
x, y, ù y, x y, x x x, ,
,
,
.
Ясно, что каждая элементарная конъюнкция и каждая элементарная дизъюнкция являются суперпозициями функций ù x, x y и x y.
Замечание.
Принимая для переменной u , что и
, замечаем, что ua = 1 u = a, a
{0,1}.
В этом случае :
1) функция
Kn(x1, x2,…, xn) = (1)
такая, что Kn(a1, a2,…, an) = 1 и Kn(b1, b2,…, bn) = 0, если
(b1, b2,…, bn) (a1, a2,…, an);
2) функция
dn(x1, x2,…, xn)= (2)
такая, что dn( ) = 0 и dn(b1, b2,…, bn) = 1, если
(b1, b2,…, bn) ( ).
При этом в формулах (1) и (2) все переменные попарно различны.
Теорема.
Каждая булева функция является суперпозицией следующих функций: отрицания, конъюнкции и дизъюнкции.
Доказательство:
Первое доказательство.
Обозначим множество всех булевых функций через P2. Если данная функция f P2 является константой, равной нулю, то, согласно соотношению 0 = ù (x ù x) или 0 = x ù x, утверждение справедливо. В противном случае, существуют такие наборы (a1, a2,…, an), что f(a1, a2,…, an)=1. Для каждого такого набора (a1, a2,…, an) образуем элементарную конъюнкцию , которая имеет значение 1 только на наборе (a1, a2,…, an). Тогда
где дизъюнкции берётся по всем таким наборам (a1, a2,…, an), что f(a1, a2,…, an) = 1. Так как правая часть равенства (3) является суперпозицией требуемых функций, то теорема доказана.
Второе доказательство.
Если функция f P2 является константой равной 1, то, согласно 1= x ù x или 1=ù (x ù x), утверждение справедливо. В противном случае, существуют такие наборы (a1, a2,…, an), что f(a1, a2,…, an) 1, или, что то же самое, f(a1, a2,…, an) = 0. Таким образом, функция f(x1, x2,…, xn) может быть представлена в виде
f(x1, x2,…, xn) = , (4)
где конъюнкция берётся по всем таким наборам (a1, a2,…, an), что
f(a1, a2,…, an)=0. Правая часть равенства (4) опять, как и в первом доказательстве, является суперпозицией требуемых функций. Теорема доказана.
Определение.
Правая часть равенства (3) называется совершенной дизъюнктивной нормальной формой (кратко СДНФ) функции f(x1, x2,…, xn).
Замечание.
СДНФ существует только для тех булевых функций, которые не являются константами, равными нулю.
Определение.
Правая часть равенства (4) называется совершенной конъюнктивной нормальной формой (СКНФ) функции f(x1, x2,…, xn).
Замечание.
СКНФ существует только для тех булевых функций, которые не являются константами, равными единице.
Определение.
Конъюнкция всех аргументов функции (с отрицанием и без отрицания) называется полной и обозначается буквой K с соответствующим индексом. Индексом в обозначении служит номер набора или двоичное число, а также соответствующее ему десятичное, полученное при замене каждой переменной xi символом 1, а переменной ù xi – символом 0.
Определение.
Дизъюнкция всех аргументов функции (с отрицанием и без отрицания) называется полной и обозначается (в литературе) буквой D с соответствующим индексом. Индексом служит инверсионный номер набора или двоичное число, а также соответствующее ему десятичное, полученное при замене каждой переменной xi символом 0, а переменной ù xi – символом 1.
Примеры.
1. x1x2 – номер набора –112 = 310, полная конъюнкция обозначается K3.
2. – номер набора – 0102 = 210, полная конъюнкция обозначается K2.