28
1 前前前前前前前 前前 60% 前前前前前前前前前 前前前前前前前前前前前前前前前 前前前 ., 80% 前前前 前前前前前前前前前前前前 前 前前前前前 n 前前前前前H(0.6) = 0.97, H(0.8) = 0.72 前前前前前前前 0.25 前前前 前前前前前前前前前前前前前前前前前前前前前 一. (w0, w1, w2) = (0.1, 0.7, 0.2) P(A) = 0.7 P(B) = 0.3... 前前前前前 H 1 (S) = H(0.7) = 0.88 前前 0... H(0.4) = 0.97 前前 1... H(0.8) = 0.72 前前 2... H (0.5) = 1.00 前前前前前前前前 H(S) = 0.1·0.97 + 0.7·0.72 + 0.2·1.00= 0.801 0 1 2 A/0.4 A/0.5 B/0.6 A/0.8 B/0.5 B/0.2

3 Info Theory

Embed Size (px)

Citation preview

Page 1: 3 Info Theory

1

前回の練習問題勝率 60% の野球チームがある.エースピッチャーが先発すると,勝率は 80% になる.「エースピッチャーが先発した」という通報 n の情報量は?

H(0.6) = 0.97, H(0.8) = 0.72 なので,情報量は 0.25 ビット

一次エントロピーと極限エントロピーを求めよ.(w0, w1, w2) = (0.1, 0.7, 0.2)P(A) = 0.7 , P(B) = 0.3... 前々回問題

H1(S) = H(0.7) = 0.88状態 0... H(0.4) = 0.97状態 1... H(0.8) = 0.72状態 2... H (0.5) = 1.00加重平均を取って H(S) = 0.1·0.97 + 0.7·0.72 + 0.2·1.00=0.801

0

1 2

A/0.4 A/0.5 B/0.6

A/0.8 B/0.5

B/0.2

Page 2: 3 Info Theory

2

エントロピーの計算について前回の講義では ... 対数の計算を細かく説明(してしまった)実際には,表計算ソフトを使えば簡単

0.971 ←エントロピーP(0) 0.6 0.442P(1) 0.4 0.529

↑ 埋め込みオブジェクトになっています講義ページから PPT ファイルをダウンロードすれば使えるはず

Page 3: 3 Info Theory

3

第二部:情報をコンパクトに表現する情報に含まれるムダを削り,情報を圧縮する

情報源から発生した通報を記録するときには ...

計算機で扱いやすい文字を使って表現しないといけない⇒ 適切に符号化 (encode) する必要がある

どんな符号化でもOK?できるだけ正確に記録しないとダメ (⇒ 第二部 + 第三部)できるだけ効率的に記録しないとダメ

記録に必要となる手間,時間,メモリ ... を節約したい

Page 4: 3 Info Theory

4

情報源符号化情報源符号化 (source coding ):情報源から発生した通報(または通報の系列)を,記録系や処理系で利用可能な記号系列に変換すること

正確で手間のかからない符号化一意復号可能性,瞬時復号可能性

効率の良い(圧縮率の高い)符号化ハフマン符号ハフマン符号の拡張,その他の符号化法

符号化効率の限界関連する話題

本日の講義

Page 5: 3 Info Theory

5

情報源符号化と用語の定義例:天気予報(通報は「晴」「曇」「雨」)の符号化

記録系で利用できる記号(アルファベット)は 0 または 1

符号の定義:通報と,アルファベット系列の一対一関係符号語 (codeword) :通報に対応するアルファベット系列

00 は符号語, 10 は符号語, 01 は符号語でない符号 (code) :符号語の集合,上例では {00, 10, 11}

2元符号 ... アルファベットが2種類の記号

通報晴曇雨

符号語001011

一個ずつが,それぞれ符号語

符号≠符合

Page 6: 3 Info Theory

6

符号化と復号符号化 (encode) :通報を符号語に変換すること復号 (decode): 符号語を通報に変換すること

注意:符号化の際,符号語と符号語の間には,分離記号を挟まない

○ 晴曇晴 ⇒ 001000

× 晴曇晴 ⇒ 00 10 00

分離記号が欲しい場合 ...

分離記号も,アルファベットや符号の定義に含めること「空白文字でも,一文字は一文字」

(空白文字など)

Page 7: 3 Info Theory

7

符号に求められる性質情報源符号化に求められる第一条件:

符号化した結果が,正しく一意に復号できること符号語を,すべて異なるものにすればOK?

C4 は明らかにダメ他はOK?

C3 を使って「晴,雨,晴」を符号化すると 0110

C3 を使って「雪,曇」を符号化すると 0110

⇒ 両者の区別がつかない!

