![](/user_photo/2706_HbeT2.jpg)
Уч.пособие-по-ОДМ-2012
.pdf
|
Основные свойства замыкания: |
• |
K1 K2 [K1] [K2] |
• |
[K1 K2] [K1] [K2] |
• |
[K] K |
• |
[[K]] = [K] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
П |
|
|
|||
7.2 Классы Tσ, сохраняющие константу σ |
|
||||||||||||||||||
Определение 7.3. Классом T0 |
|
|
|
. |
|
|
|
||||||||||||
, сохраняющим константу 0, на- |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
В |
|
|
|
|
. |
|||
зывается множество булевых функций, для которых выполнено равен- |
|||||||||||||||||||
ство f(0, 0, . . . , 0) = 0 : |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
Барашев |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
T0 |
= {f(x) P2 |
| |
|
f(0, 0, . . . , 0) = 0}. |
|
|
||||||||||
Аналогично |
определяется класс T |
, сохраняющий константу 1: |
|||||||||||||||||
|
|
|
|
e |
1 |
|
|
|
|
|
|
.А |
|||||||
|
|
|
T1 = {f(xe) P2 | f(1, 1, . . .С, 1) = 1}. |
|
|
||||||||||||||
|
|
|
|
|
Унучек |
|
|
|
|
, f2 |
, f3, f4 клас- |
||||||||
Пример 7.2. Определить принадлежность функций f1 |
|||||||||||||||||||
f |
= (1011 1101) |
МИРЭА |
|
||||||||||||||||
сам |
T0 |
и T1. |
|
|
|
|
f1 T0 |
|
|
|
|
|
|
|
|
|
|
f1 T1 |
|
а) e1f1 |
(000) = 0 |
|
|
; |
|
f1(111) = 1 |
|||||||||||||
f = (0011 0111) |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
б) e2f2 |
(000) = 1 |
|
|
|
f2 / T0 |
; |
|
f2(111) = 0 |
|
f2 / T1 |
|||||||||
f = (1010 1010) |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
в) e3f3 |
|
|
|
|
f3 T0 |
; |
|
|
|
|
|
|
|
f3 / T1 |
|||||
(000) = 0 |
|
|
|
f3(111) = 0 |
|||||||||||||||
f = (0110 0110) |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
г) e4f4(000) = 1 |
|
|
|
f4 / T0 |
; |
|
|
|
|
|
|
|
f4 T1 |
||||||
|
|
|
f4(111) = 1 |
||||||||||||||||
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111
Замечание 7.1. Для того, чтобы определить принадлежность функции к классу T0, достаточно знать значение функции только на одном двоичном наборе: наборе, состоящем из всех нулей (значения функций на этом наборе в приведенном выше примере подчеркнуты одной чертой). Этот набор является самым первым набором в таблице истинности и в векторе значений функции. Аналогично, для определения принадлежности функции к классу T1, достаточно знать значение функции только на одном двоичном наборе: наборе, состоящем из всех
единиц (значения функций на данном наборе в примере подчеркнуты |
|
|
. |
двумя чертами). Этот набор является последним набором в таблице |
|
истинности и в векторе значений функции. |
П |
|
Замечание 7.2. Как видно из приведенного.выше примера, классы T0 и T1 пересекаются только частично: одна и та же функция может
принадлежать или не принадлежать обоим классам либо одному из |
||||
них. |
|
В |
|
. |
Замечание 7.3. Так как суперпозиция функций включаетАв себя под- |
||||
становку |
|
|
. |
|
|
С |
|
||
а) тождественной функции |
|
|||
|
|
|
||
б) подстановку других функций, |
|
|
|
|
то для доказательства замкнутости любого класса K булевых функций |
||||
необходимо рассмотреть два случая: |
|
|
||
|
Барашев |
|
|
|
|
Унучек |
|
|
|
|
МИРЭА |
|
1. тождественная функция f(x) = x K
2. любая суперпозиция функций f, f1, . . . , fm K также принадлежит классу K :
F = f(f1, . . . , fm) K.
Теорема 7.1. Класс T0 является функционально замкнутым, то есть
[T0] = T0.
Доказательство.
112
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr113x1.jpg)
1.Очевидно, что f(x) = x T0
2.Пусть функции f, f1, f2, . . . , fm T0. Докажем, что любая суперпозиция функций f1, f2, . . . , fm также принадлежит этому классу, то есть
f, f1, f2, . . . , fm T0 F = f(f1, f2, . . . , fm) T0.
f, f1, f2, . . . , fm T0 f(0, 0, . . . , 0) = f1(0, 0, . . . , 0) =
= f2(0, 0, . . . , 0) = · · · = fm(0, 0, . . . , 0) = 0
|
|
П |
|
Найдем значение функции F на наборе, состоящем.из всех нулей. |
|||
F (0, 0, . . . , 0) = |
В |
|
. |
|
|
||
= f(f1(0, 0, . . . , 0), f2(0, 0, . . . , 0), . ... , fm(0, 0, . . . , 0)) = |
|||
|
|
= f(0, 0, . . . , 0) = 0. |
|
переменных:Барашев |
|
А |
|
Мы получили, что функция F на наборе, состоящем из всех нулей, |
|||
принимает значение 0, то есть F T0. |
. |
|
|
|
|
Доказательство. Унучекf T0 f(0, 0, . . . , 0) = 0, то есть вектор значений |
|||||||||||
Аналогично доказывается |
|
|
|
|
|
С |
|
||||
Теорема 7.2. Класс T1 |
является функционально замкнутым, то |
||||||||||
2 3 |
2 |
|
МИРЭАДлина этого набора n |
− |
|||||||
есть |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[T1] = T1. |
|
|
|
||||
Теорема 7.3. Класс T0 содержит |
1 |
2 |
2n |
функций, зависящих от n |
|||||||
2 · |
|
||||||||||
|
| |
T |
|
| = 2 |
2n−1 |
= |
1 |
|
|
2n . |
|
|
|
0 |
|
2 |
|
· 2 |
|
функции принимает вид f = (0, α2, α3, . . . , α2n ). Это означает, что чис-
ло различных функций в классе T |
|
равно числу различных двоичных |
наборов (0, α , α , . . . , α n )e. |
0 |
равна k = 2n 1. Всего |
число различных наборов длины k равно 2k = 22 −1. Таким образом,
|T0| = 22n−1 = 12 · 22n .
113
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr114x1.jpg)
7.3Класс S самодвойственных функций
Определение 7.4. Функция f (x1, x2, . . . , xn) называется двойственной к функции f(x1, x2, . . . , xn), если выполняется равенство
f (x1, x2, . . . , xn) = f(x1, x2, . . . , xn).
Для любой булевой функции можно задать двойственную ей.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|||||
Пример 7.3. Построить таблицу истинности функции, двойственной |
||||||||||||||||||||
e |
|
|
|
|
|
|
|
|
|
|
|
П |
|
|
||||||
к f1 = (0011 0111). |
|
|
|
|
|
|
. |
|
|
|
|
|
|
|||||||
Решение. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
x1 |
x2 |
x3 |
|
f1 |
|
|
|
|
В |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||||
0 |
0 |
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
0 |
0 |
1 |
|
0 |
|
Построим таблицу истинности функции f1 и |
||||||||||||||
0 |
|
|
|
|
|
|||||||||||||||
|
|
Барашев= f1(1, 1, 1) = 1 = 0. |
||||||||||||||||||
1 |
0 |
|
1 |
|
вычислим значения, которые принимает двой- |
|||||||||||||||
0 |
1 |
1 |
|
1 |
|
|
|
|
|
|
|
. |
|
|
||||||
1 |
0 |
0 |
|
0 |
|
ственная к ней функция на всех двоичных на- |
||||||||||||||
1 |
0 |
1 |
|
1 |
|
борах. |
|
|
|
С |
|
А |
||||||||
1 |
1 |
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
|
Унучек |
|
|
|
|
|
|
|
|
|
|||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
x1 x2 x3 |
|
f1 |
|
f1 |
МИРЭА |
|
|
||||||||||||
0 |
0 |
0 |
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
|
0 |
|
|
По определению двойственной функции |
|||||||||||||
0 |
1 |
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
1 |
|
1 |
|
|
|
f1 (0, 0, 0) = |
f |
1(0, 0, 0) = |
||||||||||
1 |
0 |
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
1 |
0 |
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr115x1.jpg)
x1 x2 x3 |
|
f1 |
|
f1 |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
0 |
0 |
0 |
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
|
1 |
|
|
f1 (0, 0, 1) = |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
f |
1(0, 0, 1) = |
|||||||||||||||
0 |
1 |
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= f1(1, 1, 0) = 1 = 0. |
||||||||||||||||
1 |
0 |
0 |
|
0 |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
1 |
0 |
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
И так далее вычисляем значения двойственной функции в каждой |
|||||||||||||||||||||||||||||||||||||
строке таблицы истинности. |
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|||||||||||||||||||||
|
x1 x2 x3 |
|
|
|
f1 |
|
f1 |
|
|
|
|
|
|
|
|
., 0)П= f (1, 0, 1) = 0; |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
, |
|
|||||||||||||||
0 |
0 |
0 |
|
|
|
0 |
|
|
0 |
|
|
f (0, 1, 0) = |
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
f |
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
1 |
(0 |
1 |
||||||||||||||||||||||||||||||
0 |
0 |
1 |
|
|
|
0 |
|
|
0 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
f1 (0, 1, 1) = f |
1(0, 1, 1) = f1(1, 0, 0) = 1; |
||||||||||||||||||||||||||||||
0 |
1 |
0 |
|
|
|
1 |
|
|
0 |
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
f (1, 0, 0) = f |
|
(1, 0, 0) = f |
|
(0, 1, 1) = 0; |
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
0 |
1 |
1 |
|
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
В |
|
|
1 |
. |
|
|
||||||||||||||||
|
|
|
|
|
f1 (1, 0, 1) = f |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
1 |
0 |
0 |
|
|
|
0 |
|
|
0 |
|
|
1(1, 0, 1) = f1(0, 1, 0) = 0; |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
f1 (1, 1, 0) = f1 |
(1, 1, 0) = f |
1(0, 0, 1) = 1; |
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С |
|
|
|
|
|
|
|
|
|
|
||
1 |
0 |
1 |
|
|
|
1 |
|
|
0 |
|
|
f (1, 1, 1) = |
f |
1 |
(1 |
, |
1 |
, |
1) =.f А(0, 0, 0) = 1. |
|||||||||||||||||||
1 |
1 |
0 |
|
|
|
1 |
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
1 |
1 |
1 |
|
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Унучек |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
Окончательно получаем таблицу истинности двойственной к f1 |
|||||||||||||||||||||||||||||||||||||
функции. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
МИРЭА |
||||||||||||||||||||||
Определение 7.5. |
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
Наборы α = (α1, α2, . . . , αn) и β = (α1, α2, . . . , αn) |
||||||||||||||||||||||||||||||||||||||
называются противоположными. |
|
|
|
|
|
|
|
|
e |
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
Например,Барашевα1 = (10110) и β1 = (01001)− противоположные наборы. |
|||||||||||||||||||||||||||||||||||||
|
|
|
f |
= (01110) и |
e |
̸ |
противоположными не явля- |
|||||||||||||||||||||||||||||||
|
Наборы α |
|
β1 = (10011) |
|||||||||||||||||||||||||||||||||||
ются, так как f |
|
|
|
|
|
|
|
|
|
|
|
= (10011). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
2 |
(0 1 1 1 0) = (10001)e |
|
|
|
|
|
|
|
|
|
|
|
|
|
Замечание 7.4. Противоположные наборы расположены симметрично относительно центра таблицы истинности.
Замечание 7.5. Для определения значений двойственной функции на наборе αe = (α1, α2, . . . , αn) мы инвертируем значение функции на противоположном, то есть симметричном относительно центра таблицы
115
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr116x1.jpg)
истинности, наборе. Поэтому, для задания вектора значений функции, двойственной к данной, достаточно переписать вектор значения исходной функции справа налево, инвертируя его.
Пример 7.4. Найти функцию, двойственную к fe2 = (1010 1010).
Решение. Используя замечание 7.5, для нахождения двойственной функции перепишем вектор значений исходной функции слева напра-
во. Получим |
(1010 1010) (0101 0101). |
|
|
||||||||||||||||||||||||||||||||
|
|
←−−−−−− |
|
7→ |
|
|
|
|
|
|
|
. |
|||||||||||||||||||||||
Инвертируем полученный набор: |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(0 1 0 1 0 1 0 1) = (1010 1010); |
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
f2 = (1010 1010). |
|
.П |
. |
||||||||||||||||||||||||
Пример 7.5. Построить вектор значенийВфункции, двойственной к |
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
f3 = (1011 0110). |
|
|
|
|
|
|
|
А |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|||||||
Решение. Аналогично предыдущему примеру |
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
(1011 0110) |
(0110 1101) |
(0 1 1 0 1 1 0 1) = (1001 0010); |
|||||||||||||||||||||||||||||||||
←−−−−−− |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С |
|
|
|||||||||||||||||
7→ |
7→ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
f3 = (1001 0010). |
|
|
|
|
|
|
|
|
|
Определение 7.6. Функция f(x1, x2, . . . , xn) называется самодвой- |
|
ственной, если она двойственна сама себе. |
|
рый обычноБарашевобозначают класс S: |
|
|
Унучек |
принимает вид |
МИРЭА |
Множество всех самодвойственных функций образует класс, кото-
S = {f(xe) P2 | f(x1, x2, . . . , xn) = f(x1, x2, . . . , xn)}.
Функция является самодвойственной тогда и только тогда, когда на противоположных наборах она принимает противоположные значения. Таким образом, вектор значений самодвойственной функции
fe= (α1, α2, . . . , α2n−1−1, α2n−1 | α2n−1 , α2n−1−1, . . . , α2, α1).
116
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr117x1.jpg)
Теорема 7.4. Число самодвойственных функций, зависящих от n |
||||||
переменных, равно |
√ |
|
: |
|
|
|
22n |
√ |
|
|
|||
|
|
|
|S| = |
22n: |
|
Доказательство. Так как вектор значений самодвойственной функции имеет вид
fe= (α1, α2, . . . , α2n−1−1, α2n−1 | α2n−1 , α2n−1−1, . . . , α2, α1),
то любая самодвойственная функция однозначно определяется поло-
виной своего вектора значений, то есть набором длины |
|||
k = |
1 |
· 2n = 2n−1. |
. |
2 |
|
Значит, число самодвойственных функций n переменных равно чис- |
|||||||
|
|
|
|
|
П |
|
|
|
|
|
|
. |
|
|
|
лу различных двоичных наборов длины k. Количество таких наборов |
|||||||
равно |
|
|
|
|
|
|
. |
Барашев |
|
|
|
|
|||
k |
2n−1 |
√ |
2n: |
|
|
|
|
2 |
= 2 = |
2В |
|
А |
|||
Таким образом, |
√ |
2n: |
|
С |
|||
|
|S| = |
2 . |
|
||||
Унучек |
|
|
|
|
Определять, является ли функция самодвойственной, можно несколькими способами.
7.3.1 Алгоритм 1 определения самодвойственности булевой функции
1.Вычислить вектор значений функции, двойственной к данной.
2.Сравнить полученный вектор с вектором значений исходной функции. Если оба вектора тождественно совпали, то функция является самодвойственной. Несовпадение двух векторов хотя бы
в одной координате говорит о том, что исходная функция не является самодвойственной.МИРЭА
Пример 7.6.
117
а) Функция fe1 = (0011 0111) не является самодвойственной (f1 / S),
так как
f1 = (0001 0011) ≠ (0011 0111) = f1.
б) Функция fe2 = (1010 1010) S (f2− самодвойственная функция),
так как
f2 = f2.
Так как самодвойственная функция однозначно определяется толь-
|
|
|
. |
|
ко половиной своего вектора значений, то удобнее пользоваться следу- |
||||
ющим алгоритмом: |
. |
|
|
|
|
|
|
||
7.3.2 Алгоритм 2 определения самодвойственности булевой |
||||
функции |
В |
П |
. |
|
|
|
1.Делим вектор значений функции пополам. Получаем два набора меньшей длины.
2.Берем любую полученную половину (обычно берут правую), переписываем её справа налево и инвертируем (все нули заменяем на единицы и наоборот).
3.Если полученный набор совпадает с оставшейся (левой) половиной вектора значений, то функция является самодвойственной.
При несовпадении строк хотя бы в одной координате, делаем вывод: функция несамодвойственна.Барашев А
а) |
f3 |
= (0110 0110)Унучек |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
МИРЭА |
|
Пример 7.7. Исследовать функцию на самодвойственность: |
||||||||||||
а) |
e |
= (0110 0110); |
б) |
e |
||||||||
f3 |
f4 = (1110 1000) |
|||||||||||
Решение. |
|
|
||||||||||
|
e |
(0110 | 0110) - делим вектор значений функции пополам; |
||||||||||
|
|
←−−−− |
- берем правую половину, |
|||||||||
|
|
(0110) |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
(0 |
|
1 1 0) - переписываем её справа налево |
||||||||
|
|
(1001) |
|
- и инвертируем её. |
Так как (0110) ≠ (1001), то функция не является самодвойственной
(f3 / S);
118
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr119x1.jpg)
б) fe4 = (1110 1000)
(1110 | 1000) - делим вектор значений функции пополам;
←−−−−
(1000) - берем правую половину, (0 0 0 1) - переписываем её справа налево (1110) - и инвертируем её.
Так как (1110) ≡ (1110), то функция самодвойственна (f4 S).
7.3.3Алгоритм 3 определения самодвойственности булевой функции .
1.Находим середину вектора значений функции..
2.Сравниваем значения функции на наборах, симметричных относительно середины.
3.Если при таком сравнении все полученные значения функции про-
тивоположны, то функция является самодвойственной. В противном случае функция несамодвойственна. П
Использование данного алгоритма будет дано ниже, при примене- |
|
нии леммы о несамодвойственной функции. |
С |
ЗамечаниеБарашев7.6. УнучекТождественная функция f1(x) = x и её отрицание f2(x) = x являются самодвойственными функциями одной переменной. Константы 0 и 1 к самодвойственным функциям не относятся. В справедливости этого замечания можно убедиться, применив к каждой из перечисленных функций алгоритм определения самодвойственности двоичных функций.
Теорема 7.5. Класс S самодвойственных функций замкнут :
|
[S] = S. |
Доказательство. |
МИРЭА |
1. f(x) = x S (см. замечание 7.6)
119
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr120x1.jpg)
2. Докажем, |
|
|
|
|
|
|
|
|
|
|
что, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
если |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
функции |
|||||||||||||||||||
f(x1, . . . , xm), f1(x1, . . . , xn1 ), . . . , fm(x1, . . . , xnm ) |
|
|
|
S, то и |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
их суперпозиция F |
= f(f1(x1, . . . , xn1 ), . . . , fm(x1, . . . , xnm )) S. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
По определению самодвойственной функции |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
f(x1, . . . , xm), f1(x1, . . . , xn1 ), . . . , fm(x1, . . . , xnm ) S |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
.. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
f(x , . . . , xm) = f (x1, . . . , xm) = |
f |
( |
|
|
1, . . . , |
|
|
m) |
||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
x |
x |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
f1(x11, . . . , xn1 ) = f1 (x1, . . . , xn1 ) = f1(x1, . . . , xn1 ) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
fm(x1, . . . , xnm ) = fm(x1, . . . , xnm ) = f.m(x |
1, . . . , |
x |
nm ) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
функцию, двойственную к функции |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
Найдем |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
F = f(f (x |
, . . . , x |
|
|
|
|
|
|
|
, . . . , x |
)). |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
n1 |
), . . . , f |
m |
(x |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
Пnm |
. |
|
|
|||||||||||||||||||||||
F (x1, . . . , xn) = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
Барашев |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
= F ( |
x |
1 |
, . . . , |
x |
n) = f(f1( |
x |
1, . . . , |
x |
n1 ), . . . , fm( |
x |
1, . . . , |
x |
nm )) = |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А |
|
|
|
|
||||||||||||||||||||||||||||
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
самодвойственной функции |
} |
|
|||||||||||||||||||||||||||||||||||||||
|
|
по определению |
|
|
|
|
|
|
|
{z |
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
|
f(f1( |
|
1, . . . , |
|
n1 ), . . . , fm( |
|
1, . . . , |
|
nm )) |
= |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
x |
x |
x |
x |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
= | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{z |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
( 1( |
1 |
|
|
|
|
|
|
|
|
n1 ) |
|
|
|
|
|
|
m( |
|
|
1 |
|
|
|
|
|
|
|
|
|
nm |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
применяем закон двойного отрицанияС |
к f1;:::;fm |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f f |
|
, . . . , |
|
|
|
|
|
, . . . , f |
|
|
|
, . . . , |
|
)) = |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
x |
x |
|
|
|
|
|
|
x |
x |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
= f(|1( |
1 |
|
МИРЭА |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
{z |
|
|
|
n}1 ) |
|
|
|
|
|m( |
|
|
1 |
{z |
|
|
|
|
|
|
nm})) = |
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
f (x1;:::;xn |
) f1 |
|
|
|
|
|
|
|
f (x1 |
;:::;xn |
m |
) fm |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
1 |
|
|
|
|
1 |
≡ |
|
|
|
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
|
≡ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
f x , . . . , x |
|
|
|
|
, . . . , f |
|
|
x , . . . , x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
= f (f1(x1, . . . , xn1 ), . . . , fm(x1, . . . , xnm )) = |
|
|
|
|
Лемма S (лемма о несамодвойственной функции).Из неса-
Унучек= f(f1(x1, . . . , xn1 ), . . . , fm(x1, . . . , xnm )).
модвойственной функции f(x1, . . . , xn) путем подстановки в неё вместо переменных x1, . . . , xn функций x и x можно получить несамодвойственную функцию одной переменной 0 или 1.
Доказательство. По условию теоремы f(x1, . . . , xn) / S, то есть
f(x1, . . . , xn) ̸ ≡f(x1, . . . , xn).
120