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

METOD_12

.pdf
Скачиваний:
16
Добавлен:
21.05.2015
Размер:
206.87 Кб
Скачать

43

Ny = {(0, 0, 0), (1, 0, 0), (0, 0, 1), (1, 0, 1)},

Nz = {(0, 0, 0), (0, 1, 0), (1, 0, 0), (1, 1, 0)}.

Пример 4. Мажоритарной функцией или функцией голосования принято называть функцию, зависящую от нечетного числа переменных, которая принимает значение 1, если большинство её переменных равны 1. В случае, когда f зависит от 3-х переменных, сднф мажоритарной функции записывается в виде

f(x, y, z) = xyz xyz xyz xyz.

Построение сокращенной днф по методу Блейка для этой функции состоит из следующих этапов:

- применение правила обобщенного склеивания:

f(x, y, z) = (xyz xyz) (xyz xyz) (xyz xyz) =

=xyz xyz xy xyz xyz yz xyz xyz xz;

-применение правила поглощения:

f(x, y, z) = xy yz xz.

Дальнейшее применение этих правил не приводит к появлению новых элементарных конъюнкций. Интервалы Nxy , Nyz и Nxz являются максимальными

Nxy = {(1, 1, 0), (1, 1, 1)}, Nyz = {(0, 1, 1), (1, 1, 1)},

Nxz = {(1, 0, 1), (1, 1, 1)}.

Построенная днф является сокращенной, а также минимальной и кратчайшей для функции f .

Замечание. Следует отметить, что применение правила обобщенного склеивания к элементарным конъюнкциям вида xK и xK и последующее за этим применение правила поглощения равносильно применению к этим конъюнкциям правила простого склеивания. Это упрощает операцию по построению сокращенной днф, что будет продемонстрировано ниже.

В рассматриваемом ранее примере 2 применение метода Блейка приводит к образованию сокращенной днф, состоящей из шести элементарных конъюнкций:

f(x, y, z) = (xyz xyz) (xyz xyz) (xyz xyz) = xz yz xy =

44

=(xz xy) (yz xy) = xz xy yz yz xz = (xz yz) xy yz xz =

=xy xy yz yz xz xz.

Здесь в первой строке в скобки объединяются слагаемые, к которым в последующем применяется правило простого склеивания, во второй строке к объединенным в скобкам элементарным конъюнкциям приме-

няется правило обобщенного склеивания.

 

Пример 5.

Рассмотрим

функцию

f , зависящая от

4-х переменных

и заданную

набором

своих значений:

f(x1, x2, x3, x4) = (0111011110101000) . Её сднф, что легко проверить, имеет вид:

f(x1, x2, x3, x4) = x1x2x3x4 x1x2x3x4 x1x2x3x4 x1x2x3x4

x1x2x3x4 x1x2x3x4 x1x2x3x4 x1x2x3x4 x1x2x3x4.

После попарного склеивания элементарных конъюнкций в сднф получаем:

f(x1, x2, x3, x4) = x1x3x4 x1x2x3 x1x2x3 x1x2x4 x1x3x4 = = x1x3x4 x1x3 x1x2x4 x1x3x4

Согласно правилам обобщенного склеивания и поглощения имеем: x1x3x4 x1x3 = x1x3x4 x1x3 x1x4 = x1x3 x1x4,

поэтому

f(x1, x2, x3, x4) = x1x3 x1x4 x1x2x4 x1x3x4( x3x2x4.)

Дальнейшее применение метода Блейка не приводит к образованию новых конъюнкций. Поэтому построенная днф является сокращенной для рассматриваемой функции f .

5. Тупиковая днф. После того, как сокращенная днф построена, для получения минимальной (кратчайшей) днф можно воспользоваться тривиальным алгоритмом. Очевидно, что в этом случае его эффективность повышается, но и здесь приходится рассматривать большое число днф, чтобы среди них найти минимальную (кратчайшую) и реализующую функцию f .

Определение 9. Покрытие множества Nf En максимальными интервалами называется неприводимым, если, после удаления из него любого интервала, оно перестает быть покрытием.

Определение 10. Днф функции f называется тупиковой, если ей соответствует неприводимое покрытие множества Nf .

45

Очевидно, что всякая минимальная (кратчайшая) днф является тупиковой.