晴曇雨雪

C1

00100111

C2

001011111

C3

0101101

C4

010110

Page 8: 3 Info Theory

8

一意復号可能性符号が一意復号可能である (uniquely decodable) :

異なる通報系列が,同一の符号語系列に符号化されないこと

C1, C2 は一意復号可能C3, C4 は一意復号可能でない(特異符号, singular code )

C1, C2 はどちらも一意復号可能だが ...C2 はちょっと使いにくい

晴曇雨雪

C1

00100111

C2

001011111

C3

0101101

C4

010110

Page 9: 3 Info Theory

9

符号 C2 の問題点

C2 で「晴,雪,雪,晴」を符号化⇒ 符号語系列は 01111110

この系列を一文字ずつ送る場合を考える7文字目まで受け取った時点では... 復号結果として,2通りの候補が存在

晴曇雨雪

C2

001011111

01111110

11

0 111 111 0晴 雪 雪 晴01 111 111雨 雪 雪

8文字目以降を受け取るまで,最初の復号結果すら確定できない⇒ 復号器内に大きなバッファが必要,大きな復号遅延の発生

Page 10: 3 Info Theory

10

瞬時復号可能性符号が瞬時復号可能である (immediately decodable) :

符号語系列の先読みをしなくても,復号を行えること(符号語パターンが出現すれば,すぐに復号してよい)

ABCD

01010011100

左例:瞬時復号可能でない

0110 0 01 100 (AD)⇒1 011 01 (CA)⇒

ABCD

011011011

右例:瞬時復号可能でない

0111101 0 01 11 10 0? (ACB?)⇒1 011 11 01 (DCA)⇒

Page 11: 3 Info Theory

11

瞬時復号可能性と語頭条件瞬時復号可能性は,工学上,非常に重要な性質

でも,すべての系列についてチェックするのは大変どんなときに,瞬時復号可能でなくなるか?

⇒ ある符号語が,他の符号語の最初の部分と一致するとき語頭となるA

BCD

01010011100

ABCD

011011011

符号 C が瞬時復号可能となる⇔ C のどの符号語も,他の符号語の語頭とならないこと (語頭条件, prefix condition)

Page 12: 3 Info Theory

12

余談:語頭条件といえば ...

語頭条件の確保は,システム設計全般にわたって重要

悪い例: PDA の手書き入力用文字ストローク

引用符が二重引用符の語頭

英字モード 数字・記号モード

マイナスが等号の語頭

縦ストロークが L と認識される(仕様外動作)I, L, K, T, ピリオド,スペースの間で混乱発生

Page 13: 3 Info Theory

13

語頭条件を満たす符号の作り方語頭条件を満たす符号の単純な作り方:

すべての符号語を,同じ長さを持つ相違なる系列とする(等長符号, equal-length code )符号語の最後(最初)に特別なパターンを配置する(コンマ符号, comma code )

⇒ どちらも,取り扱いは楽だが効率が悪い

一工夫して,必要最小限の長さを持つ符号語を選んでくる(非等長符号, unequal-length code )

符号木を利用した構成法が便利

Page 14: 3 Info Theory

14

符号木a元符号の符号木 (code tree) :各節点が,最大 a 個の子を持つことのできる木構造根 ...親を持たない節点葉 ...子を持たない節点

Page 15: 3 Info Theory

15

符号木を利用した符号の構成法M 個の符号語を持つ符号の構成手順:

1.葉の数が M 個であるような符号木 T を任意に構成する

2. T の各枝に, 0 から a の記号をラベル (名前)付けするただし,一つの親が同一ラベルの枝を複数持ってはならない

3.根から葉までの経路を考える経路上のラベルを順に連接したものが,一個の符号語となる

Page 16: 3 Info Theory

16

符号の構成例符号語数が4の2元瞬時符号を構成する

0 1

0

11

0

00

01

10

11

0 1

0

11

0

Step 1 Step 2 Step 3

構成された符号は {00, 01, 10, 11}

Page 17: 3 Info Theory

17

符号の構成例符号語数が4の瞬時符号を構成する

符号木の選び方,ラベルの付け方には自由度がある

0

10

10

1

0

11

01

0

0

1

1

0

100

1 0

C1={0, 10, 110, 111}

C2={0, 11, 101, 100}

C3={01, 000, 1011, 1010}

どのようにしても語頭条件を満たす ⇒ 瞬時復号可能な符号

Page 18: 3 Info Theory

18

符号語の長さと符号の効率

C1 vs. C3... どちらも,符号語数4の瞬時復号可能な符号個々の符号語が短いほうが,効率が良い(コンパクトな表現)

