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

а) f x1, x2 x1 x2 ;

б) f x1 , x2 , x3 (10110111) .

◄ а) Выпишем таблицу истинности функции f (табл. 2.26).

Канонический полином Жегалкина от двух переменных имеет вид:

P(x1, x2 ) a0 a1x2 a2 x1 a3 x1x2 .

Таблица 2.26

x1

x2

f

0

0

1

0

1

1

1

0

1

1

1

0

Поэтому должны выполняться равенства:

f 0,0 1 P 0,0 a0 a1 0 a2 0 a3 0 0; f 0,1 1 P 0,1 a0 a1 1 a2 0 a3 0 1; f 1,0 1 P 1,0 a0 a1 0 a2 1 a3 1 0; f 1,1 0 P 1,1 a0 a1 1 a2 1 a3 1 1.

 

Откуда последовательно находим

a0 1,

a1 0 , a2 0 ,

a3 1 .

Таким образом,

f 1 x1x2 .

 

 

 

 

 

Таблица 2.27

б) Выпишем таблицу истинности функции

 

 

f (табл. 2.27).

 

 

 

 

 

 

 

 

 

 

 

x1

 

x2

x3

f

Запишем в общем виде канонический

0

 

0

0

1

полином Жегалкина от трех переменных:

 

 

 

 

 

P x1, x2 , x3 a0 a1x3 a2 x2

0

 

0

1

0

0

 

1

0

1

 

a3 x2 x3 a4 x1 a5 x1x3 a6 x1x2 a7 x1x2 x3.

0

 

1

1

1

1

 

0

0

0

Нам

нужно

подобрать

такие

 

 

ai , чтобы на каждом

 

1

 

0

1

1

коэффициенты

наборе

1

 

1

0

1

значений переменных выполнялось равенство

1

 

1

1

1

f 1 , 2 , 3 P 1 , 2 , 3 .

 

 

 

 

 

Имеем:

f 0,0,0 1 P 0,0,0 a0 a1 0 a2 0 a3 0 0

a4 0 a5 0 0 a6 0 0 a7 0 0 0 a0 1; f 0,0,1 0 P 0,0,1 1 a1 1 a2 0 a3 0 1

a4 0 a5 0 1 a6 0 0 a7 0 0 1 a1 1;

92

f 0,1,0 1 P 0,1,0 1 1 0 a2 1 a3 1 0

a4 0 a5 0 0 a6 0 1 a7 0 1 0 a2 0 ;

f 0,1,1 1 P 0,1,1 1 1 1 0 1 a3 1 1

a4 0 a5 0 1 a6 0 1 a7 0 1 1 a3 1; f 1,0,0 0 P 1,0,0 1 1 0 0 0 1 0 0

a4 1 a5 1 0 a6 1 0 a7 1 0 0 a4 1; f 1,0,1 1 P 1,0,1 1 1 1 0 0 1 0 1

1 1 a5 1 1 a6 1 0 a7 1 0 1 a5 0 ; f 1,1,0 1 P 1,1,0 1 1 0 0 1 1 1 0 1 1

0 1 0 a6 1 1 a7 1 1 0 a6 1; f 1,1,1 1 P 1,1,1 1 1 1 0 1 1 1 1 1 1

0 1 1 1 1 1 a7 1 1 1 a7 0 .

Теперь, когда коэффициенты найдены, запишем полином Жегалкина:

f x1, x2 , x3 1 1 x3 0 x2 1 x2 x3

1 x1 0 x1x3 1 x1x2 0 x1x2 x3 .

Упростив запись, получим

f x1, x2 , x3 1 x3 x2 x3 x1 x1x2 . ►

Упр а жн е н ие

2 . 2 6 .

Используя метод

неопределенных

коэффициентов, построить полином Жегалкина функции:

а) f x1 , x2 (1011) ;

б) f x1 , x2 , x3 (11100101) .

Определение.

Булева

функция называется

линейной, если ее

полином Жегалкина имеет степень 0 или 1.