Пример 6. Рассмотрим функцию f(x, y, z) , заданную набором своих значений f = (11100111) . Её сднф имеет вид:

f(x, y, z) = xyz xyz xyz xyz xyz xyz.

Множество истинности этой функции изображено на рис.3.

Рис. 3

Сокращенной днф этой функции являются

f(x, y, z) = xy yz xz xy yz xz.

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

D1 = xy xz yz,

D2 = yz xy xz,

D3 = xy xy yz yz,

D4 = xy xz xy xz,

D5 = yz xz yz xz.

Дизъюнктивные нормальные формы D1 и D2 являются минимальными и кратчайшими для функции f(x, y, z) ; D3 , D4 являются тупиковыми днф, но не являются ни минимальными, ни кратчайшими.

Аналогично находятся тупиковые днф в примере 2. Среди них отметим минимальные и кратчайшие:

D1 = xy yz xy,

D2 = xy xz yz.

46

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

ной или кратчайшей днф. Алгоритм построения минимальной и кратТаким образом, построение минимальных и кратчайших днф состоит из чайшей днф может быть изображен в виде следующей схемы:

следующих этапов:

1.Построение множества истинности Nf функции f .

2.Выделение всех максимальных интервалов и построение сокращенной днф.

3.Построение тупиковых днф.

4.Выделение всех минимальных и кратчайших днф среди тупиковых.

Тупиковую днф можно построить с помощью так называемой таблицы Квайна [1]. Столбцы этой таблицы соответствуют элементарным конъюнкциям исходной днф, а строки простым импликантам (элементарным конъюнкциям) сокращенной днф. На пересечении строки и столбца проставляется знак +(плюс), если простая импликанта данной строки покрывает элементарную конъюнкцию данного столбца. Построим таблицу Квайна в случае примера 5. Она имеет следующий вид:

 

0001

0011

0010

0101

0111

0110

1100

1000

1010

0 × ×1

+

+

 

+

+

 

 

 

 

0 × 1×

 

+

+

 

+

+

 

 

 

1 0 × 0

 

 

 

 

 

 

 

+

+

×0 1 0

 

 

+

 

 

 

 

 

+

1 × 0 0

 

 

 

 

 

 

+

+

 

Из построенной таблицы следует, что любая тупиковая днф в рассматриваемом случае с необходимостью включает элементарные конъюнкции x1x4 (первая строка), x1x3 (вторая строка), x1x3x4 (последняя

47

строка). Для покрытия набора (1010) Nf достаточно взять одну из элементарных конъюнкций x1x2x4 или x2x3x4 . Таким образом, мы имеем две тупиковые днф:

f(x1, x2, x3, x4) = x1x4 x1x3 x1x3x4 x1x2x4, f(x1, x2, x3, x4) = x1x4 x1x3 x1x3x4 x2x3x4.

Обе эти днф являются минимальными и кратчайшими.

Упражнения.

13.1. Построить минимальные и кратчайшие днф для следующих функций:

1)(x → y) z ;

2)(xy z)|(x y) ;

3)(x ↓ z) (y z) ;

4)(x1x2 x3) (x4 x1) ;

5)x1x2x3 x1x4 x3 ;

6)xy z 1 ;

7)((x|y)|z) (x y) ;

8)(z ↓ y) (y → x) ;

9)(x1|(x3 x4)) ↔ x2 ;

10)(x2 ↔ x1x3) ↓ x4 .

 

 

 

 

 

 

 

 

 

 

48

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ответы

 

 

 

 

 

 

 

1.1.

Ck

;

 

1.5.

n2n−1

; 2.1.

22n−1

; 2.2.

2(n

1)

;

4.1.

x 1 x 2

. . . x n

;

 

n

 

 

 

 

 

 

1 2

n

4.2.

 

x1

1

 

x2 2

. . .

xnn ;

4.5.

Указание:

использовать

метод

 

математической

индукции;

5.9.

 

а)

 

по

определению

U (x1, x2, . . . , xn) = U(x1, x2, . . . , xn) , использовать законы де Моргана

и закон двойного отрицания; 6.5. а)

2n−k + 2k 1 ; б) 31 (2n (1)n) ;

7.3. а) K1 K2 , но может быть и строгое включение; б)

