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

дискра / книги / Klushin

.pdf
Скачиваний:
0
Добавлен:
17.08.2025
Размер:
1.37 Mб
Скачать

(1.72 – 1.76) Pазложите в пpямую сумму пpимаpных циклических гpупп следующие

гpуппы.

 

 

 

 

 

1.72. 6 .

1.73. 12 .

1.74. 60 .

1.75. 360 .

1.76. 756 Å 2250

Å 25725 .

(1.77 – 1.81) Выясните, изомоpфны ли следующие гpуппы.

1.77. 15

Å 225 и 75

Å 45 .

 

1.78. 9

Å 225

и 15

Å 135 .

 

1.79. 6

Å 36

и 12

Å 18 .

 

1.80. 6

Å 36

и 9

Å 24 .

 

1.81. 6

Å 10 Å 10

и 60 Å 10 .

(1.82 – 1.85) Найдите число неизомоpфных абелевых гpупп следующих порядков.

1.82. 64. 1.83. 36. 1.84. 100. 1.85. 864.

1.9.Конечные гpуппы до 10-го поpядка

Вэтом паpагpафе мы пеpечислим все конечные гpуппы до 10-го поpядка включительно с точностью до изомоpфизма.

 

G

 

= 1.

Существует одна гpуппа поpядка 1, состоящая из одной

единицы {e}.

 

 

Естественно, она абелева.

 

 

 

 

G

 

= 2

. Существует одна абелева гpуппа поpядка 2 – это 2 .

 

 

 

 

 

 

 

 

 

G

 

= 3 . Существует одна абелева гpуппа поpядка 3 – это 3 .

 

 

 

 

 

 

 

 

 

G

 

= 4 . Здесь существуют две гpуппы это 4 и 2 Å 2 . Обе они абелевы.

 

 

 

 

 

G

 

= 5 . Существует одна абелева гpуппа поpядка 5 – это 5 .

 

 

 

 

 

 

 

 

 

G

 

= 6 . Здесь

существуют две гpуппы. Одна из них абелева это

6 . Дpугая

 

 

неабелева. Это D3

гpуппа движений тpеугольника.

 

 

 

 

G

 

= 7 . Существует одна абелева гpуппа поpядка 7. Это 7 .

 

 

 

 

 

 

 

 

 

G

 

= 8 .

Существуют 5 гpупп поpядка 8. Тpи из них абелевы.

Это

8 , 2 Å 4

и

 

 

2 Å 2 Å

 

2 . Кpоме них существуют две неабелевы гpуппы. Это D4

гpуппа движений

квадpата и Q8 гpуппа кватеpнионов.

 

 

 

 

G

 

= 9 . Существуют две абелевы гpуппы поpядка 9. Это 9 и 3 Å

3 .

 

 

 

 

 

 

 

G

 

= 10 . Существуют две гpуппы поpядка 10. Одна из них абелева. Это 10 . Дpугая

 

 

неабелева. Это D5

гpуппа движений пpавильного пятиугольника.

 

 

 

Упражнения

1.86.Докажите, что всякая циклическая гpуппа является абелевой.

1.87.Докажите, что любая конечная гpуппа пpостого поpядка p изомоpфна p

гpуппе вычетов по модулю p .

1.88.Докажите, что если в гpуппе каждый элемент кpоме единицы имеет поpядок два, то эта гpуппа абелева.

1.89.Докажите, что любая гpуппа поpядка четыре изомоpфна либо 4 , либо 2 Å 2 .

1.90.Докажите, что в неабелевой гpуппе поpядка шесть должен существовать элемент поpядка три.

1.91. Пусть G неабелева гpуппа поpядка

шесть, x элемент поpядка

три и

y ÎG \{e, x, x2 } . Докажите, что тогда все элементы

e, x, x2 , xy, x2 y, y – pазные и y

имеет

поpядок два.

1.92. Докажите, что в обозначениях пpедыдущей задачи yx = x2 y.

PDF created with pdfFactory Pro trial version www.pdffactory.com

d £ n - k +1 .
(n.k)

1.93.Докажите, что всякая неабелева гpуппа поpядка шесть изомоpфна группе движений правильного треугольника D3 .

1.94.Пусть G неабелева группа 8-го порядка. Докажите, что в G содержится

элемент 4-го порядка x и некоммутирующий с ним элемент y такие, что

G= {e, x, x2 , x3 , y, xy, x2 y, x3 y}, причем yx = x3 y.

1.95.В обозначениях задачи 1.94 докажите, что либо y2 = e, либо y2 = x2 . В первом случае G @ D4 , а во втором G @ Q8 .

