
семинары (2-3 модуль) 2014
.pdf
1-2. Булевы функции. Формулы и нормальные формы
1. Какие из связок &, _, !, , , j, # обладают свойствами коммутативности, ассоциативности, идемпотентности?
2. Доказать, что (f ) = f для всякой f. Доказать также, что всякая самодвойственная функция равновесна, и привести пример, показывающий, что обратное утверждение неверно.
3. Доказать, что xi существенная переменная функции f(x1; : : : ; xn) тогда и только тогда, когда xi существенная переменная функции f (x1; : : : ; xn).
4. Найти существенные и фиктивные переменные у функций f = (1011101100100010) и g = (0101101001011010).
5. Доказать, что если функция f имеет k фиктивных аргументов, то её вес kfk делится на 2k. Показать на примере, что обратное утверждение неверно.
6. Найти число функций от n переменных, среди которых ровно k существенных.
7. Элементарной конъюнкцией ранга k называется выражение вида x( 1) : : : x( k), где i1 <
i1 ik
< ik, i 2 Z2, x(0) = x и x(1) = x. Найти число элементарных конъюнкций ранга k над множеством переменных X(n) = x1; : : : ; xn .
8. Найти число всех элементарных конъюнкций над X(n).
9. Дизъюнктивной нормальной формой (ДНФ) от n переменных называется формула вида Wi Ki, где Ki некоторые элементарные конъюнкции над X(n). ДНФ называется совершенной (СДНФ), если ранг каждой из входящих в неё конъюнкций равен n. Найти число всех ДНФ от n переменных.
10. Одночленом степени k над множеством переменных X(n) называется выражение вида x11 : : : xnn, где k 1 : : : nk = k, i 2 Z2, x0 = 1 и x1 = x. Найти число одночленов степени k и число всех одночленов над X(n).
11. Булевым многочленом (а также полиномом Жегалкина или АНФ алгебраической
L
нормальной формой) от n переменных называется выражение вида f = i Ki, где Kiразличные одночлены над X(n). Степень многочлена это максимальная степень входящих в него одночленов. Найти число всех многочленов от n переменных.
12. Доказать теорему Жегалкина: всякая булева функция представима некоторой АНФ, и притом единственным образом.
13. Найти полиномы Жегалкина, СДНФ и СКНФ для всех основных (элементарных) двуместных булевых функций.
14. Найти вектор значений функции f, заданной формулой. Указать её вес и вектор двойственной функции. Выписать СДНФ, СКНФ и АНФ для f и f . Выяснить, какие переменные существенные, какие фиктивные.
а) ((x1 ! x2) ! x2x3) ! (x1 ! (x2 ! x3))
в) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 3 |
|
|
|
|
|
3 |
||||
1 _ |
|
2 _ |
3 |
|
|
j |
1 |
|
2 # |
||||||||||||||||
б) |
|
(x1x2) |
# (x2 |
x3) |
|
|
j |
x |
2 |
! |
(x1 |
x3) |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
((x |
|
|
|
x ) |
x |
|
) (x (x x )) |
|||||||||||||||||
|
x |
x |
|||||||||||||||||||||||
г) |
|
|
|
|
2 |
|
3)) # (x2 _ (x1 x3)) |
||||||||||||||||||
( |
x1 |
|
2x3 |
! ( |
|
|
|||||||||||||||||||
x |
x |
x |
|||||||||||||||||||||||
д) (x1 # x3) ! ((x2 ! x4) # (x1 j x3)) |
|

15. Доказать, что переменная является существенной для булевой функции тогда и только тогда, когда она входит в её полином Жегалкина.
16. Найти степень функции f = (01000010) не вычисляя её АНФ.
17. Является ли функция f1 = x3 подфункцией функции f2 = ((x1 ! x2) x3) _ x3?
18. Принцип двойственности. Пусть формула F реализует функцию f и при построении F использованы символы функций g1; : : : ; gm. Доказать, что если заменить каждое вхождение символа gi, 1 6 i 6 m, в формуле F на символ двойственной функции gi (не меняя структуру формулы F ), то полученная формула F 0 будет реализовывать функцию f .
19. Воспользовавшись предыдущей задачей, записать какую-нибудь формулу, реализующую функцию f , не находя вектора её значений, если f = (x1x2 _ x3)(x2 (x1 j x3)) (сделать это как минимум двумя различными способами).
20. Весом kfk булевой функции f называется число единиц в векторе её значений: kfk =
P
x2Zn2 f(x). Найти число функций из P2(n), имеющих вес k.
21. Подсчитать число наборов ~ = ( 1; : : : ; n) 2 Zn2 , на которых функция f = f(x1; : : : ; xn) принимает единичное значение (т.е. найти вес функции kfk), если
а) f = x1 ! (x2 ! (x3 ! : : : ! (xn 1 ! xn) : : :)),
б) f = (: : : ((x1 ! x2) ! x3) ! : : :) ! xn,
в) f = x1x2 x2x3 : : : xn 1xn,
г) f = x1x2 x3x4 : : : xn 1xn, где n чётно,
д) f = x1x2 x3x4 : : : xn 2xn 1 xn, где n нечётно.
22. Доказать, что множество всех двоичных многочленов от n переменных образует линейное векторное пространство над Z2, изоморфное пространству булевых функций P2(n), найти его размерность и базис.
23. Степенью deg f булевой функции f называется степень её полинома Жегалкина. Найти количество всех функций а) степени 6 3; б) степени = 3 из P2(n) при n > 3.
24. Найти число всех булевых функций из P2(n) степени не выше k и число всех функций степени, равной k. Какое из этих множеств является линейным пространством?
25. Булева функция называется равновесной или уравновешенной, если она принимает одинаковое число значений 0 и 1. Является ли множество всех равновесных функций от n переменных линейным пространством? Найти число равновесных функций в P2(n).
26. Пусть B произвольный шар радиуса k в кубе размерности n. Доказать, что всякая булева функция f : Zn2 7!Z2 степени не более k однозначно определяется своими значениями на шаре B. Например, пусть известно, что f = (1*101101**0*0*10) и deg f = 2. Найти вектор значений f и её АНФ.
27. На лекции был изложен метод неопределённых коэффициентов для вычисления АНФ(f). Получить отсюда, что коэффициент a , = ( 1; 2; : : : ; n), стоящий перед одночленом x11 x22 : : : xnn в АНФ(f), равен сумме (по модулю 2) значений функции f по всем наборам, не превосходящим :
M
a = f( ):
6
3. Основные классы булевых функций
~ |
~ |
1. Классы функций, сохраняющих константы T0 = ff : f(0) = 0g и T1 |
= ff : f(1) = 1g. |
Найти мощности множеств T0(n), T1(n), T0 \ T1(n), T0 [ T1(n), T0 n T1(n), T0 4 T1(n), где под записью K(n), где K P2, понимается конечное множество K \ P2(n). Какими свойствами обладают СДНФ, СКНФ и АНФ у функции, сохраняющей а) константу ноль, б) константу единица?
2. Класс самодвойственных функций S = ff : f = f g. Найти jS(n)j, jS\T0(n)j, jS[T1(n)j, jS \T0 \T1(n)j, jS [(T0 4T1)(n)j. Доказать, что функция f(x1; : : : ; xn) самодвойственна тогда и только тогда, когда её подфункция f0 = f(0; x2; : : : ; xn) двойственна к подфункции f1 = f(1; x2; : : : ; xn), то есть f0 = f1. Найти число различных функций f 2 S, таких что f 2 0*1**0**. Существует ли самодвойственная функция, имеющая ровно две существенные переменные?
3. Класс линейных функций L = ff : deg f 6 1g. Найти jL(n)j, jL \ T0(n)j, jL \ T1(n)j, jL \ S(n)j, jL \ T0 \ T1(n)j, jL \ T0 \ T1 \ S(n)j. Доказать, что всякая линейная функция, не являющаяся константой, равновесна. Доказать, что если линейная функция не сохраняет обе константы, то она самодвойственна (иными словами, L ( T0 [T1 [S). Доказать, что всякая подфункция линейной функции линейна. Найти число нелинейных равновесных функций из P2(n). Сколько среди них несамодвойственных?
4. Класс монотонных функций M = ff : ~ |
~ |
~ |
6 ) f(~) 6 f( )g. Найти число монотонных |
||
функций от n = 1; 2; 3; 4 переменных. Показать, что M |
T0 [ T1. Доказать, что если |
функция f немонотонна, то найдётся пара соседних наборов, на которых нарушается условие монотонности f. Доказать, что f 2 M , f 2 M. Доказать, что функция f 2 P2(n) монотонна тогда и только тогда, когда для её подфункций f0i и f1i, полученных из f подстановкой констант 0 и 1 вместо переменной xi, справедливо неравенство f0i 6 f1i при всех i = 1 : : : n. Показать, что число одночленов в АНФ каждой монотонной функции нечётно.
5. Доказать, что классы T0, T1, S, L и M попарно различны.
6. Определить принадлежность функций f = (10110010), g = (0011001011011011) и каждой функции из задачи 14 (см. предыдущее задание) всем пяти основным классам.
7. В помеченном кубе, представляющем булеву функцию f, концы любого ребра окрашены разными цветами. Доказать, что f линейна. Найти вид её АНФ.
8. Перечислить явно все функции из множества L \ M(n). Найти мощности множеств
L n (S [ M)(n), (L \ (T1 4 S)) n M(n) и T0 [ T1 [ S [ L [ M(n).
9. Найти число всех различных монотонных функций веса w = 1; 2; 3; 4; 5; 6; 7; 8 от n переменных при n > 3.
10. Набор ~ 2 Zn2 называется нижней единицей монотонной функции f(x1; : : : ; xn), если
f(~) = 1 |
~ |
~ |
~. Доказать, что каждая монотонная |
и f( ) = 0 |
для любого набора 6 |
функция однозначно восстанавливается по множеству своих нижних единиц (например, найти вектор значений функции f, если 0100 и 1010 её нижние единицы).
11. Доказать, что:
а) jM(n)j 6 jM(n 1)j2, б) 2(bn=n2c) 6 jM(n)j 6 n(bn=n2c) + 2, в) jM(n)j 6 3(bn=n2c).
12. Функция называется симметрической, если она не меняется при любой перестановке своих аргументов. Найти число n-местных симметрических функций.

4. Операция замыкания. Замкнутые классы булевых функций
1. Пусть f = (10111010), g = (01110010), h = (11110101). Найти векторы значений функций, заданных формулами над A = ff; g; hg: а) f(x2; x3; x1), б) f(x1; g(x1; x2; x3); x3), в) f(x3; g(x1; x2; x1); h(x1; x2; x3)), г) g(x2; h(x1; x1; x1); f(x1; x2; g(x1; x2; x1))).
2. Запись [A], где множество функций A P2 может быть как конечно, так и бесконечно, означает множество всех функций, реализуемых формулами над множеством A. Множество [A] называется замыканием множества A. Доказать следующие свойства операции замыкания множеств булевых функций: A [A], [[A]] = [A] для всех множеств A; если A B, то [A] [B].
3. Множество A называется замкнутым классом, если A = [A]. Доказать по определению, что каждое из множеств P2, T0, T1, S, L и M замкнуто.
4. Доказать, что пересечение любых замкнутых классов всегда замкнуто, то есть что [A] = A, [B] = B ) [A \ B] = A \ B. Проверить равенства [A [ B] = [A] [ [B] и [A \ B] = [A] \ [B], где A; B P2 произвольные, не обязательно замкнутые, подмножества. Привести пример двух замкнутых классов, объединение которых также является замкнутым классом.
5. Множество B называется функционально полным во множестве A, если [B] = A. Множество B называется (функциональным) базисом во множестве A, если [B] = A и для всякого собственного подмножества B0 ( B выполнено [B0] 6= A. Доказать, что функционально полными множествами и базисами обладают только замкнутые классы. Доказать, что если [A] = B и A [C], то B [C].
6. Принадлежит ли функция f замыканию множества A:
а) f = x ! y, A = fx; x y; x y z; 0; 1g, в) f = x y, A = fx y z; x _ y _ zg,
д) f = (01010111), A = f0; 1; xy; x _ yg,
б) f = x y, A = fx; x y z; xy _ yz _ xzg, г) f = xy, A = fx _ y; x yg,
е) f = x y z, A = fx; xy _ yz _ xzg.
7. Найти [A], если |
|
|
|
|
|
|
|
|
а) A = f |
x; xy; x _ yg, |
б) A = f |
x; xyg, |
в) A = f |
x; x _ yg, |
|
||
г) A = fx j yg, |
д) A = f1; x yg, |
е) A = f1; x y zg, |
|
|||||
ё) A = f1; x y; xyg, |
ж) A = fx ! y; x yg, |
з) A = fx ! y; |
|
g. |
|
|||
x |
|
|||||||
и) A = fxyz; x yg, |
й) A = fx y z 1g, |
к) A = fx _ y; x yg, |
|
|||||
л) A = fx _ y; xyg, |
м) A = ff 2 P2 : deg f 6 2g, |
~ |
~ |
|||||
н) A = ff 2 P2 : f(0) |
> f(1)g. |
8. Является ли множество всех симметрических булевых функций замкнутым классом и почему?
9. Доказать, что всякая функция f = f(x1; x2; x3) трёх аргументов получается из некоторой симметрической функции g = g(x1; x2; : : : ; x7) семи аргументов отождествлением переменных функции g.
10. Каков вид полинома Жегалкина симметрической булевой функции?
11. Найти число монотонных симметрических булевых функций, число самодвойственных симметрических булевых функций и число линейных симметрических булевых функций от n переменных. Какие из этих множеств являются линейными подпространствами в P2(n)?