K1 K2 ,

например, M1 =

{

xy, x

}

и M2 =

x

}

имеем K1 = [xy] , а K2

= Б/[x] ;

 

 

 

{

 

\

д) см. б); 8.6. Если f(x1, x2, . . . , xn) – самодвойственная функция, то на любой паре противоположных наборов она принимает противоположные значения. Следовательно, число пар наборов, на которых самодвойственная функция f(x1, x2, . . . , xn) принимает значение 1, равно числу пар противоположных наборов (длины n ), т.е. |Nf | = 2n−1 ; 9.2. Пусть f(x1, x2, . . . , xn) принимает противоположные значения на любых двух соседних наборах. Пусть f(0, 0, . . . , 0) = σ , тогда f(α1, α2, . . . , αn) = σ , если число α нечетно и f(α1, α2, . . . , αn) = σ , если α – четно.

Пусть P (x1, x2, . . . , xn) = x1 x2 . . . xn σ , тогда Nf

= NP .

В силу единственности представления функций полиномом f = P

и,

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

L . Обратное неверно; 10.2. б) nпри нечетных

n ;

в) приn

n = 4k

1, k = 1, 2, . . .

; 10.3. б)

3

 

22 2

; д)

3

 

2n−1

;

22

n̸1

 

 

 

 

 

 

 

ж) (22

)/2 ; 11.2. Предварительно доказать справедливость следу-

ющих равенств: f(x1, x2, . . . , xn) = xif1(x1, x2, . . . , xn) f2

(x1, x2, . . . , xn) ;

f(x1, x2, . . . , xn) = (xi f3(x1, x2, . . . , xn))f4(x1, x2, . . . , xn) , f1, f2, f3, f4

булевы функции; 11.3. Две функции.

49

Литература

1.Белоусов А.И. Дискретная математика / А.И. Белоусов, С.Б. Ткачев. - М.: изд-во МГТУ им. Н.Э. Баумана, 2001. - 743 с.

2.Лавриков И.А. Задачи по теории множеств, математической логике и теории алгоритмов / И.А. Лавров, Л.Л. Максимова. - М.: Физ-мат. лит., 1995. - 255 с.

3.Лихтарников Л.М. Математическая логика. Курс лекций. Задачник-практикум и решения / Л.М. Лихтарников, Т.Г. Сукачева. - СПб.: Лань, 1999. - 285 с.

4.Москинова Г.И. Дискретная математика / Г.И. Москинова. - М.: Логос, 2000. - 238 с.

5.Перязев Н.А. Основы теории булевых функций / Н.А. Перязев. - М.: Физматлит, 1999. - 109 с.

6.Яблонский С.В. Введение в дискретную математику / С.В. Яблонский. - М.: Высш. школа, 2001. - 384 с.

 

50

 

 

Содержание

 

§1.

Булевы наборы. Единичный n-мерный куб . . . . . . . . . . . . . . . . . .

3

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

§2

Способы задания булевых функций. Элементарные функции.

 

 

Формулы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

§3.

Основные эквивалентности алгебры высказывания . . . . . . . . . . . .

9

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

§4.

Дизъюнктивная и конъюнктивная нормальные формы . . . . . .

10

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

§5.

Совершенные нормальные формы . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

 

Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

§6.

Полином Жегалкина . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

§7.

Операция замыкания. Замкнутые классы . . . . . . . . . . . . . . . . . . . . .

26

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

§8.

Двойственность и класс самодвойственных функций . . . . . . . . .

27

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

§9.

Линейность и класс линейных функций . . . . . . . . . . . . . . . . . . . . . . . .

29

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

§10.

Классы функций, сохраняющих константы . . . . . . . . . . . . . . . . . .

30

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

§11.

Монотонность и класс монотонных функций . . . . . . . . . . . . . . . . . .

31

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

§12.

Полнота и замкнутые классы. Критерий Поста . . . . . . . . . . . . . . .

33

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

§13.

Построение минимальных и кратчайших дизъюнктивных

 

 

нормальных форм. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

 

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

Ответы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

Литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49

51

Составители: Кацаран Татьяна Константиновна, Кабанцова Лариса Юрьевна

Редактор Тихомирова Ольга Александровна

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]