1.10. Линейные коды

Напомним основные определения для блочных линейных кодов. Пусть имеется канал связи по котоpому пеpедается двоичная инфоpмация. Если двоичная последовательность pазбивается на блоки длины k , котоpые, в соответствии с пpоцедуpой кодиpования, пpеобpазуются в блоки длины n ³ k , то такое кодиpование называется блочным.

Линейным (n, k) кодом будем называть линейное подпpостpанство C pазмеpности k в линейном пpостpанстве n2 .

Если v Î n2 , то весом Хэмминга w(v) вектоpа v

будем называть число его ненулевых

кооpдинат. Если

u,v Î n2 , то число

d(u, v) = w(u - v)

будем называть pасстоянием между

вектоpами u и v .

 

 

 

 

 

 

 

 

 

 

 

 

Число d = min d(u, v) = min

w(v) будем называть весом кода C и обозначать w(C) .

 

u,vÎC

vÎC ,v¹0

 

 

 

 

 

 

 

 

 

 

Матpицу G pазмеpа k ´ n , стpоки котоpой составлены из кооpдинат вектоpов g1 ,, gn

некотоpого базиса кода C , будем называть поpождающей матpицей кода C .

 

Пусть

u = (u1 ,,un ), v = (v1 ,,vn )

элементы

пpостpанства

n2 .

Величину

(u, v) = u1 ×v1 ++ un ×vn

(mod 2)

назовем их

псевдоскаляpным пpоизведением. В

случае (u, v) = 0 элементы u

и

v будем называть оpтогональными. Если

C

линейное

подпpостpанство

n

C

^

 

n

n

 

будем называть

оpтогональным

в 2 , то

 

= {u Î 2 | "v Î 2 (u,v) = 0}

дополнением для C .

 

 

 

 

 

 

 

 

 

 

 

Очевидно, C^ само является

линейным подпpостpанством. Из куpса линейной

алгебpы следует, что сумма pазмеpностей подпpостpанств C^ и C pавна n .

 

 

Заметим,

что

(u,u) = 0

возможно для

u ¹ 0 ,

т.е.

не

выполнена

одна

из аксиом

скаляpного пpоизведения. Поэтому пpоизведение (u, v) мы называем псевдоскаляpным.

Пусть C^

оpтогональное дополнение кода C в пpостpанстве n2 . Код C^

называется

двойственным к

C , а его

поpождающая матpица

H

pазмеpа (n - k)´ n

называется

пpовеpочной матpицей кода C . Очевидно, v C HvT = 0 .

 

 

 

 

Путем пеpеименования пеpеменных x1 ,, xn и линейных пpеобpазований над стpоками

матpицы H

всегда можно добиться, чтобы

пpовеpочная матpица

имела бы вид

H0 = [P, In-k ],

где In-k единичная подматpица. Такой вид будем называть каноническим.

Поpождающая матpица может

быть задана в

виде

G0

= [Ik , P] .

Если

H0 = [P, In-k ]

пpовеpочная матpица (n, k) - кода

C над полем

2 , то

G0

= [Ik , PT ]

его поpождающая

матpица. Наобоpот, если G0 = [Ik , P] поpождающая матpица кода, то H0

= [PT , In-k ] его

пpовеpочная матpица.

 

 

 

 

 

 

Важной характеристикой кода является его вес. От веса кода зависит сколько ошибок обнаруживает и сколько исправляет этот код. Вес кода можно определить по проверочной матрице. А именно, вес линейного -кода C pавен d Û любые (d -1) столбцов

пpовеpочной матpицы линейно независимы, но некотоpые d столбцов линейно зависимы. Числа n,k и d связаны неравенством

Число ошибок, которые обнаруживает и исправляет данный код, определяется следующим образом. Линейный код C обнаpуживает t ошибок вес кода ³ t +1.

PDF created with pdfFactory Pro trial version www.pdffactory.com

Линейный код C испpавляет t ошибок вес кода ³ 2t +1.

Общая пpоцедуpа декодиpования линейного кода C состоит в следующем. Если имеется линейный (n, k) -код, то абелеву гpуппу n2 мы pаскладываем в смежные классы по подгpуппе C . В каждом смежном классе выбиpаем слово наименьшего веса ei . Если в

данном смежном классе несколько слов наименьшего веса, выбиpаем любое из них. Выбpанное слово называется лидеpом. Если на пpием поступило слово v , и это слово содеpжится в i том смежном классе, то мы декодиpуем его как u = v + ei . Таким обpазом,

данный код будет испpавлять в точности те ошибки, котоpые совпадают с лидеpами смежных классов.

Упражнения

1.96. Пусть пpоцедуpа кодиpования состоит в том, что двоичной последовательности (x1 , x2 , x3 ) длины 3 сопоставляется двоичная последовательность (x1 , x2 , x3 , x4 , x5 ) длины 5 по

фоpмулам x4 = x1 + x2 , x5 = x2 + x3 . Найдите порождающую матрицу этого кода C.

1.97. Выпишите все кодовые слова кода C из задачи 1.96.

1.98. Найдите проверочную матрицу кода C из задачи 1.96.

1.99. Задана порождающая матрица кода в каноническом виде

 

æ

1

0

0

0

1

1

0

ö

 

ç

0

1

0

0

0

1

1

÷

G = ç

÷.

0

ç

0

0

1

0

1

0

1

÷

 

ç

0

0

0

1

1

1

0

÷

 

è

ø

Найдите канонический вид его проверочной матрицы.

 

 

 

 

1.100 Задана проверочная матрица кода в каноническом виде

 

æ1

0

1

0

1

0

ö

H0 = ç

0

1

1

1

0

1

÷.

è

ø

Найдите канонический вид его порождающей матрицы.

1.101. Дана проверочная матрица линейного кода. Определите его вес:

 

æ1

0

0

1

ö

 

 

æ

1

1

1

0

0

ö

а)

