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

ИФПМ (ПРИТ) / Учебник

.pdf
Скачиваний:
71
Добавлен:
30.12.2021
Размер:
3.64 Mб
Скачать

ный многочлен для 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

Aut G
V {a,b,c, d},

Пример 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

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. 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

Соседние файлы в папке ИФПМ (ПРИТ)