Г.П. Гаврилов, А.А. Сапоженко - Задачи и упражнения по дискретной математике (1132701), страница 48
Текст из файла (страница 48)
1. Среди кодовых слов максимальной длины 1 оптимального (Р, 2)- кода найдутся два слова, имеющие один и тот же префикс длины 1 — 1. 2. Если слова юв го оптимального (Р, д)-кода соответствуют вероятностям р„р и р, > р, то длины 1(ю,) и г(игк) этих слов связаны неравенством 1(ю,) ( 1(ю ). 236 Гл. И1. Элементы теории кодирования 3.
Теорема редукции. Пусть С = (юы юз, ..., юь) двоичныйкод,Р=(рырз, рс) рь3рз3...)рс,р;)О, ~ р,=1— распределешье вероятносгпей. Пус|аь ю,, и~ (слова, имеющие максимальную длину 1 и соотвепютвуюизие верояганосшям р„р ) обладают одинаковыми префиксами ю длины 1 — 1. Полозкам р' = р, + р и рассмоьприм распределение вероятностей Р' = (ры ..., рь — ы р', рь ы, р, „р,, ы ..., р „р +ы..., р„), в котором вероятности распологкены в порядке невоэрастания.
Код С' = (С С (юЯ(ю, и, ) является (Р', 2)-оптимальным тогда и люлько тогда, когда код С является (Р, 2)-оптимальным. Процедура Хоффмана для построения оптимального (Р, 2)-кода заключается в следующем. Пусть вероятности в распределении Р = = 1ры рз, ..., р„) расположены в порядке невозрастания. Исключим из Р вероятности р, з и р„, а их сумму р вставим в оставшийся набор таким образом, чтобы в получившемся новом наборе вероятности не возрастали. Эта процедура повторяется до тех пор, пока не получится набор из двух вероятностей.
Зля такого набора вероятностей оптимальным является код, в котором каждой букве из алфавита сообщений А ставится в соответствие 0 или 1. Исходя из полученного на некотором шаге оптимального кода С' в соответствии с теоремой редукции можно перейти к расширенному оптимальному коду С, имеющему мощность, на единицу болыпую, чем код С'.
Продолжая этот процесс, придем к искомому оптимальному (Р, 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);.