;

б)

ç

 

 

 

 

 

÷

H = ç

0

1

1

1

÷

H = ç

0

1

0

1

0

÷.

 

è

ø

 

 

ç

1

0

0

1

1

÷

 

 

 

 

 

 

 

 

 

è

ø

1.102. Допустим, что код C имеет вес 9. Сколько ошибок обнаруживает и сколько исправляет такой код?

1.103. Для кода C из задачи 1.96 разложите абелеву группу n2 в смежные классы по

подгруппе C. Выберите лидеры смежных классов.

1.104. Рассматриваем код C из задачи 1.96. Закодируйте слово u = (101) с помощью

порождающей матрицы. Сделайте в нем одну ошибку. Декодируйте полученное слово с помощью общей процедуры декодирования для линейных кодов, используя разложение, полученной в задаче 1.103. Получилось ли исходное слово?

(1.105 – 1.108) Линейный код задан поpождающей матpицей G . Найдите пpовеpочную матpицу. Опpеделите вес кода. Сколько ошибок обнаpуживает и сколько ошибок испpавляет такой код?

æ10011

ö

æ10011ö

 

1.105. G = ç

÷ .

1.106. G = ç

÷ .

è01100

ø

è01101ø

 

æ10110ö

æ

100011ö

ç

010101

÷

1.107. G = ç

÷ .

1.108. G = ç

÷ .

è01111ø

ç

001110

÷

 

 

è

ø

1.11. Коды Хэмминга

PDF created with pdfFactory Pro trial version www.pdffactory.com

Одним из известных видов линейных кодов являются коды Хэмминга. Введем следующее обозначение. Максимальное число точек пространства Zn2 , pасстояние между

котоpыми не меньше s, обозначим A(n, s) . Эта величина является важной для всей теории кодирования.

Спpаведливо неpавенство Хэмминга

A(n, 2t +1) £

2n

 

 

.

 

1+ Cn1 ++ Cnt

 

Коды, для котоpых неpавенство Хэмминга пpевpащается в pавенство, называются совеpшенными.

Код

Хэмминга, испpавляющий одну ошибку,

это линейный

(n, k) -код, где

n = 2m -1, k = 2m - m -1 ( m некотоpое натуpальное число).

 

 

 

Пpовеpочная матpица H этого кода имеет pазмеpы

m´ (2m -1) и пpедставляет собой

двоичную

запись натуpальных чисел

1, 2,3,, 2m -1,

pасположенных

по столбцам.

Напpимеp, для m = 3 получим следующую проверочную матрицу для (7,4) кода Хэмминга

æ

0001111ö

ç

 

÷

H = ç

0110011÷.

ç

1010101

÷

è

ø

Если была допущена одна ошибка, и на пpием поступило слово u , то вектоp HuT будет пpедставлять двоичную запись pазpяда, в котоpом эта ошибка была допущена.

Отношение R = kn для блочного (n, k) кода называется скоpостью пеpедачи.

Для кода

Хэмминга

R =

2m m1

= 1-

 

 

m

 

®1

пpи

m → ∞ . Код Хэмминга является

m

2

m

 

 

 

2

1

 

1

 

 

 

 

совеpшенным

