 
        
        ИФПМ (ПРИТ) / Учебник
.pdfный многочлен для 2 ,... и т.д. Рассмотрим циклический код с порождающим многочле-
ном
g(x) НОК m1(x), m2 (x),..., md 1(x) .
Если n 2r 1, а k n deg g(x) , то получим (n, k) -код с минимальным расстоянием
| не менее d . | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| Доказательство. Заметим, что | 1 , | так как | d 1 3 | и r 1. Многочлен g(x) – | |||||||
| многочлен наименьшей степени с корнями , 2 ,..., d 1 . | Поэтому если f (x) – кодовый | ||||||||||
| многочлен, то f ( i ) 0, где | 1 i d 1 . | Покажем, | что любой многочлен с корнями | ||||||||
| , 2 ,..., d 1 имеет не менее d | ненулевых коэффициентов. | 
 | 
 | ||||||||
| Допустим противное. Пусть многочлен | 
 | 
 | 
 | 
 | 
 | ||||||
| 
 | 
 | c(x) b xn1 | b xn2 ... b | xnd 1 | 
 | ||||||
| 
 | 
 | 
 | 
 | 1 | 
 | 
 | 2 | 
 | d 1 | 
 | 
 | 
| имеет своими корнями , 2 ,..., d 1 . Тогда выполняются равенства | |||||||||||
| 
 | 
 | 
 | d 1 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | bi kni | 0, k 1, 2,..., d 1 . | 
 | ||||||
| 
 | 
 | 
 | i 1 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| Матрица этой системы имеет вид | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| 
 | 
 | n1 | 
 | n2 | ... | nd 1 | 
 | 
 | |||
| 
 | 
 | 2n1 | 
 | 2n2 | 
 | 2nd 1 | 
 | ||||
| 
 | 
 | 
 | ... | 
 | |||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | . | 
| 
 | ... | 
 | ... | ... | ... | 
 | 
 | ||||
| 
 | 
 | 
 | (d 1)n | 
 | (d 1)n | 
 | (d 1)n | 
 | |||
| 
 | 
 | 
 | 1 | 
 | 2 ... | 
 | d 1 | 
 | |||
Еѐ определитель есть произведение n1 n2 ... nd 1 на определитель Вандермон-
да. Поэтому 0 . Отсюда bi 0 .
Теорема доказана.
Определение 2. Код, описанный в теореме 1, называется БЧХ-кодом.
БЧХ-коды были введены Боузом и Чоудхури в 1959 г. и Хоквингемом в 1960 г. Они используются в течение многих лет в европейских и трансатлантических информацион-
ных системах связи. Сообщения в них имеют длину 231, а порождающий многочлен име-
ет степень 24, так что длина кодовых слов равна 231 + 24 = 255 =28 – 1. Этот код обнару-
живает, по меньшей мере, 6 ошибок, и вероятность неправильного декодирования – одна
16-миллионная.
51
Теорема 2. В условиях теоремы 1 слово (v0 ,...,vn 1) является кодовым
H vT 0 , где
| 1 | 
 | 
 | 2 | |
| 
 | 2 | 4 | ||
| 1 | ||||
| H | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
| ... ... | ... | |||
| 
 | 
 | d 1 | 
 | 2(d 1) | 
| 1 | 
 | 
 | ||
| ... | n 1 | 
 | |
| 
 | 2(n 1) | 
 | |
| ... | 
 | ||
| ... ... | . | ||
| 
 | |||
| ... | 
 | (d 1)(n 1) | 
 | 
| 
 | 
 | ||
