METOD_12
.pdf43
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
Составители: Кацаран Татьяна Константиновна, Кабанцова Лариса Юрьевна
Редактор Тихомирова Ольга Александровна