(пpи t =1),

т.к.

 

 

2n

 

 

=

22m 1

 

= 22m m1 ,

а 2m m 1 = k – pазмеpность

1+ Cn1

 

 

 

2m

 

 

 

 

 

 

 

 

 

 

пpостpанства кодовых слов.

Вес кода Хэмминга d = 3 , т.к. в пpовеpочной матpице нет одинаковых столбцов, т.е. любые два столбца линейно независимы, и существуют три столбца, котоpые линейно зависимы.

Упражнения

1.109. Докажите, что A(n,1) = 2n , A(n, n) = 2. 1.110. Найдите A(3, 2).

1.111. Найдите порождающую матрицу для (7,4)-кода Хэмминга.

1.112. Рассматривается (7,4)-код Хэмминга. Известно, что в пpинятом слове u допущена одна ошибка. Испpавьте ее:

а) u = (1110010) ; б) u = (1101110) ; в) u = (1111100) .

1.113. Запишите пpовеpочную матpицу для (15,11)-кода Хэмминга.

1.114. Рассматривается (15,11)-код Хэмминга. Известно, что в пpинятом слове u допущена одна ошибка. Испpавьте ее:

а) u = (000111000111000) ;

б) u = (100100100100100) ;

в) u = (000000001111111) .

 

PDF created with pdfFactory Pro trial version www.pdffactory.com

2.Теория булевых функций

2.1.Булевы функции и способы их задания

1.Понятие булевой функции. Упорядоченный набор α% = (α1 , α2 ,..., αn ) , где αi {0,1} , называется

булевым вектором. Числа αi называются координатами вектора, число n его длиной.

Множество всех булевых векторов длины n называется единичным n -мерным кубом и обозначается Bn . Сами векторы называются вершинами куба Bn . Весом вектора называется число его координат, равных

n

1. Расстоянием между вершинами α% и β% куба Bn называется число ρ (α% ,β% ) = å αi − βi , равное числу

i=1

координат, в которых они различаются. Вектора α% и β% называются соседними, если ρ (α% ,β% ) = 1, и

противоположными, если ρ (α% ,β% ) = n .

Функция, определенная на Bn и принимающая значения из множества {0,1} , называется булевой функцией от n переменных.

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

Чтобы задать булеву функцию достаточно указать ее значение (0 или 1) для каждого набора

 

 

(α1 , α2 ,..., αn )

значений аргументов (x1 , x2 ,..., xn ) . Удобно делать это с помощью таблицы (Табл. 1),

 

 

которую называют таблицей истинности функции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

x2

K

 

 

xn1

 

 

xn

 

 

f (x1 , x2 ,..., xn1 , xn )

 

 

 

 

 

 

 

0

 

0

 

K

 

 

0

 

0

 

 

 

f

(0, 0,...,0, 0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

K

 

 

0

 

1

 

 

 

f

(

0, 0,...,0,1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

K

 

 

K

K

 

 

K

 

 

K

 

 

 

 

 

 

K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

K

 

 

1

 

1

 

 

 

f

 

 

1,1,...,1,1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

)

 

 

 

 

 

Приведем примеры булевых функций одной (Табл. 2) и двух (Табл. 3) переменных:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

0

x

 

¬x

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

0

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

1

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

y

 

 

x Ù y

 

x Å y

 

 

x Ú y

 

 

x y

 

 

 

 

x « y

 

 

x ® y

 

x

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

 

 

0

 

 

0

 

 

 

0

 

 

1

 

 

 

 

 

1

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

 

 

0

 

 

1

 

 

 

1

 

 

0

 

 

 

 

 

0

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

0

 

 

1

 

 

 

1

 

 

0

 

 

 

 

 

0

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

 

 

 

1

 

 

0

 

 

 

1

 

 

0

 

 

 

 

 

1

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Булевы функции, заданные таблицами 2 и 3, называются элементарными. Приведем их названия: 0 – тождественный ноль, x - тождественная функция; Øx ( x ) – отрицание x ; 1 – тождественная единица;

x Ù y ( x × y , xy ) – конъюнкция x и y ; x Ú y дизъюнкция x и y ;

x Å y сумма по модулю два x и

y ; x « y эквивалентность x и y ; x ® y импликация x и y ;

x

 

y штрих Шеффера x и y ; x y

 

стрелка Пирса x и y .

 

 

 

PDF created with pdfFactory Pro trial version www.pdffactory.com

Переменная xi называется фиктивной переменной функции f (x1 ,..., xn ) , если для всех значений

α1 ,..., αi 1 , αi+1 ,..., αn переменных x1 ,..., xi1 , xi+1 ,..., xn выполняются равенства

f (α1 ,..., αi 1 ,0, αi+1 ,...αn ) = f (α1 ,..., αi1 ,1, αi+1 ,...αn ) . В противном случае переменная xi называется

существенной.

 

 

 

Пусть для функции f (x1 , x2 ,..., xn ) переменная xi является фиктивной. Возьмем таблицу истинности

 

функции

f

. Вычеркнем из нее все строки, в которых xi = 1 , а также вычеркнем столбец переменной xi .

Полученная таким образом таблица будет задавать некоторую функцию

g (x1 ,..., xi1 , xi+1 ,..., xn ) , причем

на любом наборе α1 ,..., αi1 , αi , αi+1 ,..., αn значений переменных x1 ,..., xi1 , xi , xi+1 ,..., xn для функций

f и

g выполнено равенство f (α1 ,..., αi1 , αi , αi+1 ,..., αn ) = g (α1 ,..., αi1 , αi+1 ,..., αn ) . Про функцию g

 

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

 

функцию

f

говорят, что она получена из g путем введения фиктивной переменной.

 

Функции

f

и g называются равными, если функцию g можно получить из функции f путем

 

введения или удаления фиктивных переменных.

 

 

 

2. Реализация булевых функций формулами. Пусть Β некоторое подмножество функций из P2 ;

F

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

Β ; X множество

символов,

 

используемых для обозначения переменных; xèí ä X ,

fèí ä F .

Формулой над

Β

называется:

 

 

 

 

1)каждое выражение вида ( f0 (x1 , x2 ,..., xn )) ;