Доказательство. Если слово v (v0 ,...,vn 1) – кодовое, то многочлен v(x) делится на g(x) . Поэтому элементы , 2 ,..., d 1 являются его корнями. Поскольку v( i ) есть про-
изведение i -й строки матрицы H на вектор v , то необходимость доказана.
Обратно, пусть H vT 0 . Тогда элементы , 2 ,..., d 1 являются корнями много-
члена v(x) , но многочлен g(x) – многочлен наименьшей степени с этими же корнями. По-
этому v(x) делится на g(x) и, значит, слово v является кодовым.
Теорема доказана.
В действительности матрицу H можно несколько упростить, выбросив из неѐ не-
сколько «лишних» строк. Поскольку рассматриваем поля только характеристики 2, то f ( 2 ) f 2 ( ) . Поэтому если элемент является корнем многочлена f (x) , то элементы
2 , 4 ,... также являются корнями этого многочлена. Следовательно, строчки матрицы H
с номерами 2, 4, 8 и т.д. можно удалить. Точно так же, оставив 3-ю строку матрицы H ,
можно удалить 6-ю, 12-ю и т.д.
Процедуру декодирования БЧХ-кода рассмотрим на следующем примере.
Пример 1. Возьмѐм в теореме 1 d 5, r 4 . Тогда n 15 . В качестве GF (24 ) рас-
смотрим 2[ ] / ( 4 1) , и возьмѐм как примитивный элемент этого поля. Многочлен
x4 x 1 будет минимальным многочленом для элементов , 2 , 4 . Для 3 минимальным
многочленом будет x4 x3 x2 x 1. Поэтому порождающим многочленом БЧХ-кода бу-
дет
g(x) (x4 x 1)(x4 x3 x2 x 1) x8 x7 x6 x4 1.
Следовательно, k n deg g(x) 15 8 7 . Получаем (15, 7) -код, исправляющий 2
ошибки. В матрице H из теоремы 2 можно оставить только 1-ю и 3-ю строчки по сообра-
жениям, изложенным после этой теоремы. Если на вход поступило слово v , то результат произведения 1-й строки на v обозначим S1 , а результат произведения v на оставшуюся
3-ю строку обозначим S3 .
52
| Для удобства счѐта разложим степени элемента в поле | [ ] / ( 4 | 1) по бази- | ||
| 
 | 
 | 2 | 
 | 
 | 
| су 1, , 2 , 3 : | 
 | 
 | 
 | 
 | 
| 1 = 1 | 5 2 | 10 2 1 | 
 | 
 | 
| 
 | 6 3 2 | 11 3 2 | 
 | 
 | 
| 2 2 | 7 3 1 | 12 3 2 1 | 
 | 
 | 
| 3 3 | 8 2 1 | 13 3 2 | 
 | 
 | 
| 4 1 | 9 3 | 14 3 1 | 
 | 
 | 
Допустим, на приѐм поступила последовательность v (111110000000000) . Стоит задача исправить ошибки в этом слове. Тогда S1 1 2 3 4 3 2 .
Далее
S3 1 3 6 9 12 1 3 2 3 2 1 0 .
Если x1 и x2 – степени элемента , соответствующие номерам координат, в кото-
рых допущены ошибки (например, если ошибки допущены в 3-й и 10-й позициях, то
| x 2 | , | x 9 ), то | S x | x , | S | x3 | x3 S (S 2 | x x ) . Для нахождения | x и | x | получаем | ||||
| 1 | 
 | 2 | 1 | 1 | 2 | 3 | 1 | 2 | 1 | 1 | 1 | 2 | 1 | 
 | 2 | 
| систему уравнений | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | x x 2 | 3 , | 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 1 | 
 | 2 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | x x x2 0. | 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | x2 | 
 | 
 | 
 | ||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 1 | 
 | 1 | 2 | 2 | 
 | 
 | 
 | 
Поскольку x12 x22 (x1 x2 )2 ( 2 3 )2 3 2 1 , то x1x2 3 2 1.
Таким образом, x1 и x2 являются корнями квадратного уравнения x2 ( 3 2 )x 3 2 1 0 .
Подбором находим корни x1 , x2 11 . Значит, вектор v имеет ошибки во 2-й и в
12-й позициях. После исправления получаем вектор
u (101110000001000) .
Ещѐ один пример: v (1111110000000000) .
S1 1 2 3 4 5 1 2 3 1 2 3 .
Учитывая предыдущие вычисления, S3 1. Тогда S1 1 6 3 2 , S12 18 3 . По-
этому x1x2 2 . Но уравнение
x2 ( 3 )x 2 0
решений не имеет! Это говорит о том, что ближайшее кодовое слово отстоит от вектора v на расстоянии, бóльшем чем 2, и его нельзя декодировать.
53
| 
 | 
 | Задачи | 
 | 
