Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория Алгоритмов_заоч_14 / ТА_сам_подг(зо).doc
Скачиваний:
39
Добавлен:
07.06.2015
Размер:
507.9 Кб
Скачать

Варианты заданий 2 темы 5 для самостоятельной подготовки

Таблица вариантов к заданию 2

Вариант

p

1

23

2

29

3

31

4

37

5

41

6

43

7

47

8

53

9

19

0

17

Вопросы по теории темы 5 для самостоятельной подготовки

1 Теоретические основания асимметричных схем шифрования (сведения из теории чисел и модулярной арифметики).

2 Алгоритм возведения целого числа в степень по модулю.

3 Протокол обмена ключами Диффи-Хеллмана.

4 Алгоритм RSA, подготовка открытого и секретного ключа; порядок действий при обмене информацией.

5 Каковы достоинства и недостатки асимметричных криптоалгоритмов ?

Тема 6

Кодирование информации. Построение кодов с минимальной избыточностью(коды Хаффмана). Примеры построения кодов с минимальной избыточностью с учетом и без учета информации о вероятности появления символов в исходных текстах.

Краткие теоретические сведения

(см.лекции)

Задание 1

Разработать схемы алфавитного кодирования с минимальной избыточностью (коды Хаффмана) для случая, когда появление букв в сообщении равновероятно

Построить кодовые деревья. Получить схемы кодирования, определить l(увеличение длины закодированного сообщения над исходным)

r

q

9

4

РЕШЕНИЕ

1 Для конкретных значений q и rвсегда можно подобрать значение m, удовлетворяющее этому неравенству).

q m r q m+1, (1)

2 Обобщенный алгоритм поиска кода (схемы кодирования) с минимальной избыточностью:

  • для построения элементарных кодов использовать только mиm+1ярусы кодового дерева;

  • переходить на m+1 ярус только после исчерпания всех возможностейm–го яруса.

Для реализации этого алгоритма необходимо представить rв виде уравнения:

r =(qmn )+ q nt , (2)

где n– количество неконцевых вершин ярусаm(эти вершины будут ветвиться вm+1 ярус кодового дерева);

t(t q).– количество вершинm+1 яруса, которые не будут задействованы при построении кода (n, t целые неотрицательные числа).

3 Формула для определения lбудет иметь следующий вид:

l = [( q m n) m + (q n – t)( m+1)]/ r (3)

q =4; r = 9 в соответствии с формулой (1)m = 1.Для кодирования будет достаточно 1–го и 2–го ярусов обобщенного кодового дерева (см. рис. 1).

r =( qmn)+ q nt, 9= (4 –n)+ 4 nt (подбираем целые n и t)

Равенство выполняется для n = 2 и t= 1.

4 Определим l для полученной схемы по формуле (3)

l = [( q m n) m + (q n – t)( m+1)]/ r

l = (( 4-2) х 1 + (4х2 – 1) (1+1)) / 9 = 16/9 = 1,78.

Задание 2

Разработать схемы алфавитного кодирования с минимальной избыточностью (коды Хаффмана) для случая, когда вероятности появления букв в сообщении заданы

Построить кодовые деревья. Получить схемы кодирования, определить l(увеличение длины закодированного сообщения над исходным)

r

q

p1, p2, …p12

10

4

0,34; 0,18; 0,15; 0,05;… 0,05; 0,04; 0,04

Решение Алгоритм решения задачи следующий:

1 Определить qопо формуле (4).

k = r/ (q –1)(остаток от деления)

(4)

k = 10/3 = 1; q0 = 4.

2 Упорядоченный по убыванию список вероятностей p1, p2, …prзаменяют новым упорядоченным списком вида:p1, p2,.. pj, p,…prqo,гдеp =prqo+1+ …+ pr(т.е. суммируют последниеqоштук элементов списка и создают новый упорядоченный список, в который входит полученная сумма); процесс суммирования и упорядочивания (но уже суммируют последниеq штук элементов) продолжается до тех пор, пока в списке вероятностей останется ровноq элементов.

Упорядоченный список 1 (10 чисел) 0,34; 0,18; 0,15; 0,05;… 0,05; 0,04; 0,04

Упорядоченный список 2 (7 чисел) 0,34; 0,18; 0,18; 0,15; 0,05; 0,05; 0,05

Упорядоченный список 3 (4 числа) 0,34; 0,3; 0,18; 0,18;

3 Для последнего свернутого в п.2 списка строится одноярусное кодовое дерево (из начальной вершины выходит qребер, каждому из которых приписывается буква алфавитаO, а каждой вершине 1–го яруса вероятности из последнего свернутого списка).

4 Построить 2–й, 3–й и другие ярусы кодового дерева, на которых развернуть просуммированные вероятности последнего, предпоследнего и т.д. списков(вершины, которым приписаны вероятности букв входного алфавита на любом ярусе, становятся концевыми); в результате таких действий получим кодовое дерево, в котором rконцевых вершин и каждой из которых приписана вероятностьpj.Выписав цепи из нулевой вершины к концевым (перечень ребер), получим схему кодирования с минимальной избыточностью.

Величина среднего превышения длины закодированного сообщения над длиной самого сообщения определим по формуле:

= 0,34 + 0,18 + (0,3+0,18)х2 =1,48.

Соседние файлы в папке Теория Алгоритмов_заоч_14