Иначе говоря, функция линейна, если ее можно представить формулой вида f b0 b1x1 b2 x2 ... bn xn .

Обозначим через L множество всех линейных булевых функций, через L(n) - множество линейных функций от n переменных.

Пр и м ер 1 0 . а ) Все функции одной переменной 0,1, x, x x 1 линейные.

93

б) Функции

xy , x y x y xy ,

x

 

y 1 xy ,

 

x y 1 x y xy

и x y x y x y xy 1 x xy

линейными не являются. Функции x y , x y x y x y 1

линейные.

Упр а жн е н ие 2 . 2 7 . Задать полиномами Жегалкина все линейные функции от двух переменных.

Множества функций T0 , T1 , S , M , L называют классами

Поста.

Пр и м ер 1 1 . Определить, каким из классов Поста принадлежит функция f x, y, z x y z x .

◄ Выпишем таблицу истинности функции f (табл. 2.28).

 

 

 

 

 

 

 

 

 

 

Таблица 2.28

 

 

 

 

 

 

 

 

 

 

 

 

x

y

 

x y

 

 

 

 

 

 

f x, y, z x y z

 

 

 

 

 

 

 

 

 

x

z

 

x

z x

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

1

 

0

 

 

0

 

 

0

0

1

0

1

 

0

 

 

0

 

 

0

1

0

1

1

 

0

 

 

1

 

 

0

1

1

1

1

 

0

 

 

1

 

 

1

0

0

1

0

 

1

 

 

0

 

 

1

0

1

1

0

 

0

 

 

1

 

 

1

1

0

1

0

 

1

 

 

0

 

 

1

1

1

1

0

 

0

 

 

1

 

 

f 0, 0, 0 0 , следовательно, f T0 .

 

 

f 1,1,1 1, следовательно, f T1 .

 

 

f (0, 0,1) f (1,1, 0) , следовательно, f

S .

 

0,1,0

 

(1,1,0) , а f 0,1, 0 f (1,1, 0) , следовательно,

f M .

Чтобы определить, линейна ли функция, найдем ее полином Жегалкина методом элементарных преобразований. Выпишем СДНФ функции и упростим ее:

f xyz xyz xyz xyz xy z z xz y y xy xzxy xz (x 1) y xz xy y xz .

94

f x y z
f xy xz yz

Поскольку в полиноме Жегалкина есть произведения переменных, то f L . ►

Упр а жн е н ие 2 . 2 8 . Определить, каким из классов Поста принадлежит функция f x, y, z x y z y .

5. Замыкание системы булевых функций. Замыкание B

системы булевых функций B - это множество всех функций, которые можно задать формулами над B .

Заметим что термин «система» используется в дискретной

математике как синоним слова «множество».

 

Пр и м ер 1 2 . а) Пусть B 1,

 

, тогда B 0,1, x, x .

x

 

 

 

 

 

б) Замыканием системы

B , , является множество всех

булевых функций P2 , поскольку любая булева функция представима в

виде СДНФ или СКНФ.

 

 

 

 

 

в) Замыканием системы

 

B 0,1, , является

множество

всех булевых функций P2 ,

поскольку любая булева

функция

представима в виде полинома Жегалкина.

Определение. Система функций B называется замкнутой, если

B B .

Классы Поста T0 , T1 , S , M , L являются замкнутыми

множествами.

Из этого утверждения (его доказательство приведено во второй части параграфа) вытекает, что если функции f1, f2 ,..., fk принадлежат

некоторому классу Поста, то любая функция, записанная формулой с использованием только функций этого класса, также будет принадлежать данному классу Поста.

Пр и м ер 1 3 . а) Функция монотонная,

поскольку она представлена исключительно через дизъюнкцию и конъюнкцию, а эти две функции - монотонные.

б) Функция линейная, поскольку она представлена

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

95

В то же время функцию, не принадлежащую какому-нибудь классу Поста, нельзя представить формулой только через функции, входящие в этот класс.

Пр и м ер 1 4 . Доказать, что функцию f (1001) нельзя задать формулой над множеством B .

