情報科学概論 2回目
情報科学概論 2回目
「モノとしての情報」 「モノとしての情報」 「情報」を,工学の対象物として取り扱うための理論と技術 情報を測る 情報の量 情報伝達系の性能を数値として測る 情報の量,情報伝達系の性能を数値として測る 確率論をベースに,人間の直観にあった定式化を行う 情報を伝える 情報をできるだけコンパクトに表現する 情報をできるだけコンパクトに表現する 情報をできるだけ確実に伝える 1出欠確認 課題
出欠確認・課題
情報通信以外の分野で 情報理論の技術や考え方が 情報通信以外の分野で,情報理論の技術や考え方が 利用できる分野,技術,応用,ビジネスを考えよ 出席届兼用の用紙に記入,本講義終了時に提出 知識を問うのではなく,「発想」「着眼点」を評価します. 「ナルホド」「面白い」と思わせる回答を期待しています 「ナルホド」「面白い」と思わせる回答を期待しています 情報の学生に対する注意 情報の学生に対する注意: 今回の内容は「情報理論」のサブセット 上記課題について 高いレベルの回答を期待します 2 上記課題について,高いレベルの回答を期待します http://narayama.naist.jp/~kaji/lecture/第
部 「情報量」をどうとらえるか
良い自動車を作りたい第一部:「情報量」をどうとらえるか
良い自動車を作りたい... 時間や距離,燃料の量などを正確に計量できないと難しい 良い「情報システム」を作りたい... 情報の量を測り 数値として表現することが必要 情報の量を測り,数値として表現することが必要 情報の「量」: 情報の「量」: 人間の直観と乖離した定義では意味がない 我々が漠然と考えている「情報量」にマッチする定義が必要 我々が漠然と考えている「情報量」にマッチする定義が必要 どういうときに「情報を得た」と考えるか? どういうときに「情報を得た」と考えるか? http://narayama.naist.jp/~kaji/lecture/情報の獲得
情報の獲得
情報を得る = 対象物に関する「不確かさ」が減少すること 情報を得る = 対象物に関する「不確かさ」が減少すること 昨日の野球の試合結果 何も知らないと 勝敗はわからない 昨日の野球の試合結果,何も知らないと,勝敗はわからない 友人から「昨日の試合,勝てなかった」と聞いた(情報を得た) 情報を得る前:勝ち,負け,引き分けの3通り...不確かさ大 情報を得た後:負け 引き分けの2通り 不確かさ小 情報を得た後:負け,引き分けの2通り...不確かさ小 「情報量 不確かさの減少量」とするのが自然 「情報量 = 不確かさの減少量」とするのが自然 「不確かさ」の定量化が先決情報源と通報
情報源と通報
情報伝達のモデル: 情報伝達のモデル: 情報源で発生した事象を,通信路が伝達し,観測者が受信 事象を表現する具体的な「モノ」 通報と呼ぶ 事象を表現する具体的な「モノ」...通報と呼ぶ 「通報≠ 情報」である点に注意 e ? 通信路 情報源 e ? e’ e 観測者 情報源の統計的性質は既知,実際に発生する通報は未知 通信路は,正確に通報を伝達しないかもしれない 5情報伝達の例
情報伝達の例
情報伝達の多くは 概念上 前スライドのモデルとして表現可能 情報伝達の多くは,概念上,前スライドのモデルとして表現可能 「イベント」 「通信路の出力」: 「イベント」– 「通信路の出力」: 「野球の試合結果」– 「友人からの速報メール」 「プログラムの出力」 「ファイルからの読み出しデータ」 「プログラムの出力」– 「ファイルからの読み出しデータ」 「明日の天気」– 「天気予報」 「画像デ タ」 「JPEG圧縮デ タ」 「画像データ」– 「JPEG圧縮データ」 「敵軍隊の指令文書」– 「盗聴で得た暗号文」 「イベント」「通信路」という言葉にとらわれ過ぎる必要はない 66 http://narayama.naist.jp/~kaji/lecture/情報源の分類
情報源の分類
情報源の分類 情報源の分類 アナログ情報源vs. デジタル情報源 通報がアナログ的か デジタル的か 通報がアナログ的か,デジタル的か 記憶のある情報源vs 記憶のない情報源 記憶のある情報源vs. 記憶のない情報源 発生する通報に相関があるか,独立しているか 定常情報源vs. 非定常情報源 統計的な振舞いが 時間に対して不変か そうでないか 統計的な振舞いが,時間に対して不変か,そうでないか http://narayama.naist.jp/~kaji/lecture/典型的な情報源
定常で記憶のない デジタル情報源典型的な情報源
定常で記憶のない,デジタル情報源 通報の集合は離散集合により与えられる 発生する通報は 以前の通報とは独立して決定される 発生する通報は,以前の通報とは独立して決定される 時刻をシフトしても,通報の発生確率は変化しない サイコロの目やコイン投げの結果を想定すれば良い サイコロの目やコイン投げの結果を想定すれば良い 現実世界では 記憶のある情報源もかなり多い 現実世界では,記憶のある情報源もかなり多い 人間が使う自然言語 画像 音声等のデ タ 画像,音声等のデータ ...基本的に,本講義では(最初に少ししか)扱わない情報源のエントロピ
情報源のエントロピー
S: 以下の通報発生確率を持つ(記憶の無い定常)情報源 S: 以下の通報発生確率を持つ(記憶の無い定常)情報源 a1 p a2 p aM p ... ... 通報 確率 M 元情報源 p1 p2 pM 確率 情報源 S の一次エントロピー(first-order entropy): M
M i i i p p S H 1 2 1( ) log (ビット, bit) の項は非負 例1: この項は非負 ⇒エントロピーは常に0以上 コイン投げのエントロピー:表,裏とも確率1/2...M = 2, p1=p2=0.5 1 ) 2 / 1 log( 5 . 0 log 5 . 0 5 . 0 log 5 . 0 ) ( 1 S H ビット 9 ) g( g g ) ( 1エントロピ の計算例
エントロピーの計算例
例2:サイコロの目 コイン投げより 結果予想は難しいはず 例2:サイコロの目...コイン投げより,結果予想は難しいはず 1 1/6 通報 確率 2 1/6 3 1/6 4 1/6 5 1/6 6 1/6 1/6 確率 1/6 1/6 1/6 1/6 1/6 585 . 2 6 1 log 6 1 6 1 log 6 1 6 1 log 6 1 ) ( 1 S H ビット 6 6 6 6 6 6 例3:イカサマ賭博のサイコロ 1 0.9 通報 確率 2 0.02 3 0.02 4 0.02 5 0.02 6 0.02 701 . 0 02 . 0 log 02 . 0 ... 02 . 0 log 02 . 0 9 . 0 log 9 . 0 ) ( 1 S H ビット 10 一個の指標で,予測の難しさの大小関係を定義可能 http://narayama.naist.jp/~kaji/lecture/記憶のある情報源
記憶のある情報源
記憶のある情報源は多種多様 記憶のある情報源は多種多様 比較的シンプルなモデルとして,マルコフ情報源がある 0 1 0/0.9 1/0.1 状態間を遷移しながら通報発生 直観的には,「双六」のイメージ 0 1 0/0.4 1/0.6 スタート,ゴールはない 十分時間が経過した後(定常状態) 通報 確率 での振舞いを議論することが多い 上の例の場合 十分な時間が経過すると 通報/ 確率 上の例の場合,十分な時間が経過すると... 80%の確率で状態 “0”,20%の確率で状態 “1”を取っているはず (実際は,漸化式を立てて計算を行う) (実際は,漸化式を立てて計算を行う) http://narayama.naist.jp/~kaji/lecture/マルコフ情報源のエントロピ
マルコフ情報源のエントロピー
0/0 9 1/0 1 80%の確率で状態 “0” 20%の確率で状態 “1” 0 1 0/0.9 1/0.1 0%の確率で状態 0/0.4 1/0.6 0 が発生する確率 0 8 0 9 0 2 0 4 0 80 0 が発生する確率... 0.8 0.9 + 0.2 0.4 = 0.80 1 が発生する確率... 0.8 0.1 + 0.2 0.6 = 0.20 ⇒ エントロピーは– 0 8log 0 8 – 0 2log 0 2 = 0 722 bit ⇒ エントロピ は– 0.8log 0.8 – 0.2log 0.2 = 0.722 bit通報を「ブロック化」すると,興味深い振舞いが見られる (情報源からの通報を複数個まとめて,一個の通報とみなす)
ブロック化の例 記憶のない場合
ブロック化の例:記憶のない場合
コイン投げ2回分の通報を 1ブロックにまとめる場合 コイン投げ2回分の通報を,1ブロックにまとめる場合... 通報は{表表, 表裏,裏表,裏裏} の4通り 表表 通報 表表 表裏 裏表 裏裏 1/4 通報 確率 表裏 1/4 裏表 1/4 裏裏 1/4 H (S2) l 4 2 ビ ト 結果予想は 個の場合の2倍難しい H1(S2)=log 4 = 2 ビット...結果予想は一個の場合の2倍難しい H1(S2)は,S の通報2個分のエントロピー 通報 個分に換算すると 2 ビ ト ⇒ S の通報1個分に換算すると,H1(S2)/2 = 1ビット 記憶のない情報源では,ブロック化してもエントロピーは変化なし n 個まとめて予想する難しさ = n×(1 個だけ予想する難しさ) 13マルコフ情報源とブロック化
マルコフ情報源とブロック化
0/0 9 1/0 1 80%の確率で状態 “0” 20%の確率で状態 “1” 0 1 0/0.9 1/0.1 0%の確率で状態 0/0.4 1/0.6 00 が発生する確率 0 8 0 9 0 9 0 2 0 4 0 9 0 72 00 が発生する確率... 0.8 0.9 0.9 + 0.2 0.4 0.9 = 0.72 01 が発生する確率... 0.8 0.9 0.1 + 0.2 0.4 0.1 = 0.08 10 が発生する確率 0 8 0 1 0 4 + 0 2 0 6 0 4 = 0 08 10 が発生する確率... 0.8 0.1 0.4 + 0.2 0.6 0.4 = 0.08 11 が発生する確率... 0.8 0.1 0.6 + 0.2 0.6 0.6 = 0.12 ⇒ エントロピーは1.2914bit...一文字あたりでは0.6457bit ブロック化しないときは0.722bit だった ⇒ブロ ク化により エントロピ が小さくな た 14 ⇒ブロック化により,エントロピーが小さくなった http://narayama.naist.jp/~kaji/lecture/記憶のある情報源のエントロピ
一般に 記憶のある情報源では記憶のある情報源のエントロピー
般に,記憶のある情報源では... H1(Sn) / n(通報一個あたりのエントロピー)は,単調減少する H (Sn) / n は ある一定の値 H(S) に収束していく H1(Sn) / n は,ある 定の値 H(S) に収束していく H1(Sn) / n H 1(Sn) / n < H1(S) 1( ) H(S) 1( ) 1( ) n 個まとめて予想する難しさ < n ×(1 個だけ予想する難しさ) n H(S) ( 個だけ予想する難しさ) ある程度,通報の出現パターンが「読める」 自然語だと,“qu” は高頻出,“qz” は,まず出現しない 無記憶の場合より,振舞いが予想しやすい ⇒ エントロピー小 http://narayama.naist.jp/~kaji/lecture/第
部 折り返し地点
第一部:折り返し地点
ここまでは,「情報源の予測の難しさ」の定量化 ここからは「情報量」の定義 ここからは「情報量」の定義通報の持つ情報量
通報の持つ情報量
阪神タイガースの試合があったが 結果をまだ知らない 阪神タイガ スの試合があったが,結果をまだ知らない 阪神が勝つ確率,負ける確率,引き分ける確率は,全部1/3 巨人ファンの友人Aからメイル:「阪神は負けなかった」 巨人ファンの友人Aからメイル:「阪神は負けなかった」 友人Aのメイルに含まれる情報の「量」は? メイルを受け取る前:結果に関する不確かさが大きい P(勝) 1/3 P(引) 1/3 P(負) 1/3 P(勝) = 1/3. P(引) = 1/3, P(負) = 1/3 メイルを受け取った後:結果に関する不確かさが小さくなった P(勝) 1/2 P(引) 1/2 P(負) 0 P(勝) = 1/2. P(引) = 1/2, P(負) = 0 「不確かさの減少量 情報量」と定義したい 17 「不確かさの減少量 = 情報量」と定義したい野球の試合の例では
野球の試合の例では
メイルを受け取る前:P(勝) = 1/3 P(引) = 1/3 P(負) = 1/3 メイルを受け取る前:P(勝) = 1/3. P(引) = 1/3, P(負) = 1/3 エントロピーは 585 1 3 l 1 l 1 1 l 1 1 l 1 log3 1.585 3 log 3 3 log 3 3 log 3 メイルを受け取った後:P(勝) = 1/2. P(引) = 1/2, P(負) = 0イ を受け取 後 (勝) (引) , (負) 条件付きエントロピーは 1 2 log 0 1 log 1 1 log 1 0 log2 1 2 log 2 2 log 2 「阪神は負けなかった」というメイルに含まれる情報量: 1.585 – 1 = 0.585 ビット 18 http://narayama.naist.jp/~kaji/lecture/情報量とエントロピ
情報量とエントロピー
離れたところにある情報源 S の出力(通報)を知りたい 離れたところにある情報源 S の出力(通報)を知りたい 通報の確率分布はわかるが,何が実際出力されたか知りたい S の出力に関し なんらかの「ヒント」を入手したとする S の出力に関し,なんらかの「ヒント」を入手したとする ヒントにより,通報の確率分布が,別の情報源 S’ の確率分布 と一致することがわかったとする と 致することがわかったとする このとき ヒント(通報)がもたらした情報量 (information) は このとき,ヒント(通報)がもたらした情報量 (information) は H(S) – H(S’) ビット http://narayama.naist.jp/~kaji/lecture/気まぐれな友人の場合(
1)
気まぐれな友人の場合(
case 1)
右図の行動を取る友人Bが 勝ち 0.5 「勝 たよ」 右図の行動を取る友人Bが 「言いたくない」と言った時の 情報量は? 勝ち 引分 「勝ったよ」 「言いたくない」 0.5 0.5 0 5 1.0 情報量は? 負け 0.50.5 「負けたよ」 P(言いたくない) = 2/3 P(勝ち,言いたくない) = 1/6 P(勝ち | 言いたくない) = 1/4 P(引分,言いたくない) = 1/3 P(引分 | 言いたくない) = 1/2 P(負け,言いたくない) = 1/6 P(負け | 言いたくない) = 1/4 「言いたくない」と言っているときのエントロピ は 「言いたくない」と言っているときのエントロピーは 5 . 1 4 1 log 4 1 2 1 log 2 1 4 1 log 4 1 情報量は1.585 – 1.5 = 0.085ビット(友人Aのメイル:0.585ビット)気まぐれな友人の場合(
2)
気まぐれな友人の場合(
case 2)
友人Bが「勝ったよ」と言った 勝ち 0.5 「勝 たよ」 友人Bが「勝ったよ」と言った ときの情報量は? 勝ち 引分 「勝ったよ」 「言いたくない」 0.5 0.5 0 5 1.0 P(勝ったよ) = 1/6 負け 0.50.5 「負けたよ」 P(勝ち | 勝 たよ) 1 P(勝ったよ) = 1/6 P(勝ち,勝ったよ) = 1/6 P(勝ち | 勝ったよ) = 1 P(引分 | 勝ったよ) = 0 P(負け | 勝 たよ) 0 エントロピーは0になる (結果を正確に知ることができる) P(負け | 勝ったよ) = 0 (結果を正確に知ることができる) 情報量は1.585 – 0 = 1.585ビット(友人Aのメイル:0.585ビット) 友人Aと友人B,どちらが「頼りになる」友人か? 個々の通報の情報量だけを見ていたのではわからない 21 ... 個々の通報の情報量だけを見ていたのではわからない情報量の「平均」
情報量の「平均」
友人Bの行動: 友人Bの行動: 1/6 の確率で「勝ったよ」...情報量 1.585ビット 2/3 の確率で「言いたくない」 情報量 0 085ビット 2/3 の確率で「言いたくない」...情報量 0.085ビット 1/6 の確率で「負けたよ」...情報量 1.585ビット 平均すると1 585 1/6 + 0 085 2/3 +1 585 1/6 =0 585ビット 平均すると1.585 1/6 + 0.085 2/3 +1.585 1/6 = 0.585ビット 友人Aの行動: 2/3の確率で「負けなかった」 情報量 0 585ビット 友人Aの行動: 勝ち 2/3の確率で「負けなかった」...情報量 0.585ビット 1/3の確率で「負けたよ」...情報量 1.585ビット 平均すると0 585 2/3 + 1 585 1/3 =0 918ビット 勝ち 引分 「負けなかった」 平均すると0.585 2/3 + 1.585 1/3 = 0.918ビット 平均すると 友人Aのほうが 22 負け 「負けたよ」 平均すると,友人Aのほうが0.333ビット多くの情報をくれる http://narayama.naist.jp/~kaji/lecture/相互情報量
相互情報量
友人A 友人Bは 異なる特性を持った通信路と考えられる 友人A,友人Bは,異なる特性を持った通信路と考えられる 「負けなかった」 「言いたくない」 通信路の入力確率変数を X,出力確率変数を Y とする X と Y の相互情報量 I(X; Y): 各値が持 ( 関する)情報量 加重 均 X Y Yの各値が持つ(X に関する)情報量の加重平均 前ページでは「試合結果と友人の振舞いの相互情報量」を計算 http://narayama.naist.jp/~kaji/lecture/相互情報量の意味
相互情報量の意味
相互情報量: 相互情報量: その通信路が,どれだけの情報を伝達しているかの指標 システムとして通信路を実現することを考えると 個々の システムとして通信路を実現することを考えると,個々の 通報の情報量より,相互情報量にこそ着目すべき 同じ通信路でも,入力分布が変わると,相互情報量も変わる 同じ友人Aでも 同じ友人Aでも... 勝ち,引分,負けが1/3のチーム...相互情報量は0.918ビット 勝ち 負けが1/2のチ ム 相互情報量は1 ビット 勝ち,負けが1/2のチーム...相互情報量は1 ビット 相互情報量の取り得る最大値 ⇒通信路容量という 相互情報量の取り得る最大値 ⇒通信路容量という相互情報量の計算例(1)
相互情報量の計算例(1)
天気予報:天気についての情報を与える やや不正確な通信路 天気予報:天気についての情報を与える,やや不正確な通信路 例:100日間の実際の天気 (X) と天気予報 (Y) の統計: 晴 雨 Y P(X) ×100 予報 X 4515 60 12 28 40 晴 雨 P(Y)×100 57 43 X Y 現実 予報 60 40 P(Y)×100 実際の天気が晴だったのは57日,PX(晴)=0.57 現実 予報が晴といったのは60日,PY(雨)=0.60 天気 X, 予報 Y とも晴だったのは45日,PX,Y(晴,晴)=0.45 25相互情報量の計算例(2)
相互情報量の計算例(2)
晴 雨 Y P(X) ×100 X 4515 60 12 28 40 晴 雨 P(Y)×100 57 43 天気予報が当たる確率=P (晴 晴)+ P (雨 雨)=0 73 60 40 P(Y)×100 天気予報が当たる確率 PX,Y(晴,晴)+PX,Y(雨,雨) 0.73 この予報と友人Aのメイル どちらが「高性能」? この予報と友人Aのメイル,どちらが「高性能」? 天気のエントロピー: 986 0 43 0 l 43 0 57 0 l 57 0 ) (X H ビット 26 986 . 0 43 . 0 log 43 . 0 57 . 0 log 57 . 0 ) (X H ビット http://narayama.naist.jp/~kaji/lecture/相互情報量の計算例(3)
相互情報量の計算例(3)
天気予報Yが晴のとき: 天気予報Yが晴のとき: 本当に晴れる確率は0.45/0.60 = 0.75,雨の確率は0.25 「晴」という予報を聞いた後の条件付エントロピーは 「晴」という予報を聞いた後の条件付エントロピ は H(X | 晴) = – 0.75log0.75 – 0.25log0.25 = 0.811 ビット 「晴」という天気予報の持つ情報量は0 986 0 811 = 0 175 「晴」という天気予報の持つ情報量は0.986 – 0.811 = 0.175 天気予報Yが雨のとき: 本当に雨の確率は0 28/0 40 0 70 晴の確率は0 30 本当に雨の確率は0.28/0.40 = 0.70,晴の確率は0.30 「雨」という予報を聞いた後の条件付エントロピーは H(X | 雨) 0 30l 0 30 0 70l 0 70 0 881 ビット H(X | 雨) = – 0.30log0.30 – 0.70log0.70 = 0.881 ビット 「雨」という天気予報の持つ情報量は0.986 – 0.881 = 0.105 加重平均をとると0 60 0 175 + 0 40 0 105 0 147 ビ ト 加重平均をとると0.60·0.175 + 0.40·0.105 = 0.147 ビット http://narayama.naist.jp/~kaji/lecture/相互情報量と当たる確率
相互情報量と当たる確率
Y A社 晴 45 雨 12 晴 Y P(X) ×100 57 A社: まぁまぁ当たる予報 X 4515 60 12 28 40 晴 雨 P(Y)×100 57 43 73% 0 147ビット 60 0 P(Y) 100 晴 雨 Y P(X) ×100 B社: 絶対はずれる予報 0.147ビット X 晴 0 43 雨 57 0 晴 雨 P(X) ×100 57 43 絶対はずれる予報 0% 情報 「量 は 社予報 ほうが大き 43 43 0 57 雨 P(Y)×100 43 0.986ビット 情報の「量」は,B社予報のほうが大きい第
部のまとめ
第一部のまとめ
エントロピーの概念を導入 エントロピ の概念を導入 予測の難しさを定量化したもの 情報量,相互情報量を定義 エントロピーの減少量として定式化 エントロピーの減少量として定式化 システムの評価には,相互情報量の概念が有用 29休憩
休憩
30 http://narayama.naist.jp/~kaji/lecture/第二部 情報の表現方法を考える
第二部:情報の表現方法を考える
情報は 実体を持たない抽象的なもの 情報は,実体を持たない抽象的なもの 情報の容器である「通報」に,具体的表現を与える必要がある 通報の表現方法 かなり大きな自由度がある 通報の表現方法...かなり大きな自由度がある ⇒ 「良い」表現方法と「良くない」表現方法がある 「良い」表現方法とは? 情報の蓄積を考えると できるだけコンパクトであること 情報の蓄積を考えると...できるだけコンパクトであること 情報の伝達を考えると...できるだけ誤りに強いこと 相反する二つの方向性の間で,バランスを取ることが大切 技術としては それぞれ独立したものとして扱うことが得策 技術としては,それぞれ独立したものとして扱うことが得策 http://narayama.naist.jp/~kaji/lecture/第二部前半 情報のコンパクトな表現について
第二部前半:情報のコンパクトな表現について
3種類の通報 A B C を 0 と 1 だけを用いて符号化する 3種類の通報 A, B, C を,0 と 1 だけを用いて符号化する A 0 符号化すると B と C が区別できなくなる 符号語 通報 (ただし,区切り記号は使わない) A B C 0 1 1 符号化すると,B と C が区別できなくなる (一意に復号できない) ⇒ すべてを1 ビットで表現することは不可能 C 1 ⇒ すべてを1 ビットで表現することは不可能 A 00 10 一意性は保証されるが,一工夫足りない... B C 10 11 A B 0 10 符号語の長さが揃っていないが... 情報をコンパクトには表現できる C 11様々な符号化法
様々な符号化法
A 0 いまのところベストの符号化法 A B C 0 10 11 いまのところベストの符号化法 C 11 A 00 11 上の例と似ているが,一意性が保証されない B → 11 B C 11 1 B → 11 CC → 11 意性は保証されるが 取り扱いが面倒 A B 00 10 一意性は保証されるが,取り扱いが面倒 10000000 → BAAA 1000000 → CAAA C 1 1000000 → CAAA 最後の一文字を見るまで,復号を行えない 33 最初の方式は,一意的で,即時に復号処理ができる様々な符号化法(続)
様々な符号化法(続)
A 0 いまのところベストの符号化法 C1 A B C 0 10 11 いまのところベストの符号化法 C1 C 11 A B 11 10 本質的に,上と同じ? C2 B C 10 0 通報の出現確率に偏りがある場合を考える 通報の出現確率に偏りがある場合を考える P(A) = 0 5 C1 :一通報を表現する符号長の平均は ビ ト P(A) = 0.5 P(B) = 0.4 P(C) = 0.1 0.5 ×1 + 0.4×2 + 0.1×2 = 1.5ビット C2:一通報を表現する符号長の平均は 0 5 ×2 + 0 4×2 + 0 1×1 = 1 9ビット 34 P(C) 0.1 0.5 ×2 + 0.4×2 + 0.1×1 = 1.9ビット C1のほうが C2よりもコンパクトな表現 http://narayama.naist.jp/~kaji/lecture/符号に求められる性質
符号に求められる性質
良い符号の三条件: 良い符号の三条件: 一意に復号可能であること 瞬時に復号可能であること 瞬時に復号可能であること 平均符号長ができるだけ短いこと 理論的に最適な解法が知られている ⇒ハフマン符号化 http://narayama.naist.jp/~kaji/lecture/ハフマン符号
ハフマン符号
1 各通報に対して節点を準備し その発生確率を付与する 1.各通報に対して節点を準備し,その発生確率を付与する 節点はそれぞれ,大きさ1の木であると考える 2.木の中で発生確率最小のものを2つ選出し,以下を行う 1 2つの木の根節点を子とするような 新しい根節点を作る 1.2つの木の根節点を子とするような,新しい根節点を作る 2.新しい根節点と古い根節点を結ぶ枝に,0, 1 をラベル付け 3 新しい根節点に 2つの木の発生確率の和を与える 3.新しい根節点に,2つの木の発生確率の和を与える すべての節点がつながるまで 2 の操作を繰り返す 3.すべての節点がつながるまで,2 の操作を繰り返すハフマン符号化法
ハフマン符号化法
A B C D 記号 A 0.60 B 0.25 C 0.10 D 0.05 記号 確率 0 15 0.60 0.25 0.10 0.05 0.15 0.60 0.25 0.10 0.05 A B C D A B C D 0.40 1.00 0.60 0.25 0.10 0.05 0.60 0.25 0.10 0.05 37 0.60 A 0.10 C 0.05 D 0.25 B 0.60 A 0.10 C 0.05 D 0.25 B練習問題
練習問題
確率 符号語 確率 符号語 A B 確率 0.2 0.1 符号語 A B 確率 0.3 0.2 符号語 C D 0.3 0.3 C D 0.2 0.1 E 0.1 E F 0.1 0.1 38 等長符号の場合と比べ,平均符号長が小さくなっている http://narayama.naist.jp/~kaji/lecture/ハフマン符号とブロック化
ハフマン符号とブロック化
ハフマン符号: ハフマン符号: 得られる符号は,一意かつ瞬時に復号可能 通報一個を符号語一個に符号化する方式としては 通報 個を符号語 個に符号化する方式としては, 最も効率が良い(最もコンパクト,平均符号長が小さい) 複数の通報を一まとめにして(ブロック化して)符号化すれば, さらに効率が良くなることが知られている さらに効率が良くなることが知られている http://narayama.naist.jp/~kaji/lecture/ブロックハフマン符号
ブロックハフマン符号
2つの通報をまとめて(ブロック化して)符号化する 2つの通報をまとめて(ブロック化して)符号化する A 0 6 0 記号 確率 符号語 AA 0 36 0 記号 確率 符号語 A B C 0.6 0.3 0.1 0 10 11 AA AB AC 0.36 0.18 0.06 0 100 1100 BA BB BC 0.18 0.09 0 03 101 1110 11110 平均符号長1.4 ビット BC CA CB 0.03 0.06 0 03 11110 1101 111110 CB CC 0.03 0.01 111110 111111 平均符号長2.67 ビット 平均符号長 .67 ビット ⇒一記号あたり1.335 ビットブロック化と性能の限界
ブロック化と性能の限界
一般に ブロック長を大きくすると 通報一記号あたりの般に,ブロック長を大きくすると,通報 記号あたりの 平均符号長は減少する どこまで減少するか? 対象となっている情報源のエントロピーに漸近する 対象となっている情報源のエントロピーに漸近する 平均符号長 平均符号長 (一記号あたり) ブ エントロピー 41 ブロック長情報源符号化定理
情報源符号化定理
平均符号長 (一記号あたり) ハフマン符号よりも良い方法を 工夫すれば,エントロピーの壁を 乗り越えられる? エントロピー 乗り越えられる? ブロック長 エントロピー 任意の符号について,平均符号長は必ず L H1(S) となる データ圧縮における「越えられない壁」 デ タ圧縮における「越えられない壁」 平均符号長がL < H1(S) + 1となる符号を構成できる ハフマン符号は 理論限界を達成する符号化方式 42 ハフマン符号は,理論限界を達成する符号化方式 http://narayama.naist.jp/~kaji/lecture/ユニバ サル符号化 非可逆符号化
ユニバーサル符号化,非可逆符号化
ハフマン符号化 情報源記号の確率分布が 事前に必要 ハフマン符号化...情報源記号の確率分布が,事前に必要 確率分布が(正確には)わからないケースも多い ⇒ユニバーサル符号化法 ⇒ユニバ サル符号化法 どのような情報源に対しても,そこそこ良い性能を発揮 LZ77法 (lha gzip zoo zip etc )LZ77法 (lha, gzip, zoo, zip etc.) LZ78法 (compress, stuffit etc.)
LZW法 (GIF TIFF 等の画像フォ マット) LZW法 (GIF, TIFF 等の画像フォーマット) 音声や画像等の情報 音声や画像等の情報... 細部まで正確に再現できなくても,実害なし 再現性を 部犠牲にして 高い圧縮率を⇒非可逆符号化 再現性を一部犠牲にして,高い圧縮率を⇒非可逆符号化 http://narayama.naist.jp/~kaji/lecture/