Your SlideShare is downloading. ×
0
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
3 Info Theory
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

3 Info Theory

1,051

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,051
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 前回の練習問題 <ul><li>勝率 60% の野球チームがある.エースピッチャーが先発すると,勝率は 80% になる.「エースピッチャーが先発した」という通報 n の情報量は? </li></ul><ul><li>H (0.6) = 0.97, H (0.8) = 0.72 なので, 情報量は 0.25 ビット </li></ul><ul><li>一次エントロピーと極限エントロピーを求めよ. </li></ul><ul><li>( w 0, w 1, w 2) = (0.1, 0.7, 0.2) </li></ul><ul><li>P(A) = 0.7 , P(B) = 0.3... 前々回問題 </li></ul><ul><li>H 1 ( S ) = H (0.7) = 0.88 </li></ul><ul><li>状態 0... H (0.4) = 0.97 </li></ul><ul><li>状態 1... H (0.8) = 0.72 </li></ul><ul><li>状態 2... H (0.5) = 1.00 </li></ul><ul><li>加重平均を取って H ( S ) = 0.1 ·0.97 + 0.7 ·0.72 + 0.2·1.00= 0.801 </li></ul>0 1 2 A/0.4 A/0.5 B/0.6 A/0.8 B/0.5 B/0.2
  • 2. エントロピーの計算について <ul><li>前回の講義では...対数の計算を細かく説明(してしまった) </li></ul><ul><li>実際には,表計算ソフトを使えば簡単 </li></ul>↑ 埋め込みオブジェクトになっています 講義ページから PPT ファイルをダウンロード すれば使えるはず
  • 3. 第二部:情報をコンパクトに表現する <ul><li>情報に含まれるムダを削り,情報を圧縮する </li></ul><ul><li>情報源から発生した通報を記録するときには ... </li></ul><ul><li>計算機で扱いやすい文字を使って表現しないといけない </li></ul><ul><li>⇒ 適切に 符号化 ( encode ) する必要がある </li></ul><ul><li>どんな符号化でもOK? </li></ul><ul><li>できるだけ 正確に 記録しないとダメ (⇒ 第二部 + 第三部 ) </li></ul><ul><li>できるだけ 効率的に 記録しないとダメ </li></ul><ul><ul><li>記録に必要となる手間,時間,メモリ ... を節約したい </li></ul></ul>
  • 4. 情報源符号化 <ul><li>情報源符号化 ( source coding ): </li></ul><ul><li>情報源から発生した通報(または通報の系列)を, </li></ul><ul><li>記録系や処理系で利用可能な記号系列に変換すること </li></ul><ul><li>正確で手間のかからない符号化 </li></ul><ul><ul><li>一意復号可能性,瞬時復号可能性 </li></ul></ul><ul><li>効率の良い( 圧縮率の高い )符号化 </li></ul><ul><ul><li>ハフマン符号 </li></ul></ul><ul><ul><li>ハフマン符号の拡張,その他の符号化法 </li></ul></ul><ul><li>符号化効率の限界 </li></ul><ul><li>関連する話題 </li></ul>本日の講義
  • 5. 情報源符号化と用語の定義 <ul><li>例:天気予報(通報は「晴」「曇」「雨」)の符号化 </li></ul><ul><li>記録系で利用できる記号( アルファベット )は 0 または 1 </li></ul><ul><li>符号の定義:通報と,アルファベット系列の一対一関係 </li></ul><ul><li>符号語 ( codeword ) :通報に対応する アルファベット系列 </li></ul><ul><ul><li>00 は符号語, 10 は符号語, 01 は符号語でない </li></ul></ul><ul><li>符号 ( code ) :符号語の 集合 ,上例では {00, 10, 11} </li></ul><ul><ul><li>2元符号 ... アルファベットが2種類の記号 </li></ul></ul>一個ずつが, それぞれ符号語 符 号 ≠ 符 合 通報 晴 曇 雨 符号語 00 10 11
  • 6. 符号化と復号 <ul><li>符号化 ( encode ):通報を符号語に変換すること </li></ul><ul><li>復号 ( decode ): 符号語を通報に変換すること </li></ul><ul><li>注意: </li></ul><ul><li>符号化の際, 符号語と符号語の間には,分離記号を挟まない </li></ul><ul><ul><li>○ 晴曇晴 ⇒ 001000 </li></ul></ul><ul><ul><li>× 晴曇晴 ⇒ 00 10 00 </li></ul></ul><ul><li>分離記号が欲しい場合... </li></ul><ul><li>分離記号も,アルファベットや符号の定義に含める こと </li></ul><ul><ul><li>「空白文字でも,一文字は一文字」 </li></ul></ul>(空白文字など)
  • 7. 符号に求められる性質 <ul><li>情報源符号化に求められる第一条件: </li></ul><ul><li>符号化した結果が,正しく 一意に復号できる こと </li></ul><ul><ul><li>符号語を,すべて異なるものにすればOK? </li></ul></ul>C 4 は明らかにダメ 他はOK? <ul><li>C 3 を使って「晴,雨,晴」を符号化すると 0110 </li></ul><ul><li>C 3 を使って「雪,曇」を符号化すると 0110 </li></ul><ul><li>⇒ 両者の区別がつかない! </li></ul>晴 曇 雨 雪 C 1 00 10 01 11 C 2 0 01 011 111 C 3 0 10 11 01 C 4 0 10 11 0
  • 8. 一意復号可能性 <ul><li>符号が 一意復号可能 である ( uniquely decodable ): </li></ul><ul><li>異なる通報 系列 が,同一の符号語 系列 に符号化されないこと </li></ul>C 1 , C 2 は一意復号可能 C 3 , C 4 は一意復号可能でない ( 特異符号, singular code ) C 1 , C 2 はどちらも一意復号可能だが ... C 2 はちょっと使いにくい 晴 曇 雨 雪 C 1 00 10 01 11 C 2 0 01 011 111 C 3 0 10 11 01 C 4 0 10 11 0
  • 9. 符号 C 2 の問題点 <ul><li>C 2 で「晴,雪,雪,晴」を符号化 </li></ul><ul><li>⇒ 符号語系列は 01111110 </li></ul><ul><li>この系列を一文字ずつ送る場合を考える </li></ul><ul><li>7文字目まで受け取った時点では </li></ul><ul><li>...復号結果として,2通りの候補が存在 </li></ul>8文字目以降を受け取るまで,最初の復号結果すら確定できない ⇒ 復号器内に大きなバッファが必要,大きな復号遅延の発生 晴 曇 雨 雪 C 2 0 01 011 111 0111111 0 11 0 111 111 0 晴 雪 雪 晴 01 111 1 11 雨 雪 雪
  • 10. 瞬時復号可能性 <ul><li>符号が 瞬時復号可能 である ( immediately decodable ): </li></ul><ul><li>符号語系列の先読みをしなくても,復号を行える こと </li></ul><ul><li>(符号語パターンが出現すれば,すぐに復号してよい) </li></ul>A B C D 01 010 011 100 左例:瞬時復号可能で ない 0110 0 ⇒ 01 100 (AD) 1 ⇒ 011 01 (CA) A B C D 01 10 11 011 右例:瞬時復号可能で ない 0111101 0 ⇒ 01 11 10 0? (ACB?) 1 ⇒ 011 11 01 (DCA)
  • 11. 瞬時復号可能性と語頭条件 <ul><li>瞬時復号可能性は,工学上,非常に重要な性質 </li></ul><ul><ul><li>でも,すべての系列についてチェックするのは大変 </li></ul></ul><ul><li>どんなときに,瞬時復号可能でなくなるか? </li></ul><ul><li>⇒ ある符号語が,他の符号語の最初の部分と一致するとき </li></ul>語頭となる 符号 C が瞬時復号可能となる ⇔ C のどの符号語も,他の符号語の語頭とならないこと ( 語頭条件, prefix condition ) A B C D 01 01 0 011 100 A B C D 01 10 11 01 1
  • 12. 余談:語頭条件といえば... <ul><li>語頭条件の確保は,システム設計全般にわたって重要 </li></ul><ul><li>悪い例:PDAの手書き入力用文字ストローク </li></ul><ul><li>引用符が二重引用符の語頭 </li></ul>英字モード 数字・記号モード <ul><li>マイナスが等号の語頭 </li></ul><ul><li>縦ストロークが L と認識される(仕様外動作) </li></ul><ul><ul><li>I, L, K, T , ピリオド,スペースの間で混乱発生 </li></ul></ul>
  • 13. 語頭条件を満たす符号の作り方 <ul><li>語頭条件を満たす符号の 単純な作り方 : </li></ul><ul><li>すべての符号語を, 同じ長さを持つ 相違なる系列とする </li></ul><ul><li>( 等長符号, equal-length code ) </li></ul><ul><li>符号語の最後(最初)に特別なパターンを配置する </li></ul><ul><li>(コンマ符号, comma code ) </li></ul><ul><li>⇒ どちらも,取り扱いは楽だが 効率が悪い </li></ul><ul><li>一工夫して, 必要最小限の長さを持つ符号語 を選んでくる </li></ul><ul><li>( 非等長符号, unequal-length code ) </li></ul><ul><ul><li>符号木 を利用した構成法が便利 </li></ul></ul>
  • 14. 符号木 <ul><li>a 元符号の 符号木 ( code tree ): </li></ul><ul><li>各節点が, 最大 a 個 の子を持つことのできる木構造 </li></ul><ul><li>根...親を持たない節点 </li></ul><ul><li>葉...子を持たない節点 </li></ul>根 葉
  • 15. 符号木を利用した符号の構成法 <ul><li>M 個の符号語を持つ符号の構成手順: </li></ul><ul><li>葉の数が M 個であるような 符号木 T を任意に構成 する </li></ul><ul><li>T の各枝に, 0 から a の記号をラベル ( 名前)付け する </li></ul><ul><li>ただし,一つの親が 同一ラベルの枝を複数持ってはならない </li></ul><ul><li>根から葉までの経路を考える </li></ul><ul><li>経路上の ラベルを順に連接したものが,一個の符号語 となる </li></ul>
  • 16. 符号の構成例 <ul><li>符号語数が4 の2元瞬時符号を構成する </li></ul>Step 1 Step 2 Step 3 構成された符号は {00, 01, 10, 11} 0 1 0 1 1 0 00 01 10 11 0 1 0 1 1 0
  • 17. 符号の構成例 <ul><li>符号語数が4の瞬時符号を構成する </li></ul><ul><li>符号木の選び方,ラベルの付け方には自由度がある </li></ul>C 1 ={0, 10, 110, 111} C 2 ={0, 11, 101, 100} C 3 ={01, 000, 1011, 1010} どのようにしても語頭条件を満たす ⇒ 瞬時復号可能な符号 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 0 1 0
  • 18. 符号語の長さと符号の効率 <ul><li>C 1 vs. C 3 ...どちらも,符号語数4の瞬時復号可能な符号 </li></ul><ul><li>個々の符号語が短いほうが,効率が良い(コンパクトな表現) </li></ul><ul><li>4つの符号語の長さを,すべて1にできるか⇒ 不可能 </li></ul><ul><li>どこまで短くできるのか? </li></ul>C 1 ={0, 10, 110, 111} C 3 ={01, 000, 1011, 1010} 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0
  • 19. クラフトの不等式 <ul><li>C = { w 1 , ..., w M }, | w i | = l i である a 元符号とする </li></ul><ul><li>[ 定理 ] C が 語頭条件を満たすなら,以下の不等式が成立 </li></ul>:クラフトの不等式 ( Kraft’s inequality ) 定理の逆は必ずしも成立しないが ... クラフトの不等式を満たす符号語長 l 1 , ..., l M が与えられたとき, 語頭条件を満たし,この符号長をもつ符号を構成可能
  • 20. 符号語長からの符号構成 <ul><li>符号語長が 1, 2, 3, 3 である瞬時復号可能な符号を作りたい </li></ul><ul><li>⇒ 深さ 1, 2, 3, 3 に葉がくるように符号木 T を構成すれば良い </li></ul>C 1 ={0, 10, 110, 111} <ul><li>符号語長が 1, 2, 2, 2 である瞬時復号可能な符号を作りたい </li></ul><ul><li>2 –1 + 2 –2 + 2 –2 + 2 –2 = 0.5 + 0.25 + 0.25 + 0.25 = 1.25 > 1 </li></ul><ul><li>⇒ 無理 </li></ul>0 1 0 1 0 1
  • 21. 符号の効率について <ul><li>ここまでの議論...取り扱い上の利点を持つ符号の構成方法 </li></ul><ul><li>ここからの議論...取り扱い上の利点 + 効率の良さ に着目 </li></ul><ul><li>C 1 と C 2 ,どちらが良い符号? </li></ul><ul><li>「晴晴曇雨晴」を符号化してみる </li></ul><ul><li>C 1 :0 0 10 110 0 </li></ul><ul><li>C 2 :111 111 110 10 111 </li></ul>8 記号 14 記号 <ul><li>C 1 のほうが,通報を コンパクトに表現可能 </li></ul><ul><li>コンパクトさの定量的指標 ... 符号長の加重平均(平均符号長) </li></ul><ul><li>C 1 :0.4 ×1 + 0.3 ×2 + 0.2 ×3 + 0.1 ×3 = 1.9 </li></ul><ul><li>C 2 :0.4 ×3 + 0.3 ×3 + 0.2 ×2 + 0.1 ×1 = 2.6 </li></ul>晴 曇 雨 雪 確率 0.4 0.3 0.2 0.1 C 1 0 10 110 111 C 2 111 110 10 0
  • 22. 情報源符号化の指標 <ul><li>良い符号の三条件: </li></ul><ul><ul><li>一意復号可能 であること </li></ul></ul><ul><ul><li>瞬時復号可能 であること </li></ul></ul><ul><ul><li>平均符号長ができるだけ短い こと </li></ul></ul><ul><li>最初2つの条件だけなら,符号木を使うだけで構成可能 </li></ul><ul><li>最後の条件を満たすため,符号木の作り方に一工夫する </li></ul><ul><li>⇒ ハフマン符号 ( Huffman code ) </li></ul><ul><li>とくに断らない限り,記憶のない定常情報源を考える </li></ul>
  • 23. ハフマン符号 <ul><li>一般的な性質ではなく,符号木の構成法によって定式化: </li></ul><ul><li>各通報に対して 節点を準備 し,その 発生確率を付与 する </li></ul><ul><li>節点はそれぞれ,大きさ1の木であると考える </li></ul><ul><li>木の中で 発生確率最小のものを2つ選出 し,以下を行う </li></ul><ul><ul><li>2つの木の根節点を子とするような, 新しい根節点 を作る </li></ul></ul><ul><ul><li>新しい根節点と古い根節点を結ぶ枝に,0, 1 をラベル付け </li></ul></ul><ul><ul><li>新しい根節点に,2つの木の 発生確率の和 を与える </li></ul></ul><ul><li>すべての節点がつながるまで,2 の操作を繰り返す </li></ul>
  • 24. ハフマン符号の構成例 資本金による合併劇 ,と考えるとわかりやすいかも ... 0.05 D 0.1 C 0.25 B 0.6 A 0.05 D 0.1 C 0.15 0.25 B 0.6 A 0.05 D 0.1 C 0.15 0.25 B 0.4 0.6 A 1.0 0.05 D 0.1 C 0.15 0.25 B 0.4 0.6 A 0 0 0 1 1 1
  • 25. 練習問題 <ul><li>等長符号の場合と 平均符号長を比較 すると ... </li></ul>A B C D E 確率 0.2 0.1 0.3 0.3 0.1 符号語 A B C D E F 確率 0.3 0.2 0.2 0.1 0.1 0.1 符号語
  • 26. ハフマン符号構成上の自由度 <ul><li>ハフマン符号の構成においては, </li></ul><ul><ul><li>ラベル割当の自由度 </li></ul></ul><ul><ul><li>確率の等しい節点選択の自由度 </li></ul></ul><ul><li>が存在するが ... </li></ul><ul><li>⇒ どのように選択しても, 平均符号長は変わらない </li></ul>A B C D E F 確率 0.3 0.2 0.2 0.1 0.1 0.1 符号語
  • 27. 本日のまとめ <ul><li>情報源符号化に関する基本概念の整理 </li></ul><ul><ul><li>一意復号可能性 </li></ul></ul><ul><ul><li>瞬時復号可能性 </li></ul></ul><ul><ul><li>クラフトの不等式 </li></ul></ul><ul><ul><li>符号木利用による符号構成 </li></ul></ul><ul><li>ハフマン符号 </li></ul><ul><ul><li>加重平均符号長による評価 </li></ul></ul><ul><ul><li>具体的な符号構成法 </li></ul></ul>
  • 28. 練習問題 <ul><li>右の情報源を効率よく符号化できる, </li></ul><ul><li>2元ハフマン符号を構成せよ </li></ul><ul><li>上で構成した符号の平均符号長を </li></ul><ul><li>求めよ </li></ul><ul><li>4元ハフマン符号の構成法を検討し, </li></ul><ul><li>右の情報源に適した符号を構成せよ </li></ul>A B C D E F G H 確率 0.363 0.174 0.143 0.098 0.087 0.069 0.045 0.021

×