5. Предполные классы и теорема Поста. Шефферовы функции
1. Для каких теоретико-множественных операций множество T0 S является замкнутым классом и каково его замыкание, если = [; \; n; 4?
2. Пусть A B S и [A [ f1g] = [B [ f1g]. Доказать, что [A] = [B].
3. Перечислить все существующие таблицы принадлежности булевых функций основным замкнутым классам (например, не существует такой функции f 2 P2, что f 2= T0, f 2= T1, f 2 S, f 2 L и f 2 M).
4. Множество, полное в P2, называется просто полным или сокращённо ФПС (функционально полная система). Проверить по критерию Поста полноту системы функций в P2 (если система не является ФПС, то дополнить её до базиса): а) fx; x y; 0g, б) fx; x y; 1g, в) fx; x y; 1g, г) fx; x y; xyg, д) fx y; x ! y; 0g, е) fxy _ xz _ yz; xg, ё) fxy _ xz _ yzg, ж) fx y z; xg, з) f(x ! y) ! zg, и) f(x # y) # zg.
5. Пусть A P2(n), причём jAj > 22n 1. Доказать, что [A] = P2.
6. Проанализировав доказательство критерия Поста, показать, что всякий базис в P2 состоит не более чем из четырёх функций. Привести примеры базисов в P2, состоящих из одной, двух, трёх и четырёх функций.
7. Доказать, что теоретико-множественные операции разности n и симметрической разности 4 двух множеств не выражаются через пересечение \ и объединение [. Можно ли выразить разность через симметрическую разность и обратно?
8. Функция f называется шефферовой для класса A, если [f] = A. Функция, шефферова для P2, называется просто шефферовой. Показать, что функция f шефферова (в P2) тогда и только тогда, когда f не сохраняет константы и несамодвойственная. Найти все двуместные шефферовы функции. Найти число n-местных шефферовых функций. Какие из классов T0, T1, S, L и M обладают шефферовыми функциями?
9. Пусть функция f монотонна и существенно зависит от не менее чем двух переменных. Доказать, что система f0; fg является полной в P2. Всегда ли функция f шефферова?
10. Пусть функция f монотонна и имеет ровно две нижних единицы. Верно ли, что функция f шефферова?
11. Привести примеры базисов в замкнутых классах T0, T1, S, L и M, состоящих из одной, двух, трёх и четырёх функций. Если привести пример какого-нибудь базиса не удаётся, то доказать его отсутствие.
12. Множество A B называется предполным в замкнутом классе B, если [A] 6= B и для всех f 2 B n A выполнено [A [ ffg] = B. Предполный в P2 класс называется просто предполным. Доказать, что всякое предполное в B множество замкнуто. Доказать предполноту классов T0, T1, S, L и M в P2. Показать, что иных предполных классов, кроме этих пяти, в P2 нет.
13 . Существуют ли булевы функции f1 и f2, удовлетворяющие одновременно следующим трём условиям: 1) существует предполный класс, содержащий f1 и не содержащий f2; 2) существует предполный класс, содержащий f2 и не содержащий f1; 3) не существует базиса в P2, содержащего одновременно f1 и f2.
14 . Найти все предполные классы в T0, T1, S, L и M.
15 . ¾Большая¿ теорема Поста. Доказать, что число всех замкнутых классов в P2 счётно. Доказать, что каждый замкнутый класс имеет конечный базис. Построить решётку всех замкнутых классов в P2 с указанием их базисов.