| 
 | Рассмотрим БЧХ-код для случая n 24 1 15 . В качестве поля | GF(24 ) возьмѐм | |
| 
 | [ ]/ ( 4 1) . Многочлен x4 | x 1 будет минимальным для элементов | , 2 , 4 . Мини- | 
| 2 | 
 | 
 | 
 | 
| мальным многочленом для 3 | будет x4 x3 x2 x 1. Поэтому в качестве порождающего | ||
многочлена кода возьмѐм
g(x) (x4 x 1)(x4 x3 x2 x 1) x8 x7 x6 x4 1.
Тогда k n deg g(x) 15 8 7 . Получим (15, 7) -код с минимальным расстоянием 5,
исправляющий 2 ошибки. Допустим, что на приѐм получено слово u , в котором не более двух ошибок. Исправьте их.
| 1. | u (111010001010010) . | 2. | u (010001100110111) . | 
| 3. | u (111011001000000) . | 4. | u (010001111110101) . | 
| 5. | u (101011010011110) . | 6. | u (111101010110100) . | 
| 7. | u (101011010010000) . | 8. | u (100001010110100) . | 
54
 
3.Графы
3.1.Введение в графы. Задача о кѐнигсбергских мостах.
Проблема четырѐх красок
Начало теории графов относится к 1736 году, когда Леонард Эйлер (1707 – 1783) не только решил популярную в то время задачу о кѐнигсбергских мостах, но и нашѐл крите-
рий существования в графе специального маршрута (эйлерова цикла, как теперь его назы-
вают). Однако этот результат более ста лет оставался единственным результатом теории графов. Лишь в середине XIX века инженер-электрик Густав Кирхгоф (1824 – 1895) раз-
работал теорию деревьев для исследования электрических цепей, а математик Артур Кэли
(1821 – 1895) в связи с описанием строения углеводородов решил перечисленные задачи для трѐх типов деревьев. К этому же периоду относится появление знаменитой проблемы четырѐх красок.
Остановимся подробнее на задаче о кѐнигсбергских мостах. Суть еѐ в следующем.
В г. Кѐнигсберге посередине реки были два острова. Эти острова соединялись между
собой и с обоими берегами реки системой мостов. Если каждый отделѐнный участок суши обозначить точкой, а каждый мост изобразить «ребром», то получится следующая схема:
Точку (вершину) назовѐм чѐтной, если из неѐ выходит чѐтное число рѐбер, и нечѐт-
ной в противном случае. Решение Эйлера состояло в следующем. «Граф» можно обойти,
если число нечѐтных вершин равно 0 или 2. В данном случае все четыре вершины являют-
ся нечѐтными, поэтому обойти все мосты, побывав на каждом ровно один раз, нельзя.
Многие, наверное, знакомы со следующей «детской» задачей. Можно ли
55
 