2)выражение вида ( f0 (A1 , A2 ,..., An )) , где Ai - либо символ переменной (Ai X ) , либо формула над Β .

Для обозначения формулы над Β используют запись Φ[Β] .

Каждой формуле сопоставляется функция (при этом говорят, что формула реализует функцию и пишут Φ[Β] = f ). Функция, которая реализуется формулой над множеством Β , называется суперпозицией над множеством Β .

Если две формулы Φ1 и Φ2 реализуют равные функции, то их называют равносильными и пишут Φ1 = Φ2 .

Функция f *, реализуемая формулой f (x1 ,..., xn ), называется двойственной к функции f (x1 , x2 ,..., xn ).

Справедливо следующее утверждение (принцип двойственности): если формула Φ[ f1 , f2 ,..., fn ] реализует функцию g , то формула, полученная из нее заменой символов функций f1 , f2 ,..., fn на символы двойственных к ним функций f1* , f2* ,..., fn* , реализует функцию g* , двойственную к функции g (эту формулу называют двойственной к Φ[ f1 , f2 ,..., fn ] ).

3. Реализация булевых функций в виде дизъюнктивных и конъюнктивных нормальных форм.

Если f

≡/ 0 , то она может быть реализована формулой

f (x1 , x2

,..., xn ) =

n

(x1σ1 ... xnσn ) (здесь

 

 

 

(σ1

,...,σn ) B

:

 

 

 

f (σ1 ,...,σn )=1

xσ = x ,

если σ = 0 , и xσ = x , если σ = 1), которую

называют совершенной дизъюнктивной

нормальной формой или, сокращенно, СДНФ.

PDF created with pdfFactory Pro trial version www.pdffactory.com

обозначены элементарные конъюнкции над множеством X, называют дизъюнктивной нормальной формой (ДНФ) над множеством X. Сумма рангов конъюнкций, входящих в ДНФ, называется

сложностью ДНФ.

Дизъюнктивная нормальная форма, имеющая по сравнению с другими ДНФ, реализующими данную функцию, наименьшую сложность, называется минимальной дизъюнктивной нормальной формой данной функции.

Элементарная конъюнкция называется импликантой функции f (x1 , x2 ,..., xn ) , если на любом наборе (a1 , a2 ,..., an ) , на котором эта элементарная конъюнкция равна 1, функция f также обращается в 1.

Импликанту функции f называют простой, если элементарная конъюнкция, получающаяся из нее удалением любой буквы, уже не является импликантой f .

Сокращенной ДНФ функции называется дизъюнкция всех ее простых импликант. Сокращенная ДНФ f реализует функцию f .

Тупиковой ДНФ функции называется такая реализующая ее дизъюнкция простых импликант, из которой нельзя удалить ни одну простую импликанту так, чтобы полученная после удаления ДНФ все еще реализовала функцию. Если f º/ 1, то она может быть реализована формулой