МОДУЛЬ 3.
6. Контактные схемы. Схемы из функциональных элементов
Контактная схема. Схема из функциональных элементов (СФЭ). Функция, реализуемая схемой. Сложность контактной схемы. Сложность и глубина СФЭ. Минимальная схема. Сложность функции. Функция Шеннона. Основные методы синтеза. Метод каскадов и метод Шеннона. Различные оценки функции Шеннона.
1. Построить методом каскадов контактную схему для функции
а) (x _ (xy z)) yz,
б) (x y)(z _ xw) _ x(z _ w),
в) f = ((: : : ((x1 ! x2) ! x3) ! : : :) ! xn) ! x1,
г) f = x1 x2 : : : xn,
д) f(x1; : : : ; xn) = 1 , x1 + x2 + : : : + xn = 0 mod 3,
е) f(x1; : : : ; xn) = 1 , x1 + x2 + : : : + xn = 0 mod 6,
ж) f(x1; : : : ; x2n) = 1 , x1 + : : : + xn = 0 mod 3 и xn+1 + : : : + x2n = 0 mod 2.
2. Построить методом каскадов контактную схему для функции f и доказать её минимальность:
f(x1; : : : ; xn) = 1 , x1 = x2 = : : : = xn
3. Верно ли, что функции f и f всегда имеют одинаковую сложность при реализации контактными схемами?
4. Пусть A P2 и 8 g 2 A : g 2 A. Доказать, что 8 f 2 P2 : LA(f) = LA(f ).
5. Привести пример такого множества A 6= A и такой функции f, что LA(f) 6= LA(f ).
6. Найти сложность реализации функции в данном базисе функциональных элементов (предъявить вычисляющую функцию схему и доказать её минимальность):
а) Lf&;_; |
|
|
g(1), |
б) Lf&;_; |
|
g(0), |
в) Lf&;_; |
|
g(x j y), |
|
г) Lf&;_; |
|
g(x # y), |
||||
|
|
|
|
|
|||||||||||||
д) Lf&;_; |
|
g(x ! y), |
е) Lf&;_; |
|
g(x y), ё) Lf&;_; |
|
g(x y); |
||||||||||
|
|
|
|||||||||||||||
ж) Lf ;&;1g(0), |
з) Lf ;&;1g(x y), и) Lf ;&;1g(x _ y), й) Lf ;&;1g(x ! y), |
||||||||||||||||
к) Lf ;&;1g(x j y); |
л) Lfjg(1), |
м) Lfjg(0), н) Lfjg(x _ y), |
|||||||||||||||
о) Lfjg(x&y), |
п) Lfjg(x ! y), |
р) Lfjg(x y), |
с) Lfjg(x y), т) Lfjg(x # y). |
7. Доказать, что
а) Lf&; g(x1 _ : : : _ xn) = 2n,
б) Lf_; g(x1& : : : &xn) = 2n.
8. Пусть A некоторое полное в P2 множество. Найти LA(P2(n)) минимальную сложность реализации одной схемой всех 22n функций от переменных x1; : : : ; xn.
9. В базисе P2(2) построить схему сумматор двух n-разрядных чисел (у этой схемы 2n входов, на которые подаются разряды слагаемых, и (n + 1) выход, на которых появляются вычисленные разряды их суммы). Сложность сумматора должна быть линейна по n.
10 . Построить сумматор из предыдущей задачи так, чтобы его сложность не превышала c1n, а глубина c2 log2 n, где c1, c2 некоторые не зависящие от n константы.