- •Теория алгоритмов методические указания для самостоятельной подготовки к контролю знаний
- •«Компьютерные науки»
- •С о д е р ж а н и е
- •Перечень тем
- •Тема 1 Шифры перестановки. Разновидности реализации шифров перестановки Краткие теоретические сведения
- •1 Шифр сцитала
- •2 Шифр вертикальной перестановки
- •3 Шифр поворотной решетки
- •4 Шифры с использованием магичных квадратов
- •5 Перестановка бит
- •Задание
- •Варианты заданий темы 1 для самостоятельной подготовки
- •Вопросы по теории темы 1 для самостоятельной подготовки
- •Тема 2 Шифры простой замены. Разновидности реализации шифров простой замены Краткие теоретические сведения
- •Варианты реализации шифров простой замены
- •1 Система шифрования Цезаря
- •2 Афинная система подстановок
- •3 Лозунговый шифр
- •4 Шифровальный квадрат Полибия
- •5 Шифровальная таблица Трисемуса
- •4Х8 «Сколько волка ни корми, он все в лес глядит »
- •Задание
- •Варианты заданий темы 2 для самостоятельной подготовки
- •Вопросы по теории темы 2 для самостоятельной подготовки
- •Тема 3 Шифры сложной замены. Разновидности реализации шифров сложной замены Краткие теоретические сведения
- •1 Биграммный шифр Плейфейера
- •2 Шифр с использованием омофонов
- •3 Шифр Гронсфельда
- •4 Система шифрования Вижинера
- •5 Шифр «Двойной квадрат Уитстона»
- •Задание
- •Варианты заданий темы 3 для самостоятельной подготовки
- •Вопросы по теории темы 3 для самостоятельной подготовки
- •Приложение
- •Открытое распределение ключей
- •Протокол обмена ключами Диффи–Хеллмана
- •Варианты заданий 2 темы 5 для самостоятельной подготовки
- •Задание 2
- •Решение Алгоритм решения задачи следующий:
- •Варианты заданий 1, 2 темы 6 для самостоятельной подготовки
- •Вопросы по теории темы 6 для самостоятельной подготовки
- •Варианты задания 1 темы 7 для самостоятельной подготовки
- •Литература
Варианты заданий 1, 2 темы 6 для самостоятельной подготовки
Таблица вариантов к заданиям 1 и 2
|
Вариант |
r |
q |
p1, p2, …pr |
|
1 |
12 |
4 |
0,3; 0,22; 0,14 …. |
|
2 |
11 |
3 |
0,35; 0,21; 0,13 …. |
|
3 |
9 |
2 |
0,25; 0,24; 0,16… |
|
4 |
7 |
3 |
0,26; 0,22; 0,14… |
|
5 |
10 |
4 |
0,34; 0,18; 0,15… |
|
6 |
9 |
3 |
0,25; 0,22; 0,18… |
|
7 |
8 |
2 |
0,25; 0,24; 0,16 |
|
8 |
10 |
3 |
0,3; 0,22; 0,14 |
|
9 |
11 |
2 |
0,26; 0,22; 0,14 |
|
10 |
9 |
4 |
0,34; 0,18; 0,15… |
Примечание Список вероятностей дополнить самостоятельно до общей суммы 1.
Вопросы по теории темы 6 для самостоятельной подготовки
1 Алгоритм построение кодов с минимальной избыточностью (кодов Хаффмана) при равновероятностном появлении букв входного алфавита.
2 Алгоритм построение кодов с минимальной избыточностью (кодов Хаффмана) при заданных вероятностях появлении букв входного алфавита.
3 Самокорректирующиеся коды (коды Хемминга). Принципы их построения
Тема 7
Самокорректирующие коды (коды Хемминга). Примеры построения кодов Хэмминга.
Краткие теоретические сведения
(см.лекции)
Задание 1
Разработать самокорректирующийся код (код Хэмминга) для бинарных слов длины m=10 и привести примеры декодирования искаженных элементарных кодов (источник помех может исказить не более одной позиции элементарного кода).
Р Е Ш Е Н И Е
1Определим длинуlэлементарных кодов
2k–1 ≤l , а2k l+1, где l = m + k (по условию задачиm = 10 )
Оба неравенства выполняются для k= 4 ( 8 ≤ 13, 1614), т.е для 10 информационных членов понадобятся 4 контрольных бита в элементарных кодах, общая длина которых будет равна 14.
2Контрольные биты элементарного кода будут вычисляться так:
Ряд 1 1 = 3+ 5 + 7 + 9 + 11 + 13 (mod 2),
Ряд 2 2 = 3+ 6 + 7 + 10 + 11 (mod 2
Ряд 3 4= 5+ 6 + 7 + 12 + 13 (mod 2),
Ряд 4 8= 9+ 10 + 11 + 12 + 13 (mod 2),
3Пример кодирования исходного элементарного сообщения (длина 10 позиций т.еm= 10)
В таблице ниже приведен пример определения контрольных бит элементарного кода (контрольный бит равен 1, если число единиц соответствующего ему ряда нечетно и 0 – если четно). Значения контрольных бит в таблице выделены курсивом.
|
Номера позиций |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|
Код сообщения |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
Ряд 1 |
1 |
|
1 |
|
1 |
|
1 |
|
0 |
|
1 |
|
1 |
|
|
Ряд 2 |
|
1 |
1 |
|
|
0 |
1 |
|
|
0 |
1 |
|
|
0 |
|
Ряд 3 |
|
|
|
0 |
1 |
0 |
1 |
|
|
|
|
1 |
1 |
0 |
|
Ряд 4 |
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
4Пример корректировки искаженного в одной позиции элементарного кода (пусть в процессе передачи по каналу связи элементарный код, представленный в строке 2 предыдущей таблицы искажен в позиции 5 вместо 1 получен 0 )
|
Номера позиций |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
Si |
|
Код сообщения |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
Ряд 1 |
1 |
|
1 |
|
0 |
|
1 |
|
0 |
|
1 |
|
1 |
|
1= S1 |
|
Ряд 2 |
|
1 |
1 |
|
|
0 |
1 |
|
|
0 |
1 |
|
|
0 |
0= S2 |
|
Ряд 3 |
|
|
|
0 |
0 |
0 |
1 |
|
|
|
|
1 |
1 |
0 |
1= S3 |
|
Ряд 4 |
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0= S4 |
В результате подсчета кода ошибки получен следующий результат:
S = S4 S3S2 S1 = 0101 (в бинарном представлении), что соответствует 5 (т.е. ошибка в позиции 5 и для корректировки нужно 0 (поз. 5) заменить на 1). Результат восстановления приведен ниже.
|
Номера позиций |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|
Код полученного сообщения |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
Код сообщения после коррекции |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
Сообщение (удалены контрольные члены) |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