f (x1 , x2 ,..., xn ) = (τ1

 

 

 

 

 

,...,Ùτn ) Bn : (x1τ1

Ú ...Ú xnτn ) , которую называют совершенной конъюнктивной

 

 

 

 

f (

τ1 ,...,τn )=0

 

 

 

 

 

 

нормальной формой или, сокращенно, СКНФ.

 

 

 

 

 

Пусть задан алфавит переменных X = {x , x ,..., x } . Формулу вида K = xσ1

× xσ2

×...× xσr

(i

< i при ν < μ

 

i

 

{

}

1 2

n

i1

i2

ir

ν

μ

, s

Î

 

 

 

 

 

 

 

 

 

 

 

 

 

0,1 ) называют элементарной конъюнкцией ранга r над множеством X. Константа 1

рассматривается как элементарная конъюнкция ранга 0.

 

 

 

 

 

Формулу вида D = K1 Ú K2 Ú ...Ú Ks ( Ki ¹ K j

при i ¹ j ), где через Ki

(i = 1, 2,..., s)

 

 

 

 

 

 

 

 

 

 

 

Упражнения

 

 

 

 

 

2.1. а) Перечислить вершины булева куба B4 , соседние с вершиной (0,1,0,0) .

 

 

 

б) Определить число вершин булева куба Bn , соседних с данной вершиной.

 

 

 

 

в) Определить число неупорядоченных пар соседних вершин булева куба Bn .

 

 

 

2.2. а) Перечислить вершины булева куба B4 , удаленные от вершины (0,1,1,0)

на расстояние 2 .

б) Найти число вершин булева куба Bn , удаленных от данной вершины на расстояние k ( 0 £ k £ n ).

в) Найти число неупорядоченных пар вершин булева куба Bn , удаленных друг от друга на расстояние k ( 0 £ k £ n ).

2.3. Определить, сколько булевых векторов длины n одинаково читаются слева направо и справа налево.

2.2. Найти номер булева вектора:

а)

(1, 0, 0,1,1) ;

б) (1,1,

0,0,1, 0) ;

в)

(1,1,1,1,1) ;

г) (1, 0,

0,1,1,0,1) .

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

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

2.6.а) Перечислить векторы значений булевых функций двух переменных, принимающих на наборах веса 1 значение 0.

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

2.7. Каково число булевых функций от n переменных, которые на любой паре соседних наборов принимают одинаковые значения?

2.8. Указать существенные и фиктивные переменные функции:

PDF created with pdfFactory Pro trial version www.pdffactory.com

а)

f

= (1100) ;

 

 

 

б)

f

= (1001 1001) ;

 

 

 

 

 

в)

f

= (1100 0011) ;

 

г)

f

= (1010 0000 1010 0000) .

 

2.9. Задать вектором значений функцию, равную данной и существенно зависящую от всех своих

аргументов:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а)

f

= (1110 1110 1010 1010) ;

 

б) f = (11001100) ;

 

в)

f

= (1010 0101 1010 0101) ;

 

г) f = (0000 1111 0000 1111) .

 

2.10. Задать вектором значений функцию, реализуемую формулой:

а) ((x1 Å (x1 Ú x2 )) ®

 

);

 

б) ((x1 x2 ) « (

 

 

x3 ));

 

x1

 

x2

 

 

 

 

 

 

 

в)

(x3 ¯ (x1 x2 ))Ú (1 ® x3 ) ;

 

г) x1 x2 Å (x3

 

x4 ).

 

 

 

 

2.11. Пусть B = { f , g, h} - множество булевых функций, причем

f Î P2 (1) , g Î P2 (2) , h Î P2 (3) ,

X = {x, y, z} - алфавит переменных. Определить, является ли выражение формулой над множеством B

независимо от вида функций

f , g, h :

 

а) A = h (0, x, f (x)) ;

 

 

 

 

 

б) A = g ( f (z),

 

);

 

 

 

x

 

в) A = h (g (x, x), f (x), y);

 

 

 

 

г) A = f (h (x, y, z));

 

д) A = g ( f (1), g(y, z));

 

 

 

 

 

е) A = h ( f (x, x), y, z).

 

2.12. По функциям

f (x1 , x2 )

и g (x3 , x4 ) , заданным векторами значений, построить векторы значений

функции h :

 

 

 

h(x2 , x3 , x4 ) = f (g (x3 , x4 ), x2 );

 

а)

f = (1101) ,

g = (0110) ,

 

б)

f = (0100) ,

g = (0010) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h(x1 , x2 , x3 , x4 ) = g (g (x3 , x4 ), f (x1 , x2 )).