нарисовать домик, не отрывая ручки от бумаги? В данном случае ответ положительный,
так как число нечѐтных вершин равно 2. Только начинать и заканчивать обход нужно обя-
зательно в вершине нечѐтной степени:
Другой очень известной задачей теории графов является проблема четырѐх красок.
Суть еѐ состоит в следующем. На плоскости имеется географическая карта, на которой нанесены страны со своими границами. Всегда ли хватит четырѐх красок, чтобы раскра-
сить эту карту таким образом, чтобы любые две граничащие страны были раскрашены в разные цвета? Каждая страна, естественно, окрашивается в один цвет. То, что число кра-
сок должно быть не меньше четырѐх, показывает, например, следующая карта:
Эта проблема стояла около 100 лет и была окончательно разрешена относительно недавно (в 1976 году) американскими математиками Хакеном и Аппелем при использова-
нии вычислительной техники.
1
3 4
2
3.2. Графы. Основные понятия
Определение 1. Пусть V – некоторое множество, называемое в дальнейшем множеством вершин, V2 – множество всех его двухэлементных подмножеств. Пусть
E V2 – некоторое подмножество в V2 , называемое в дальнейшем множеством рѐбер.
Тогда пара (V , E) называется простым графом или просто графом. Эта пара часто обо-
значается G(V , E) или просто G .
Если e E, e (v1,v2 ) , то вершины v1,v2 будем называть концами ребра e . Будем также говорить, что вершины v1,v2 инцидентны ребру e или ребро e инцидентно вер-
шинам v1 и v2 . Вершины, соединѐнные ребром, будем называть соседними, а рѐбра, инци-
дентные одной и той же вершине, смежными.
В некоторых случаях рассматривают графы, в которых две фиксированные верши-
ны могут быть соединены не одним ребром, а несколькими. Могут также рассматриваться графы с «петлями», т.е. с рѐбрами вида (v,v) . Такие графы пока рассматривать не будем.
Будем рассматривать только конечные графы, т.е. множество вершин V всегда предполагается конечным.
56
 
Пример 1. Рассмотрим граф G(V , E) , где
E {(a,b), (a,c), (a,d ), (b,c), (b,d )}. Его можно изобразить с помощью следующего рисунка:
Однако его можно изобразить и по-другому:
Разные рисунки представляют один и тот же граф. В связи с этим важным является понятие изоморфизма графов.
Определение 2. Графы G1(V1, E1) и G2 (V2 , E2 ) называются изоморфными, если существует такое взаимно однозначное отображение
f :V1 V2 ,
что любые две вершины соединены ребром в графе G1 тогда и только тогда, ко-
гда их образы соединены ребром в графе G2 , т.е.
(a,b) E1 ( f (a), f (b)) E2 .
Теперь несложно убедиться, что все нарисованные выше графы изоморфны.
Важной характеристикой графа является группа его автоморфизмов. Она отражает меры симметрии этого графа.
Определение 3. Пусть имеется граф G . Изоморфизмы графа G в себя называ-
ются автоморфизмами. Все автоморфизмы графа G образуют группу, которая называ
ется группой автоморфизмов графа G и обозначается .
Пример 2. Найдѐм группу автоморфизмов следующего графа:
Можно произвольным образом перенумеровать вершины графа и среди всех пере-
становок вершин выбрать те, которые удовлетворяют определению изоморфизма графов.
Перенумеруем вершины таким образом:
57
 
2 


 3
 3
| 1 | 4 | 
Тогда автоморфизмами графа будут следующие перестановки:
| 1 | 2 | 3 | 4 | 1 | 2 | 3 4 1 | 2 | 3 | 4 | 1 | 2 | 3 4 | |||||||
| 
 | 
 | 
 | 
 | 
 | , | 
 | 
 | 
 | 
 | , | 
 | 
 | 
 | 
 | , | 
 | 
 | 
 | . | 
| 1 | 2 | 3 | 4 | 
 | 
 | 3 | 2 | 1 4 | 
 | 1 | 4 | 3 | 2 | 
 | 
 | 3 | 4 | 1 2 | 
 | 
Как известно, существуют две группы из четырѐх элементов и обе они абелевы.
Это 4 и 2 2 . Поскольку порядки получившихся автоморфизмов не более 2, то
Aut G 2 2 .
Определение 4. Маршрутом в графе G(V , E) называется последовательность
вершин и рѐбер v1, (v1,v2 ), v2 , (v2 ,v3 ),..., (vk 1,vk ), vk , начинающаяся и заканчивающаяся вершиной.
Маршрут, в котором все рѐбра разные, называется цепью. Цепь, в которой все
вершины разные, называется простой цепью.
Определение 5. Цепь, в которой первая и последняя вершины совпадают, назы-
вается циклом. Цикл, в котором все вершины, кроме первой и последней, разные, называ-
| ется простым циклом. | |
| 
 | Определение 6. Граф G (V , E ) называется подграфом графа G(V , E) , если | 
