Гаврилов Г.П., Сапоженко А.А. - Задачи и упражнения по дискретной математике (1048833), страница 48
Текст из файла (страница 48)
Продолжая этот процесс, придем к искомому оптимальному (Р, 2)-коду с г сообщениями. Пример 1. Пусть А = (1, 2, ..., 6), В = (О, 1) Р = (0,4; 0,3; 0,1; 0,1; 0,05; 0,06), г = 6. Схема построения оптимального (Р, 2)-кода выглядит следующим образом: Всякому префиксному коду С в о-ичном алфавите В с заданным набором вероятностей Р можно сопоставить помеченное дерево П(С, Р, у), называемое в дальнейшем деревом кода С, следующим образом. Сопоставим каждому кодовому слову висячую вершину, каждому собственному префиксу внутреннюю вершину, причем одинаковым префиксам разных кодовых слов сопоставим одну и ту 7 Я. Коды с минимальной иэбытонносшью 237 жо внутреннюю вершину.
Пустому префиксу сопоставим вершину, называемую корнем дерева. Соединим две вершины, соответствующие префиксам о и иб ребром с пометкой Ь, если о = шЬ или о~ = оЬ, где Ь - буква алфавита В. Висячим вершинам припишем вероятности, с которыми встречаются соответствующие кодовые слова. Дерево Р(С, Р, д) устроено так, что последовательность пометок, приписанных ребрам цепи, соединяющей корень дерева с висячей вершиной, представляет собой соответствующее кодовое слово. Непомеченное корневое дерево, полученное из Р(С, Р, д) путом отбрасывания пометок, будем называть осшовом дсрева Р(С, Р, 9). Пример 2.
Пусть задан префиксный код С = (Ь, с, оа, аЬ, аса, асЬ, асс) и набор вероятностей, соответствующих кодовым словам, /1 1 1 1 1 1 11 есть Р = ( —, —, —, —, —, —, — ). Лере- (3' 9' 3' 27' 27' 27' 9) во .Р(С, Р, д) показано на рис. 7.2. Дерево Р(С, Р, д), соответствующее оп- 1 1 тимальному (Р, д)-коду С, будет назы- ' 3 ' 27 ваться оптимальным. Порядком ветвления Ь— 9 вершины и в дереве Р называется число ребер, инцидентных вершине о и не лежагцих Л на цепи, соединяющей вершину о с корнем. Будем говорить, что вершина принадлежит Рис.
7.2 й-му ярусу дерева, если цепь, соединяющая эту вершину с корнем, содержит й ребер. Будем говорить, что ребро принадлажит Ь-му ярусу, если оно соединяет вершины й-го и (й + 1)-го ярусов. Дерево Р называется (г, г1)-насышвнным, если порядки ветвления всех его вершин., за исключением, может быть, одной вершины, лежащей в последнем ярусе, равны 0 или 95 а поряцок ветвления этой исключительной вершины равен дв, где 1 1 асЬ,— 27 1 асс,— 9 у — 1, если — целое число, о — 1 з' г — ~ — ~ (д — 1) в остальных случаях. 1, 1~ Построение (Р., 9)-оптимальных кодов С, обладающих (г, 9)-насыщенными деревьями, производится аналогично построению (Р, 2)- оптимальных кодов.
Пример 3. Построить (Р, 3)-оптимальный код для Р = (0,4; О,З; 0.1; 0.,1; 0,05: 0,05) Решение. Поскольку з = 6, д = 3 и г)о — 1 целое число, то до = 9 — 1 = 2. Число 99 дает количество «склеиваемых» на первом шаге вероятностей. Построение кода проведем в два этапа, как и в примере 1. Сначала редуцируем распределение Р, а затем, построив оптимальный код для трех сообщений, расширим его до г = 6. Схема построения оптимального (Р, 3)-кода имеет вид 238 Гл. И1. Элементы теории кодирования 2.1. С помощью процедуры Хаффмена построить двоичный код с минимальной избыточностью для набора вероятностей Р; 1) Р = (0,4; 0,2; 0,2; 0,2); 2) Р = (0,7, :0,1; 0,1; 0,1); 3) Р = (0,2; 0,2; 0,2; 0,2; 0,2): 4) Р = (0,5; 0,2; 0,1; 0,09; 0,08; 0,03);.
5) Р = (0,4; 0,3; 0,08: 0,06: 0,04; 0,.04; 0,04; 0,04): 6) Р = (0,3; 0,3; 0.,2; 0,04; 0,03; 0,03; 0,03; 0,03;. 0,03; 0,01); 7) Р = (0,3; 0,2; 0,1; 0,1; 0,06; 0,06; 0,06; 0,06; 0,06); 8) Р = (0,4; 0,2; 0,1; 0,05; 0,05; 0,.05; 0,05; 0,05; 0,05). 2.2. Построить оптимальный (Р, д)-код для заданных Р и д: 1) Р = (0,3; 0,2; 0,2; 0,2; 0,1), д = 3; 2) Р = (0,4; 0,2; 0,1; 0,1; 0,1; 0,1), д = 3; 3) Р = (0,3; 0,3; 0 1; 0,1; 0,1; 0,1), д = 3; 4) Р = (0,4; 0,1; 0,1:, 0,1; 0,1; 0,08; 0,06; 0,06), д = 3; 5) Р = (0,3; 0,2; 0,1; 0,1; 0,1; 0,1; 0,1), д = 4; 6) Р = (0,21; 0,20; 0,17; 0,16; 0,12; 0,08; 0,04; 0,02), 9 = 4,: 7) Р = (0,20; 0,15; 0,15; 0,13; 0,12; 0,11; О,П; 0,03), д = 4, 8) Р = (0,23; 0,22; 0,18; 0,17; 0,08; 0,04; 0,02; 0,02; 0,02; 0,02), 9=4; /1 1 1 1 1 1 1 11 9) Р— (,3' 3' 9' 9 27' 27' 54' 54,)' /1 1 1 1 1 1 1 1 1 1 11 (,4 ' 4 ' 16 ' 16 ' 16 ' 16 ' 20 ' 20 ' 20 ' 20 ' 20 ! ' 2.3.
Для заданного д указать набор вероятностей Р, при котором существует 9-ичный префиксный код с заданным набором длин кодовых слов Ь, являющийся (Р, 9)-оптимальным. Построить этот код: 1) 9 = 2, Ь = (1, 2, 3, 4, 5, 5); 2) 9 = 2, Ь = (2, 2, 2, 3, 3); 3) д = 2, Х = (2, 2, 3, 3, 4, 4, 4, 4); 4)9=2, Х=(1,2,4,4,4,4); 5)9=3, Х=(1,1,2,2); 6) д = 3, Ь = (1, 1, 2, 3, 3, 3); 7) д = 3, Х = (1, 2, 2, 2, 2, 2, 2); 8) д = 4, Х = (1, 1, 2, 2, 2, 2, 2, 2); 9) д = 4, Х = (1, 1, 1, 2, 2, 2, 3, 3., 3); 10) 9 = 4, Х = (1, 1, 2, 2, 2, 2, 2, 2). у Я. Кобы с минимальной иэбьпиоиностью 239 2А.
Для префиксного кода С с заданным набором вероятностей Р построить дерево //(С, Р, д), соответствуньщее коду. Выяснить, является ли код С оптимальным: 1) С = (1, 00, 01, 02, 20, 21), Р = (0,5; 0,1; 0,.1; 0,1; 0,1; 0,1); 2) С = (00, 01, 10, 110., 111), Р = (-; —; —; —; -); 3) С = (О, 10, 110, 1110, 111Ц, Р = (-': -'; -'; — '; — '); 4) С = (О, 1, 20, 21, 220, 221), Р = ) -; —; —; —; —; — 1; 5) С = (О, 10, 11, 120, 121, 122), Р = (-; †; †; †; †; — ); 6) С = (О, 20, 21, 220, 221, 222), Р = (-; †; †: †; †; †; — ); 'ь2' 6' 6' 12' 12' 12' 12/' 7) С = (О, 10, 11, 20, 210, 222), Р = (-; —; —; —; —; — ); 10) С = (О, 1, 20, 21, 220, 22Ц, Р = (-; —; —: —; —; -). 'ьб' б' 6 ' б' б' б/ 2.5.
а) Выяснить, какие из найденных в задаче 2.4 деревьев являются насыщенными. б) Выяснить, какие из этих деревьев могут быть остовами оптимальных кодовых деревьев. 2.6. Верны ли следующие утверждения? 1) Оптимальное дерево?Л(С, Р, 2) является насыщенным. 2) Оптимальное дерево В(С, Р, с/), 6 > 2, является насьпценным. 3) В оптимальном дереве нет вершин с порядком ветвления, .равным 1.
4) В оптимальном дереве все вершины, кроме одной, имеют порядки ветвления либо О, либо д. 5) В оптимальном дереве все вершины, за исключением вершин яруса 1 — 1, где 1 максимальная длина кодового слова, имеют порядок ветвления либо О,либо 66 6) Всякое непомеченное (г, с/)-насыщенное дерево можно пометить так, что получится оптимальное кодовое дерево.
2.7. 1*) Доказать, что префнксный код с и-злачным кодирующим алфавитом и совокупностью длин кодовых слов Ь = (Лы Лз, ..., Л„) является полным, если ~~ и "' = 1, т. е. если в неравенстве Макмил~=1 лана имеет место равенство. 2) Используя теорему редукции, доказать следующее: при о = 2 всякий код с минимальной избыточностью является полным. 3) Верно ли утверждение п. 2) для с/ > 2? 240 Гл.
'зуй Элементы теории кодирования 2.8. Показать, что во всяком коде с минимальной избыточностью среди кодовых слов наибольшей длины найдутся два слова, различающихся только последней буквой. 2.9. Показать, что в двоичном коде с минимальной избыточностью число слов максимальной длины четно. 2.10. Выяснить, существует ли двоичный код с минимальной избыточностью, обладающий заданной последовательностью Ь длин кодовых слов; 1) Ь = (2, 3, 3, 3), 2) Ь = (3, 3, 3, 3); 3) Ь = (1, 3, 3, .3, 3); 4) Л = (1, 2, 3, 4); 5) А = (1, 2, 3, 4, 4); 6) А = (1, 2, 3, 4, 4, 4); 7) Ь = (1, 2, 3, 4, 4, 4, 4): 8) А = (1, 3, 3, 3, 3, 3, 3); 9) Ь = (1, 4, 4, 4, 4, 4, 4, 4, 4);.
10) Л = (3, 3, 3, 3,. 3, 3). 2.11. Выяснить, существует ли 9-ичный код с минимальной избыточностью, обладающий заданной последовательностью А длин кодовых слов: 1) Ь = (1, 1, 2), 4 = 3; 2) Ь = (1, 1, 2, 2), 4 = 3; 3) Ь = (1, 1, 2, 2, 2, 2), д = 3; 4) Л = (1, 2, 2, 2, 2, 2, 2), 4 = 3; 5) 1 = (2, 2, 2, 2, 2, 2, 2), 4 = 3; 6) Ь = (3, 3, ..., 3), 4 = 3; 25 заз 7) Ь = (3, 3, ..., 3), д = 3; 25 раз 8) Ь = (1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5), 4 = 3; 9) Ь = (2, 2, ..., 2, 3, 3, 3, 3), д = 4; 13 раз 10А=(2,2, ...,2,3,3,3),4=4. 11 раз 2.12.
Показать, что если д ( т ( д' — 4-Ь 1, б = 2, 3, ..., то в д-ичном коде с минимальной избыточностью, содержащем т кодовых слов, найдутся два слова разной длины. 2.13. Код называется почти равномерным, если длины его кодовых слов различаются не более чем на единицу. 1) Показать, что для всякого натурального т найдется почти равномерный код мощности т, являкзщийся кодом с минимальной избыточностью для набора вероятностей Р вида Ят, Цт, ..., 1/т). 2) Существуют ли наборы вероятностей, отличные от Р, для которых почти равномерный двоичный код является кодом с минимальной избыточностью? 2.14. Показать, что максимальная длина кодового слова оптимального двоичного кода мощности т нс превосходит т — 1. 2.15. Указать такой набор вероятностей Р = (рз, рз,, р„), что набор длин кодовых слов двоичного кода с минимальной избыточностью для набора Р имеет вид (1, 2, 3, ..., т — 2, т — 1, 1 — 1). 241 е К Сомокорректируюгциеея коды 2.16.
Показать (индукцисй по т), что сумма длин кодовых слов двоичного кода с минимальной избыточностью с г сообщениями нс 1 превосходит — (т + 2) (т — 1). 2 2.17. Используя теорему редукции, показать, что число оптимальных двоичных кодов с т кодовыми словами нс превосходит 2" (т — Ц!. 2.18. 1) Показать, что число схем Е: а, -+ В, (г = 1, ..., т), где а, буквы алфавита А, ~А~ = т, В, слова в алфавите В длины не больше т — 1 (~В~ = д), но превосходит г1" . 2) Прсфиксный алфавитный код со схемой Н: а, — ~ В, (1 = 1, ..., г ) будем называть тупиковым, если после удаления любой буквы из любого слова В, код перестает быть првфиксным. а) Верно ли, что оптимальный код является тупиковым? б) Показать, что число тупиковых алфавитных у-ичных кодов мощности т не превосходит (4д)зг.
У к а з а н и е. Оценить число помеченных деревьев, соответствующих тупиковым колам. 2.19. Пусть Р = (ры рз, ..., рг) ..- набор вероятностей, а 1„(Р) = = 1п11 р(С, Р), где нижняя грань берется по всем двоичным префиксс ным кодам мощности т. Доказать, что: 1) 1.(Р) >1при т>3, 2) для всякого с > 0 и любого т > 1 существует набор вероятностей Р такой, что 1„(Р) < 1+ с. 2.20. Пусть Цт) = зцр1п11гр(С, Р), где нижняя грань берется по р с всем прсфиксным у-ичным кодам мощности т, а верхняя грань берется по всем наборам вероятностей Р = (ры рз, ..., рг) таким, что р, > О г (г = 1, ...., т), ~ ~р, = 1.
Показать, что; 1) Цт) > (1о8 т) — 1; 2) 1Я < ~1об,т) +1. 9 3. Самокорректируютциеся коды 1. Расстояние Хэммннга, шары, сферы и циклы в и-мерном кубе. Напомним, что расстоянием Хэммингп между вершинами Н и и 13 куба. В" называется число р(а, Д = ~ ~а, —,3,~, равное числу г.=1 координат, в которых векторы а и )3 различаются. Наборы а, )3 из В" называются соседними, если р(а, )3) = 1, и протпиоополоокными, осли р(а, )3) = и. Неупорядоченная пара соседних вершин называется ребром кубо. Множество В"(а) = 113 Е В"; р(а, 13) = к) называется сферой радиуса й с центром а, а Яьв'(а) = 113 е В": р(а, )3) < й) --.