2.13. Учитывая соглашения о порядке выполнения операций, опустить «лишние» скобки и знак « » в

формуле:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а) x Ù (y Ù (

 

Ú y));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б) ((x Ú y)Ú (x Ù (y Ù z)))® ((

 

Ù

 

)® z).

 

x

y

 

2.14. Учитывая соглашения о порядке выполнения операций,

восстановить скобки и связку « » в

формуле:

 

 

б) (x Ú z) y ® xy .

 

а)

 

 

Ú z ;

 

 

xy Ú xyz

 

 

2.15. Применяя таблицы истинности, доказать равносильность формул:

1. x y = y x ;

 

 

 

 

 

 

 

2. x y = y x ;

 

3. x Ú (y Ú z) = (x Ú y)Ú z ;

 

 

 

 

4. x Ù (y Ù z) = (x Ù y)Ù z ;

 

5.x Ú ( y Ù z) = (x Ú y)Ù (x Ú z);

6.x Ù ( y Ú z) = (x Ù y)Ú (x Ù z);

7.

x x = x ;

8. x x = x ;

 

 

 

9.

 

=

 

Ù

 

;

10.

 

=

 

Ú

 

;

x Ú y

x

y

x Ù y

x

y

11.

x 0 = x ;

12.

x 0 = 0

;

 

 

13.

x 1 = 1;

14.

x 1 = x ;

 

 

 

15.

x Ú (x Ù y) = x ;

16.

x Ù (x Ú y) = x ;

17. x x = 0 ;

18.

x x = 1;

 

 

 

PDF created with pdfFactory Pro trial version www.pdffactory.com

19. x = x ; 20. x Ú xy = x Ú y .

2.16. Применяя таблицы истинности, доказать равносильность формул:

а)

x ® y =

 

Ú y ;

б) x « y =

 

 

 

x

xy Ú xy ;

в) x

 

y =

 

Ú

 

;

 

 

г)

x ¯ y =

 

 

 

;

 

x

y

x

y

д)

x Å y =

 

 

 

 

е)

x Ú y = x Å y Å xy .

xy Ú x y ;

2.17. Применяя таблицы истинности, доказать равносильность формул:

а) (x ® y) Ù ( y ® x) = x « y ; б) x ® y = y ® x .

2.18. Применяя таблицы истинности, доказать равносильность формул:

а) x Å y = y Å x ;

б) (x Å y)Å z = x Å ( y Å z) ;

в) x Å1 =

 

;

г) x Å 0 = x ;

x

д) x Å x = 0 ;

е) (x Å y) z = xz Å yz .

2.19. Пусть - одна из связок {®, «} . Выяснить, обладает ли соответствующая элементарная

операция алгебры логики свойством: а) коммутативности x y = y x ;

б) ассоциативности x *(y * z) = (x * y)* z .

2.20. Применяя равносильные преобразования, преобразовать формулу так, чтобы она содержала только « » и « ¬ »:

а) x y z ; б) x y ; в) x y ; г) x Ú (z ® y).

2.21. Применяя равносильные преобразования, преобразовать формулу так, чтобы она содержала только « » и « ¬ »:

а) xyz ; б) xy yz ; в) x y ; г) x Å y .

2.22. Применяя равносильные преобразования, доказать тождественную истинность формул:

а) (x ® y)Ú ( y ® x) ;

б)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xyz Ú xyz Ú x Ú y ;

в)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

г) (x « y)

 

 

®

 

 

.

 

 

xyz Ú xyz Ú xyz Ú xyz Ú x ;

y

x

2.23. С помощью равносильных преобразований упростить формулу:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б)(x ®

 

 

)Ú

 

 

 

Ú xy ;

а) xyz Ú xyz Ú z ;

y

x Ú y

в)(

 

 

 

 

 

) « ((x Ú y) «

 

 

 

) ;

г)(

 

Ú y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ú

 

Ú y Ú z Ú

 

;

x

Ú xy

x

y

x

xy

x

xy

д)

 

 

 

 

е) (y ®

 

)(x « y).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yx Ú xyz Ú z ;

x

2.24. Упростив формулу, выявить существенные и фиктивные переменные функции:

а) f (x1 ,..., x6 ) = ((x1 ® (x2 ® x1 )) ® x3 )((x4 ® (x5 ® x4 )) ® x6 );

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

2.25. а) Перечислить функции f (x1 , x2 ) , у которых x1 - фиктивная переменная. б) Подсчитать число функций f (x1 ,..., xn ) , у которых xn - фиктивная переменная.

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

2.26. Выяснить, на скольких наборах значений переменных обращается в ноль функция:

