Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

семинары (2-3 модуль) 2014

.pdf
Скачиваний:
19
Добавлен:
23.03.2016
Размер:
141.47 Кб
Скачать

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 константы.