| V V , | E E , причѐм оба конца любого ребра из E должны принадлежать V . | 
Определение 7. Граф G называется связным, если каждая пара его вершин со-
единена цепью.
Определение 8. Пусть G(V , E) – произвольный граф. Тогда множество его вер-
шин V можно разбить на такие непересекающиеся подмножества V1,V2 ,...,Vp , что лю-
бые две вершины из Vi (i 1,..., p) соединены цепью и никакая вершина из Vi не соединена цепью ни с какой вершиной из V j при i j .
Пусть Ei обозначает множество всех рѐбер из E , оба конца которых принадле-
жат Vi . Тогда подграфы G1(V1, E1), G2 (V2 , E2 ),..., Gp (Vp , Ep ) называются компонентами связности графа G .
58
 
Пример 3. Граф, изображѐнный на рисунке, имеет 3 компоненты связности:
Определение 9. Граф G называется полным, если любые его две вершины со-
единены ребром. Полный граф на n вершинах обозначается Kn .
Пример 4. Граф K5 :
Задачи
Изоморфны ли следующие графы?
1.  и
 и
2. и
 и
Для следующих графов найдите их группы автоморфизмов.
3. 


 4.
 4. 


 5.
 5.
6.Найдите все неизоморфные графы с четырьмя вершинами.
7.Найдите все с точностью до изоморфизма (5,5) -графы.
59
 
3.3. Деревья
Определение 1. Деревом называется связный граф без циклов.
В дальнейшем договоримся (n, m) -графом называть граф, в котором n вершин и
m рѐбер.
Теорема. Пусть G(V , E) – (n, m) -граф. Тогда следующие условия эквивалентны:
1)G – дерево;
2)G – связный граф и m n 1;
3)G – граф без циклов и m n 1.
Доказательство. 1 2. Индукция по n . При n 1 граф состоит только из одной
вершины и утверждение верно. Предположим, что утверждение справедливо, когда число вершин меньше n . Рассмотрим случай V n .
Пусть ребро e E . Удалим ребро e из графа G . Получим граф G V , E \{e} . Если
v1,v2 – концевые вершины ребра e , то в графе G вершины v1 и v2 не могут быть соеди-
нены цепью, так как иначе в графе G был бы цикл. Значит, число компонент связности
| графа | G | 
| не менее двух. | 
 | 
| Любая вершина графа G соединена цепью с v1 . Если вершина может быть соеди- | |
| нена цепью с v1 , не содержащей ребра e , то в графе G | она принадлежит той же компо- | 
ненте связности, что и v1 . Если же цепь содержит ребро e , то данная вершина в графе G
соединена с v2 и, таким образом, число компонент связности графа G равно в точности двум. Пусть G1(V1, E1), G2 (V2 , E2 ) – это компоненты связности,
| 
 | V1 | 
 | n1, | 
 | E1 | 
 | m1, | 
 | V2 | 
 | n2 , | 
 | E2 | 
 | m2 , G1, G2 – связные графы без циклов, поэтому они являются | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| деревьями. Поскольку n1, n2 n , | можно воспользоваться индуктивным предположением, | 
| из которого следует, что m1 n1 1, | m2 n2 1. Но тогда m m1 m2 1 n1 n2 1 n 1. | 
| 2 3. Если граф G содержит цикл, то удалим ребро, входящее в этот цикл. Полу- | |
ченный граф G1 по-прежнему останется связным. Если G1 также содержит цикл, то опять удалим ребро, входящее в цикл. После повторения этой процедуры, например, p раз по-
лучим связный граф без циклов, т.е. дерево. В силу того что импликация 1 2 уже дока-
зана, можем утверждать, что m p n 1. Это противоречит условию, поскольку p 0 .
3 1. Допустим, что граф G не является связным. Тогда он распадается на k ком-
понент связности G1,...,Gk , k 1. В этом случае каждая компонента связности Gi (Vi , Ei ) яв-
60