Конъюнкция принадлежит к классу T0 . Класс T0 является

замкнутым множеством, следовательно, любая функция, заданная формулой над его функциями, сохраняет 0. Функция f (1001) этим

свойством не обладает, значит, ее нельзя задать формулой только через конъюнкцию. ►

Упр а жн е н ие 2 . 2 9 . Доказать, что функцию f нельзя задать формулой над множеством B , если:

а) f (1100) , B ;

б) f (01111101) , B ;

в) f xy 1, B , .

Теоретические обоснования

Теорема 2.10. Замыкание обладает следующими свойствами:

1)B B ;

2)B B ;

3)B1 B2 B1 B2 ;

4)B1 B2 B1 B2 .

Доказательство. Справедливость утверждения (1) непосредственно следует из определения замыкания, поскольку всякая функция реализуется формулой в виде символической записи самой функции.

Справедливость утверждения (2) вытекает из индуктивного определения формулы: всякая функция из B задается некоторой

формулой над B , а тогда всякая функция из B , которая задается

формулой над B , задается также некоторой формулой над B .

96

Утверждение (3) очевидно, поскольку, если B1 подмножество B2 , то любая формула над B1 является также формулой над B2 .

Докажем

утверждение

(4).

Возьмем произвольную функцию

f B1 B2 . Согласно

определению

объединения

множеств,

f B1 или

f B2 , т.е.

f

можно задать формулой над B1 или

формулой над B2 . Но любая формула над B1

( B2 ) будет формулой и

над B1 B2 .

Следовательно,

f B1 B2 , что и

требовалось

доказать. ■

 

 

 

 

 

Теорема 2.11. Классы Поста T0 , T1 , S , M , L являются

замкнутыми множествами.

Доказательство. Надо доказать, что классы Поста совпадают со своими замыканиями. Для этого нужно доказать два утверждения: 1) каждый класс Поста принадлежит своему замыканию и 2) замыкание каждого класса Поста принадлежит самому классу.

Справедливость первого утверждения непосредственно вытекает из первого свойства замыкания.

Второе утверждение сводится к тому, что любая функция, заданная формулой через функции класса Поста, также принадлежит этому классу. Справедливость этого утверждения несложно установить индукцией по построению формул.

Баз ис и н д ук ц и и . Тождественная функция принадлежит всем классам Поста, значит, когда формула есть переменная, утверждение

справедливо.

 

Ин д ук т и в н ы й пер е хо д .

1. Покажем, что функция

F f ( f1, f2 ,..., fn ) T0 , если f ,

f1, f2 ,..., fn T0 :

F(0,0,...,0) f f1 0,0,...,0 , f2 0,0,...,0 ,..., fn 0,0,...,0

fi T0 f 0, 0,..., 0 f T0 0 .

2. Покажем, что функция

F f ( f1,

f2 ,..., fn ) T1 , если

f , f1, f2 ,..., fn T1 :

 

 

 

F(1,1,...,1) f f1 1,1,...,1 , f2 1,1,...,1 ,..., fn 1,1,...,1

f T

 

f T

 

i 1 f 1,1,...,1

1 1 .

 

 

 

 

97

3. Покажем, что функция F f ( f1, f2 ,..., fn ) S , если f , f1, f2 ,..., fn S :

F f ( f , f

 

 

 

)

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

2

,..., f

n

 

1

 

 

 

f ( f1 , f2 ,..., fn ) f ( f1, f2 ,..., fn ) F .

4. Покажем, что функция F f ( f1, f2 ,..., fn ) M , если f , f1, f2 ,..., fn M .

Возьмем два произвольных набора и значений переменных таких, что . Тогда в силу монотонности функций f1, f2 ,..., fn

имеем:

1 f1 f1 1 ;2 f2 f2 2 ;

……………………………

n fn fn n .

Следовательно, 1, 2 ,..., n

 

1, 2 ,..., n , и в силу

 

монотонности f

f 1, 2 ,..., n f 1, 2 ,..., n .

