Принцип двойственности

Определение. Функция f*(x1, …, xn) = Принцип двойственности - student2.ru называется двойственной функции f(x1, …, xn).

Пример: (построение функции, двойственной к исходной)

x y z f(x, y, z) Принцип двойственности - student2.ru Принцип двойственности - student2.ru

Таблица для двойственной функции f*(x, y, z) при упорядоченном наборе значений переменной получается из таблицы для функции f(x, y, z) построением функции отрицания Принцип двойственности - student2.ru и переворачиванием столбца значений от функции Принцип двойственности - student2.ru .

Таблица функций, двойственным к элементарным:

Принцип двойственности - student2.ru 0* Принцип двойственности - student2.ru 1*   x Принцип двойственности - student2.ru x* Принцип двойственности - student2.ru Принцип двойственности - student2.ru

0* = 1 1* = 0 x* = x Принцип двойственности - student2.ru

x y x & y Принцип двойственности - student2.ru (x & y)*   x y x Ú y Принцип двойственности - student2.ru (x Ú y)*

(x & y)* = x Ú y (x Ú y)* = (x & y)

Из определения двойственности вытекает:

f** = (f*)* = Принцип двойственности - student2.ru = Принцип двойственности - student2.ru = f Þ f** = f

Функция f двойственна к f*

Определение. Если функция f(x1, …, xn) = Принцип двойственности - student2.ru , то функция f(x1, …, xn) называется самодвойственной.

Теорема двойственности

Если j(x1, …, xn) = f(f1(x11, …, Принцип двойственности - student2.ru ), …, fm(xm1, …, Принцип двойственности - student2.ru )), где (x1, …, xn) – переменные, входящие в наборы (x11, …, Принцип двойственности - student2.ru ), …, (xm1, …, Принцип двойственности - student2.ru ), то j*(x1, …, xn) = f(f1*(x11, …, Принцип двойственности - student2.ru ), …, fm*(xm1, …, Принцип двойственности - student2.ru )).

Доказательство: j*(x1, …, xn) º [по определению] º Принцип двойственности - student2.ru = [по условию] =

= Принцип двойственности - student2.ru = Принцип двойственности - student2.ru =

= Принцип двойственности - student2.ru = [по определению двойственной функции] =

= Принцип двойственности - student2.ru

Пример: f1(x, y) = x & y, f2(x, y) = x Ú y, f3(x) = Принцип двойственности - student2.ru .

j = Принцип двойственности - student2.ru = f2(f1(x1, x2), f1(f3(x3), x4))

j* = f2*(f1*(x1, x2), f1*(f3*(x3), x4)) = f1(f2(x1, x2), f2(f3(x3), x4)) = Принцип двойственности - student2.ru .

Принцип двойственности

Если формула A = C[f1, …, fs] реализует формулу f(x1, …, xn), то формула C[f1, …, fs], полученная из формулы f1, …, fs на f1* …, fs* , реализует f*(x1, …, xn). Эту формулу называют двойственной к А и обозначают А*. Для формулы А над множеством P = {0, 1, x, Принцип двойственности - student2.ru , &, Ú} принцип двойственности записывается так:

«Для получения двойственной формулы надо заменить 0 на 1, 1 на 0, & на Ú, Ú на & и сохранить функции x и Принцип двойственности - student2.ru

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

МАТЕРИАЛ ЭКЗАМЕНА

(Лекция 9)

Разложение булевых функций по переменным

Введем обозначение: Принцип двойственности - student2.ru

x d xd  
Þ xd = 1 Û x = d
 
xx = 1
 

Обозначение: Принцип двойственности - student2.ru

Теорема (О разложении булевых функций по переменным)

Каждую функцию алгебры логики f(x1, x2, …, xn) для "m Î {1, 2, …, n} можно представить в виде Принцип двойственности - student2.ru , где дизъюнкция берется по всевозможным наборам значений d1, …, dm переменных x1, …, xm. Такое представление функции f называется разложением этой функции по m переменным.

Доказательство: Рассмотрим произвольный набор значений переменных (a1, …, an) и вычислим f(a1, …, an) сначала стандартным образом, а затем так: Принцип двойственности - student2.ru = [По ранее доказанному, если ai ¹ di, то Принцип двойственности - student2.ru ] = Принцип двойственности - student2.ru = f(a1, …, an).

Следствия:

1) m = 1. Тогда f(x1, …, xn) = Принцип двойственности - student2.ru = Принцип двойственности - student2.ru .

2) m = n. Тогда f(x1, …, xn) = Принцип двойственности - student2.ru , остались лишь те наборы d, при которых f(d1, …, dn) = 1.

f(x1, …, xn) = Принцип двойственности - student2.ru , f(d1, …, dn) = 1

Такое различие называется Совершенной Дизъюнктивной Нормальной Формулой (СДНФ).

Пример:

x1 x2 x3 f f1 f2 f3   f = f1Ú f2 Ú f3   Принцип двойственности - student2.ru Принцип двойственности - student2.ru - СДНФ
 
 
 
 
 
 
 
 