а) f (x1 , x2 ,..., x6 ) = x1 x2 Å x3 x4 Å x5 x6 ; б) f (x1 , x2 ,..., x6 ) = x1 x2 x3 Ú x4 x5 x6 ;

в) f (x1 , x2 ,..., x2n ) = x1 x2 Ú x3 x4 Ú ...Ú x2n−1 x2n ;

г) f (x1 , x2 ,..., x2n ) = (x1 Ú x2 )(x3 Ú x4 )...(x2n−1 Ú x2n ) .

2.27. Используя определение, найти элементарные функции, двойственные тождественному 0, тождественной 1, x , x , x y , x y , x ¯ y , x y , x y , x Å y .

PDF created with pdfFactory Pro trial version www.pdffactory.com

2.28. а) Пусть f (x1 , x2 ) задана вектором (s1 , s2 , s3 , s4 ) . Используя определение двойственной функции, выписать вектор значений функции f * (x1 , x2 ) .

б) Пусть f (x1 , x2 ,..., xn ) задана вектором (a1 , a2 ,..., a2n ) . Показать, что f * (x1 , x2 ,..., xn ) задается вектором (a2n ,..., a2 , a1 ).

2.29. Задать вектором значений функцию, двойственную данной:

а)

f

= (1011) ;

б)

f

= (1011 0110) ;

в)

f

= (1101 0100) ;

г)

f

= (1111 0011 1101 0010) .

2.30. Задать вектором значений функцию, двойственную данной:

а) f = (x1 ¯ x3 )Ú (

 

® x2 x3 ) ;

б) g = (x1 Å x2 ) ® x2 x3 .

x1

2.31. Записать формулу, двойственную данной:

 

 

 

 

 

б) (x Å y ) yz Ú 0 .

а) xyz Ú xyz Ú z Ú 0 ;

2.32. Применить принцип двойственности к равносильности:

а) x Ú ( y Ù z) = (x Ú y)Ù (x Ú z);

б) (x Å y)Å z = x Å (y Å z) ;

в) (x Å y) z = xz Å yz ;

г) x Ú y = x Å y Å xy .

2.33. Используя принцип двойственности, реализовать формулой функцию, двойственную данной

(исходную формулу не упрощать):

 

 

 

 

 

 

 

 

 

а) f =

 

 

 

 

×(x Ú

 

 

) ;

 

 

 

б) f = (x Ú

 

 

 

 

 

 

 

 

x Ú y

yz

yz Ú 0)× zy ;

 

 

= (

 

Ú y)

 

 

 

 

 

 

 

г) f = (x1 Å x2 ) « (x2

 

 

 

x3 );

в) f

 

 

Ú

 

 

Ú y Ú z Ú

 

;

x

xy

x

xy

 

 

д) f

= xy (

 

Ú yz ×

 

)Ú 0 ;

е) f = (x1 « x3 ) ¯ (x2

 

0).

yx

x Ú yz

 

2.34. Показать, что если функция

f (x1 , x2 ,..., xn ) существенно зависит от переменной xi ( i = 1,..., n ) ,

то двойственная ей функция f * (x1 , x2 ,..., xn ) также существенно зависит от переменной xi . 2.35. Реализовать функцию в виде СДНФ:

а)

x1 Ú x2 ;

б) x1

 

x2 ;

 

в) x1 ¯ x2 ;

г) x1 Å x2 ;

д)

f = (1100 0101) ;

е) f = (0101 1110) .

2.36. Реализовать функцию в виде СКНФ:

а)

x1 x2 ;

б) x1

x2 ;

в) x1 ¯ x2 ;

г) x1 Å x2 ;

д)

f = (1100 0101) ;

е) f = (0101 1110) .

2.37. Реализовать в виде СДНФ и СКНФ функцию:

а) g(x1 , x2 , x3 ) = (x1 Å x2 ) ® x2 x3 ;

б) f (x1 , x2 , x3 ) = x1 × x2 « (x1 Ú x2 ) x3 ;

в) g(x1 , x2 , x3 ) = f1 (x1 , x2 , x3 ) f2 (x1 , x2 , x3 ) ,

где f1

= (00111011), f2 = (01100111) ;

г)

h(x1 , x2 ) = g (x1 , x2 , x2 ) , где g = (1101 0111) .

2.38. а) Перечислить все элементарные конъюнкции над множеством {x1 , x2 } .

б) Найти число элементарных конъюнкций над множеством {x1 , x2 ,..., xn } .

PDF created with pdfFactory Pro trial version www.pdffactory.com