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

С2. МОИ. Задачи

.pdf
Скачиваний:
30
Добавлен:
10.02.2015
Размер:
124.38 Кб
Скачать

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. Найти полиномы Жегалкина, СДНФ и СКНФ для всех основных (элементарных) двуместных булевых функций.

8. Найти вектор значений функции f, заданной формулой. Указать её вес и вектор двойственной функции. Выписать СДНФ, СКНФ и АНФ для f и f . Выяснить, какие переменные существенные, какие фиктивные.

а) ((x1 ! x2) ! x2x3) ! (x1 ! (x2 ! x3))

б) (x1x2) # (x2 x3) j x2 ! (x1 x3)

в) ((x1 _ x2 _ x3) x1x3) j (x1 (x2 # x3))

г) ( x1x2x3 ! (x2 x3)) # (x2 _ (x1 x3))

д) (x1 # x3) ! ((x2 ! x4) # (x1 j x3))

9. Доказать, что переменная является существенной для булевой функции тогда и только тогда, когда она входит в её полином Жегалкина.

10. Найти степень функции f = (01000010) не вычисляя её АНФ.

11. Является ли функция f1 = x3 подфункцией функции f2 = ((x1 ! x2) x3) _ x3?

12. Принцип двойственности. Пусть формула F реализует функцию f и при построении F использованы символы функций g1; : : : ; gm. Доказать, что если заменить каждое вхождение символа gi, 1 6 i 6 m, в формуле F на символ двойственной функции gi (не меняя структуру формулы F ), то полученная формула F 0 будет реализовывать функцию f .

13. Воспользовавшись предыдущей задачей, записать какую-нибудь формулу, реализующую функцию f , не находя вектора её значений, если f = (x1x2 _ x3)(x2 (x1 j x3)) (сделать это как минимум двумя различными способами).

14. Найти количество всех функций а) степени 6 3; б) степени = 3, из P2(n) при n > 3.

15. Пусть B произвольный шар радиуса k в кубе размерности n. Доказать, что всякая булева функция f : Zn2 7!Z2 степени не более k однозначно определяется своими значениями на шаре B. Например, пусть известно, что f = (1*101101**0*0*10) и deg f = 2. Найти вектор значений f и её АНФ.

3. Основные классы булевых функций

1. Подсчитать число наборов ~ = ( 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 нечётно.

 

 

 

~

~

2. Классы функций, сохраняющих константы 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). Какими свойствами обладают СДНФ, СКНФ и АНФ у функции, сохраняющей а) константу ноль, б) константу единица?

3. Класс самодвойственных функций 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**. Существует ли самодвойственная функция, имеющая ровно две существенные переменные?

4. Класс линейных функций 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). Сколько среди них несамодвойственных?

5. Класс монотонных функций 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. Показать, что число одночленов в АНФ каждой монотонной функции нечётно.

6. Доказать, что классы T0, T1, S, L и M попарно различны.

7. Определить принадлежность функций f = (10110010), g = (0011001011011011) и каждой функции из задачи 8 (см. предыдущее занятие) всем пяти основным классам.

8. В помеченном кубе, представляющем булеву функцию f, концы любого ребра окрашены разными цветами. Доказать, что f линейна. Найти вид её АНФ.

9. Перечислить явно все функции из множества L \ M(n). Найти мощности множеств

L n (S [ M)(n), (L \ (T1 4 S)) n M(n) и T0 [ T1 [ S [ L [ M(n).

10. Найти число всех различных монотонных функций веса w = 1; 2; 3; 4; 5; 6; 7; 8 от n переменных при n > 3.

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 = f

x; x y; x y z; 0; 1g,

б) f = x y, A = f

x; x y z; xy _ yz _ xzg,

в) f = x y, A = fx y z; x _ y _ zg,

г) f = xy, A = fx _ y; x yg,

д) f = (01010111), A = f0; 1; xy; x _ yg,

е) f = x y z, A = f

x; 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. Набор ~ 2 Zn2 называется нижней единицей монотонной функции f(x1; : : : ; xn), если

f(~) = 1

~

~

~. Доказать, что каждая монотонная

и f( ) = 0

для любого набора 6

функция однозначно восстанавливается по множеству своих нижних единиц (например, найти вектор значений функции f, если 0100 и 1010 её нижние единицы).

9. Доказать, что:

а) 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).

10. Функция называется симметрической, если она не меняется при любой перестановке своих аргументов. Найти число n-местных симметрических функций. Является ли множество всех симметрических булевых функций замкнутым классом? Почему?

11. Доказать, что всякая функция f = f(x1; x2; x3) трёх аргументов получается из некоторой симметрической функции g = g(x1; x2; : : : ; x7) семи аргументов отождествлением переменных функции g.

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 с указанием их базисов.