Существует еще и Совершенная Конъюнктивная Нормальная Формула (СКНФ):

f(x1, …, xn) = Принцип двойственности - student2.ru , f(d1, …, dn) = 1

Только для функции «0» мы не можем составить СДНФ.

По аналогии, не существует СКНФ для функции «1».

Полином Жегалкина

Если формула алгебры логики составлена исключительно из функций 0, 1, &, Å, то после несложных преобразований ее можно записать в виде полинома по «Сумме по модулю 2».

Определение. Полиномом Жегалкина от n переменных x1, …, xn называется «Сумма по модулю 2»: Принцип двойственности - student2.ru .

Пример: ПЖ(x1, x2) = a11x1x2Å a1x1Å a2x2Å ao

Слагаемых в этой сумме столько, сколько подмножеств (j1, …, js) из n чисел, то есть 2n, при этом значения коэффициентов Принцип двойственности - student2.ru . Таким образом, число полиномов Жегалкина от n переменных равно Принцип двойственности - student2.ru , то есть |ПЖ(n)| = Принцип двойственности - student2.ru .

Теорема Жегалкина

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

Пояснение. Различные функции соответствуют различным полиномам Жегалкина, так как число Принцип двойственности - student2.ru равно числу булевых функций.

Замечание. Если у функции есть фиктивные переменные, то они не должны входить в полином Жегалкина.

Способы нахождения Полинома Жегалкина:

1) Через законы Алгебры Логики.

a) Из формулы.

b) Из СДНФ.

2) Метод неопределенных коэффициентов.

Способ 1(а): x Ú y = Принцип двойственности - student2.ru = Принцип двойственности - student2.ru = (x Å 1) (y Å 1) Å 1 = Принцип двойственности - student2.ru = xy Å x Å y

Способ 2:

x y x ® y         (x ® y) = a12xy Å a1x Å a2y Å a0
a0 = f(0, 0) = 1
a0 Å a1 = f(1, 0), 1 Å a1 = 0 Þ a1 = 1
a2 Å a0 = f(0, 1), 1 Å a2 = 1 Þ a2 = 0
a12 Å a1 Å a2 Å a0 = f(1, 1), a12 Å 1 Å 0 Å 1 = 1 Þ a12 = 1

ПЖ(x ® y) = xy Å x Å 1

Определение. Если полином Жегалкина не содержит конъюнкций, то есть имеет вид a1x1 Å a2x2 Å … Å anxn Å a0, то соответствующая ему функция называется линейной.

Полнота и замкнутость

Определение. Система функций {f1, f2, …, fs}называется полной (функционально полной), если любая булева функция может быть записана в виде формул через функции этой системы ({f1, f2, …, fs} Ì P2).

Пример:

1) P2 – полная.

2) {Ø, &, Ú} – полная Þ Если f(x1, …, xn) º 0, то f(x1, …, xn) = x1 & Принцип двойственности - student2.ru .

3) {0, 1} – неполная.

Теорема (О полноте системы булевых функций)

Пусть даны 2 системы булевых функций R = {f1, f2, …, fr} (I) и S = {g1, g2, …, gs} (II), причем система I – полная и каждая функция системы I выражается в виде формул системы II. В этом случае система II является полной.

(без доказательства)

Следствие. Полными являются следующие системы: {Ø, Ú}, {Ø, &}, {¤}, {Ø, ®}, {0, 1, &, Å}.

Доказательство:

а) (I) {Ø, &, Ú}. x & y = Принцип двойственности - student2.ru = Принцип двойственности - student2.ru . Аналогично: x Ú y = Принцип двойственности - student2.ru .

б) (I) {Ø, &}. Принцип двойственности - student2.ru = x / x. Тогда: x & y = Принцип двойственности - student2.ru = (x / y) / (x / y).

Понятие полноты тесно связано с понятием замыкания.

Определение. Пусть М – некоторое подмножество булевых функций. Замыканием М (обозначается [M]) называется множество всех булевых функций, являющихся суперпозицией функций из М.

Пример:

1) М = Р2, [M] = P2.

2) M = {1, x Å y}, f Î M, f = a0 Å a1x1 Å … Å anxn (f – линейная функция).

Свойства замыкания:

1) M Í [M]

2) [[M]] = [M]

3) M1 Í M2 [M1] Í [M2]

4) [M1 È M2] Ê [M1] È [M2]

Определение. Класс (множество) М называется замкнутым (функционально замкнутым), если [M] = M.

(Лекция 10)

Примеры:

1) M = P2, [M] = P2 =M – замкнутое

2) M = L (множество линейных функций), [M] = L = M – замкнутое

3) M = {Ø, &, Ú} Þ [M] =P­­­2 Þ M – замкнутое

4) M = {0, 1}Þ M – неполное, [M] = {0, 1} – замкнутое.

5) M = {1, Принцип двойственности - student2.ru }Þ [M] = {0, 1, x, Принцип двойственности - student2.ru } Þ M – незамкнутое

6) [M] – замкнутый класс по свойству 2.

Наши рекомендации