Или

f f1 , f2 ,..., fn f f1 , f2 ,..., fn .

Таким образом, для любых наборов и таких что ,

выполняется неравенство F F , что и требовалось доказать.

5. Покажем что функция F f ( f1, f2 ,..., fn ) L , если

f , f1, f2 ,..., fn L .

Пусть

f b0

b1 y1 b2 y2

... bn yn ;

f

a1

a1x

a1 x

... a1 x ;

1

0

1 1

2 2

n n

98

 

 

f

2

a2 a2 x

a2 x

... a2 x ;

 

 

 

 

 

0

 

1

 

1

2

2

 

 

 

n

n

 

 

 

……………………………………….

 

 

 

f

n

an

an x

an x

... an x .

 

 

 

 

0

 

1

 

1

2

2

 

 

 

n

n

 

Подставим правые части этих равенств в формулу для F :

F b b

 

 

 

 

n

a1x

 

b

 

 

 

 

n

 

 

a1

 

 

 

a2

 

a2 x

...

0

1

 

 

0

 

i

i

2

 

0

 

i

i

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

i 1

 

 

 

 

n

an x

 

b

 

b a1

b a2

... b an

b an

 

 

 

 

n 0

 

i i

 

0

 

1 0

 

 

2 0

 

 

n 0

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

b2 ai2 xi ... bn ain xi

 

b1ai1 xi

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

b2 ai2 ... bn ain xi

b0 b1a10 b2 a02 ... bn a0n

b1a1i

c0

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

ci

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c0 c1x1

 

c2 x2

... cn xn .■

 

 

 

Задачи повышенной сложности

2.19. Сколько функций содержит множество:

 

 

а) S n ;

 

 

 

 

 

 

 

 

 

 

б) T1 n S n ;

в) L n

 

 

 

 

 

 

 

 

 

 

г) T0 n S n ;

д) L n T0 n T1 n ;

 

 

е) L n S n ?

2.20. Доказать, что ни один из классов Поста не содержится в

другом.

 

f x1, x2 ,..., xn

 

 

 

 

 

 

 

 

2.21. Пусть

 

- произвольная

булева функция;

x получена

из

 

 

f x1, x2 ,..., xn

путем

 

отождествления всех

переменных: x f x, x,..., x . Определить x , если:

99

а) f T1 \ T0 ;

б) f S .

2.22. Показать, что если

f T0 , то f либо немонотонная, либо

несамодвойственная.

2.23. Доказать, что функция, двойственная к монотонной функции, монотонна.

2.24. Доказать, что функция, двойственная к линейной функции, линейна.

2.25.Доказать, что пересечение замкнутых классов - замкнутый

класс.

2.26.Является ли объединение замкнутых классов замкнутым

классом?

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

2.28.Назовем булеву функцию f монотонно невозрастающей,

если

для любых наборов и

значений переменных, таких что

 

 

 

, выполняется неравенство

f f . Привести пример

булевой функции, заданной формулой над множеством монотонно невозрастающих функций, которая не является монотонно невозрастающей.

Замечание. Задача 2.28 объясняет, почему в теории булевых функций не рассматривают монотонно невозрастающие функции. Дело в том, что интерес представляют свойства функций, которые «наследуются» при задании функций формулами, т.е. такие свойства, которые выделяют обладающие ими функции в замкнутый класс. Множество монотонно невозрастающих функций замкнутым не является.

2.29.Дана произвольная несамодвойственная функция. Отождествить ее переменные так, чтобы получилась несамодвойственная функция от возможно меньшего числа переменных.

2.30.Дана произвольная немонотонная функция. Отождествить ее переменные так, чтобы получилась немонотонная функция от возможно меньшего числа переменных.

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

разложение f (x1, x2 ..., xn ) xn f (x1,..., xn 1,1) f (x1,..., xn 1, 0) .

100

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

2.33. Найти число линейных функций от n переменных, существенно зависящих ровно от k переменных.

101

Соседние файлы в папке Лекции Олейник PDF