4つの符号語の長さを,すべて1にできるか⇒ 不可能どこまで短くできるのか?

0

10

10

1

0

1

1

0

100

1 0

C1={0, 10, 110, 111}

C3={01, 000, 1011, 1010}

Page 19: 3 Info Theory

19

クラフトの不等式C = {w1, ..., wM}, |wi| = li である a 元符号とする

[ 定理 ] C が語頭条件を満たすなら,以下の不等式が成立

121 Mlll aaa :クラフトの不等式 (Kraft’s inequality)

定理の逆は必ずしも成立しないが ...

クラフトの不等式を満たす符号語長 l1, ..., lM が与えられたとき,

語頭条件を満たし,この符号長をもつ符号を構成可能

Page 20: 3 Info Theory

20

符号語長からの符号構成符号語長が 1, 2, 3, 3 である瞬時復号可能な符号を作りたい⇒ 深さ 1, 2, 3, 3 に葉がくるように符号木 T を構成すれば良い

0

10

10

1

C1={0, 10, 110, 111}

符号語長が 1, 2, 2, 2 である瞬時復号可能な符号を作りたい2–1 + 2–2 + 2–2 + 2–2 = 0.5 + 0.25 + 0.25 + 0.25 = 1.25 > 1

⇒ 無理

Page 21: 3 Info Theory

21

符号の効率についてここまでの議論 ... 取り扱い上の利点を持つ符号の構成方法ここからの議論 ... 取り扱い上の利点 + 効率の良さに着目

晴曇雨雪

確率0.40.30.20.1

C1

010110111

C2

111110100

C1 と C2 ,どちらが良い符号?「晴晴曇雨晴」を符号化してみる

C1:00101100

C2:111111110101118記号14記号

C1 のほうが,通報をコンパクトに表現可能コンパクトさの定量的指標 ... 符号長の加重平均(平均符号長)

C1:0.4 ×1 +0.3 ×2 +0.2 ×3 +0.1 ×3 = 1.9

C2:0.4 ×3 +0.3 ×3 +0.2 ×2 +0.1 ×1 = 2.6

Page 22: 3 Info Theory

22

情報源符号化の指標良い符号の三条件:

一意復号可能であること瞬時復号可能であること平均符号長ができるだけ短いこと

最初2つの条件だけなら,符号木を使うだけで構成可能最後の条件を満たすため,符号木の作り方に一工夫する⇒ ハフマン符号 (Huffman code)

とくに断らない限り,記憶のない定常情報源を考える

Page 23: 3 Info Theory

23

ハフマン符号一般的な性質ではなく,符号木の構成法によって定式化:1.各通報に対して節点を準備し,その発生確率を付与する節点はそれぞれ,大きさ1の木であると考える

2.木の中で発生確率最小のものを2つ選出し,以下を行う1. 2つの木の根節点を子とするような,新しい根節点を作

る2.新しい根節点と古い根節点を結ぶ枝に, 0, 1 をラベル付け

3.新しい根節点に,2つの木の発生確率の和を与える

3. すべての節点がつながるまで, 2 の操作を繰り返す

Page 24: 3 Info Theory

24

ハフマン符号の構成例

0.05D

0.1C

0.25B

0.6A

0.05D

0.1C

0.15

0.25B

0.6A

0.05D

0.1C

0.15

0.25B

0.4

0.6A

1.0

0.05D

0.1C

0.15

0.25B

0.4

0.6A

00

0

1

11

資本金による合併劇,と考えるとわかりやすいかも ...

Page 25: 3 Info Theory

25

練習問題

ABCDE

確率0.20.10.30.30.1

符号語ABCDEF

確率0.30.20.20.10.10.1

符号語

等長符号の場合と平均符号長を比較すると ...

Page 26: 3 Info Theory

26

ハフマン符号構成上の自由度ハフマン符号の構成においては,

ラベル割当の自由度確率の等しい節点選択の自由度

が存在するが ...

⇒ どのように選択しても,平均符号長は変わらない

ABCDEF

確率0.30.20.20.10.10.1

符号語

Page 27: 3 Info Theory

27

本日のまとめ情報源符号化に関する基本概念の整理

一意復号可能性瞬時復号可能性クラフトの不等式符号木利用による符号構成

ハフマン符号加重平均符号長による評価具体的な符号構成法

Page 28: 3 Info Theory

28

練習問題右の情報源を効率よく符号化できる,2元ハフマン符号を構成せよ

上で構成した符号の平均符号長を求めよ

4元ハフマン符号の構成法を検討し,右の情報源に適した符号を構成せよ

ABCDEFGH

確率0.3630.1740.1430.0980.0870.0690.0450.021