第十二回 レポート課題 1. Huffman アルゴリズムで確率分布が Table 1 で与えられる情報源 X を 符号化せよ. Table 1: 情報源 X の確率分布 PX (x) x1 0.35 x2 0.3 x3 0.2 x4 0.1 x5 0.04 x6 0.005 x7 0.005 【解答例】 Huffman アルゴリズムにより,与えられた確率を値が大きい順に並べ, 確率が最も小さい二つに 0 と 1 の符号語を割り当ててから加算する.こ の作業を最後の確率の和が 1 になるまで繰り返すと,Table 1 の情報源 に対して,次のグラフが描ける. 0 x1 0.35 0.35 0.35 0.35 0.35 0.35 x2 0.3 0.3 0.3 0.3 x3 0.2 0.2 0.2 0.2 x4 0.1 0.1 0.1 x5 x6 0.04 0.04 0.005 x7 0.005 0 0 0.35 0.35 End 1 1 0.2 1 0 0.15 0 0 0.01 0.05 1 1 1 Figure 1: Haffman アルゴリズムによるグラフ 最後に、上の図にある xi から End までのパスで,太い線で示した符号 を逆順に書くと次の符号が得られる. 1 E(x1 ) 1 E(x2 ) 01 E(x3 ) 000 E(x4 ) 0010 E(x5 ) 00110 E(x6 ) 001110 E(x7 ) 001111 2. Lempel-Zip アルゴリズムでビット列 (1010110100100111010100001100111010110001) を符号化せよ. 【解答例】 Lempel-Zip アルゴリズムは辞書式符号であるが、与えられた系列を一ビッ トずつ読み込み、新しいフレーズが出ると辞書に登録する.全ての系列を読 み込んだ後は、辞書に登録されているフレーズに 1 から始まるインデェックス を付け、各フレーズは最後の一ビット以外の部分を辞書に登録されているイ ンデェックスに置き換えて符号語を生成するが、一ビットからなるフレーズは 前にインデェックスとして 0 を付加する. その故に (1, 0, 10, 11, 01, 00, 100, 111, 010, 1000, 011, 001, 110, 101, 10001) を Lempel-Zip アルゴリズムで符号化するとフレーズの辞書としてが生成さ Index 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Phrase 1 0 10 11 01 00 100 111 010 1000 011 001 110 101 10001 Code 01 00 10 11 21 20 30 41 50 70 51 61 40 31 101 2 Binary 00001 00000 00010 00011 00101 00100 00110 01001 01010 01110 01011 01101 01000 00111 10101 れ、送信ビット列は (00001 | {z } 00000 | {z } 00010 | {z } 00011 | {z } 00101 | {z } 00100 | {z } 00110 | {z } 01001 | {z } 01010 | {z } 01110 | {z } 01011 | {z } 01101 | {z } 01000 | {z } 00111 | {z } 10101 | {z }) 1 0 10 11 01 00 100 に符号化される. 3 111 010 1000 011 001 110 101 10001
© Copyright 2024 ExpyDoc