6.5 フィードバックのある通信路

ここまで,送る側は符号語を決めたら最後まで送りきるものとしてきた.受け取る側に何が届いたかは,送る側には分からない.では,受け取る側が受け取った記号をそのつど送る側へ完全に返せるとしたら,つまり次の記号を決めるまでに,いま何が届いたかを送る側が知っていられるとしたら,容量は増えるだろうか.

直感は「増える」と答える.送る側は通信路がいまどう振る舞ったかを見て次の入力を選べる.消失したと分かればもう一度送ればよいし,雑音の出方に合わせて送るものを変えることもできる.何も知らずに送りっぱなしにするより,賢く振る舞えるはずである.ところが答えは,容量は増えない,である.この意外さが本節の主題で,なぜ増えないのか,そして増えないのにフィードバックの何が有用なのかを見る.

フィードバック符号

定義 6.5.1(フィードバック符号). 長さフィードバック符号 とは,メッセージ数,符号化写像の族𝑖 =0,,𝑛 1),復号器の組である.メッセージを送るとき,時刻の入力を

𝑥𝑖=𝑐𝑖(𝑚,𝑦<𝑖),𝑦<𝑖:=(𝑦0,,𝑦𝑖1)

で定める.すなわち,時刻の入力はそれまでに受け取られた出力に依存してよい.レート,メッセージ誤り確率はこの手順で通信路を回使ったときの出力)とし,最大誤り確率平均誤り確率定義 6.2.1 と同じくについての最大と平均で定める.

によらない場合が定義 6.2.1 のブロック通信路符号である.すなわちフィードバック符号は定義 6.2.1 の符号をすべて含む.だから,フィードバックを許して達成できるレートの範囲は,少なくとも許さないときと同じだけはある.本節の内容は,それが広がりもしない,ということである.

返せるとしたら,を問うている. 定義 6.5.1 が置いている前提は強い.受け取る側の記号が遅れなく,誤りもなく送る側へ戻るとしている.現実の通信路でそれが可能かは別の問いで,ここでは可能だとしたら何が変わるかを問うている.実際にはフィードバックの経路自身も雑音をもつので,この定義は「フィードバックがいちばん有利に働いたとき」を表している.それでも容量が増えないなら,雑音のあるフィードバックでも増えない.

形式化上の注記. 符号化写像の族は FeedbackCode (InformationTheory/Shannon/ChannelCoding/Feedback.lean) として形式化されている.時刻ごとの符号化器がメッセージと長さの過去出力だけを見るという因果性は型に入っており,過去出力によらない場合が定義 6.2.1 のブロック通信路符号だという埋め込みも同じところにある.ただし本節の逆定理はそれを使わず,入力の列を確率変数としてそのまま扱って,それが過去の出力とメッセージから決まるという構造を定義 6.5.2 の条件付き独立に吸収させている.

記憶のなさと因果性

定義 6.5.2(フィードバックのもとで各時刻で記憶がない). 確率変数,入力の組,出力の組フィードバックのもとで各時刻で記憶がない とは,すべてのについて

(𝑌<𝑖,Msg)𝑋𝑖𝑌𝑖

がマルコフ連鎖(定義 1.8.3)をなすことをいう.ここでである.

形式化: IsMemorylessFeedback (ソース)

一つの条件が二つのことを同時に言っている.一つは記憶のなさで,時刻の入力さえ決まれば出力はそれまでに何が受け取られたかによらない.もう一つは因果性で,を決めてしまえば出力はメッセージそのものを覗き見ない.言い換えれば,メッセージの影響は入力を通ってしか届かない.

条件に並んでいるのが過去の出力とメッセージであって,他の時刻の入力ではないことに注意したい.定義 6.4.4 は他の時刻の入出力を条件に置いていた.フィードバックがあるとが過去の出力の関数になるので,入力どうしの独立性を問う形にはもう意味がない.代わりに,を決めるのに使えた情報(過去の出力とメッセージ)をすべて条件に並べ,それでもしか見ないと述べている.

1 時刻ごとの評価

補題 6.5.3. とし,Msg𝑋𝑛 =(𝑋0,,𝑋𝑛1)をフィードバックのもとで各時刻で記憶がない(定義 6.5.2)確率変数の組とする.このとき各について

𝐼(Msg;𝑌𝑖𝑌<𝑖)𝐼(𝑋𝑖;𝑌𝑖)

が成り立つ.

証明. とおく.定義 6.5.2がマルコフ連鎖であることをいうので,定理 1.8.4 よりである.

いっぽう定理 1.5.1𝑋 Msgとして当てると

𝐼(𝐿;𝑌𝑖)=𝐼(𝑌<𝑖;𝑌𝑖)+𝐼(Msg;𝑌𝑖𝑌<𝑖)

であり,命題 1.3.2 より第 1 項は非負だからである.二つを合わせて主張を得る.

形式化: feedback_per_letter_bound (ソース)

補題 6.5.3 が本節の核である.左辺は「これまでに受け取ったものを踏まえたうえで,時刻の出力がメッセージについて新しく教えてくれる情報」,右辺は「時刻の入力と出力が共有する情報」である.フィードバックは左辺の側にいくらでも仕掛けを入れられる.過去の出力を見てを選び直せるからである.しかしその結果はやはり右辺で抑えられる.フィードバックが変えられるのは各時刻の入力の選び方だけで,選んだ入力に対して通信路が運べる量そのものではない,というのがこの補題の内容である.

フィードバック逆定理

定理 6.5.4. 𝑀 2とし,を実数とする.上の一様分布に従う確率変数,𝑋𝑛 =(𝑋0,,𝑋𝑛1)を有限集合に値をとる確率変数の組,の値からへの写像とし,とおく.組がフィードバックのもとで各時刻で記憶がなく(定義 6.5.2),かつすべてのなら

log𝑀𝑛𝐶+𝐻𝑏(𝑃𝑒)+𝑃𝑒log(𝑀1)

が成り立つ.

証明. 定理 6.4.1 を,観測を,復号器をとして当てると

log𝑀𝐼(Msg;𝑌𝑛)+𝐻𝑏(𝑃𝑒)+𝑃𝑒log(𝑀1)

である.第 1 項をで抑えればよい.

相互情報量は対称(命題 1.3.3)だからである.定理 1.5.2 を,変数列と,相手側の変数として当てると

𝐼(𝑌𝑛;Msg)=𝑛1𝑖=0𝐼(𝑌𝑖;Msg𝑌<𝑖)

となる.条件付き相互情報量も対称(命題 1.4.2)なので,各項はに等しい.これを補題 6.5.3で抑え,仮定でさらにで抑えると,和は以下である.

形式化: channel_coding_feedback_converse_memoryless (ソース)

分解の軸を入力から出力に取り替える. 6.4 節の逆定理は,まず系 6.4.2に移し,そこから入力の側でチェイン則を使った(定理 6.4.3).フィードバックがあると最初の一歩が壊れる.が過去の出力の関数になるので,メッセージから出力への影響が符号語だけを通るとはいえなくなり,はもうマルコフ連鎖ではない.出力が入力へ回り込むからである.そこでをそのまま抱えたまま,出力の側でチェイン則を使う.分解の軸を入力から出力へ取り替えたことが,この節の技術的な要点である.回り込みが起きる軸を避けて,起きない軸で分解した,と読める.

フィードバックは容量を増やさない

系 6.5.5(フィードバックは容量を増やさない). を通信路(定義 6.1.1)とする.第項が長さの符号であるフィードバック符号の族が,最大誤り確率を満たし,レートの列が上に有界であるとする.このときである.

証明. 達成可能性が最大誤り確率で書かれているのでメッセージには一様分布を入れてよく,は平均誤り確率に等しくてである.よりであり,とおくと,これは非負で,の有界性と合わせて補題 6.4.7 よりである.ではで,命題 6.1.6 よりが成り立つ.以下とする.

定理 6.5.4 の仮定を確かめる. 時刻の入力はであり,それを通信路に通すのだから,を知ったうえでのの条件付き分布はである.これはだけで決まるので,組はフィードバックのもとで各時刻で記憶がない(定義 6.5.2).同じ条件付き分布をについて平均すれば,だけで条件付けてもである.よっての分布をと書けば対の同時分布はであり,命題 6.1.3定義 6.1.4 よりである.

定理 6.5.4として使い,で割ると

𝑅𝑛𝐶(𝑊)+𝐻𝑏(𝑃(𝑛)𝑒)𝑛+𝑃(𝑛)𝑒log(𝑀𝑛1)𝑛

である.よりだから,右辺の第 3 項は以下であり,を得る.どのでもこれが成り立ちだから,両辺で下極限をとって主張を得る.

形式化上の注記. 系 6.5.5 に対応する単独の宣言はない.定理 6.5.4 に紐付けた宣言は各時刻の上界を引数として受け取る形なので,そこにを渡した合成で得られる.

系 6.5.5 が示したのは片側だけである.未満のレートがフィードバックを使っても達成できるというもう片側は,定義 6.5.1 の直後に見たとおり,フィードバックを使わない符号がそのままフィードバック符号になることから出る.定理 6.3.7 が作った符号をそのまま使えばよい.二つを合わせると,フィードバックのあるなしで到達できるレートの範囲は変わらない.

最大をとったあとでは動かせない. 増えない理由は,補題 6.5.3 と容量の定義の組み合わせに尽きる.フィードバックが与えるのは各時刻の入力分布を履歴に応じて選び直す自由だが,はもともと入力分布のすべてにわたる最大値(定義 6.1.4)である.どの時刻にどんな分布を選んでも,その時刻に運べる量は最大値を超えない.すでに最大をとってある量は,選び方を工夫しても動かない.

増えないのに,何が変わるのか

例 6.5.6(消失した記号を送り直す). 𝜂 [0,1]とし,消失確率の二元消失通信路(例 6.1.9)にフィードバックを付ける.送る側は,いま送ったビットが届いたか消失したかを,次の入力を決めるまでに知ることができる.そこで,消失していたら同じビットをもう一度送り,届いていたら次のビットへ進む,という方式をとる.回の使用でこの方式が運ぶビット数をとすると

𝔼[𝑁𝑛]=(1𝜂)𝑛

である.

証明. 時刻の出力が消失でないという事象の指示変数をとおく.例 6.1.9 の通信路ではが入力によらないので,送る側が何を選んでもであり,である.

この方式では,消失しなかった記号がそのつどちょうど 1 ビットを運ぶ.届いた記号がどのビットのものかは,受け取る側も消失の位置を見ているので分かる.よって回で運ばれたビット数はであり,期待値の線形性からを得る.

は全時刻が消失する縮退した場合で,この方式は 1 ビットも進まない.そのときは右辺も 0 になるので,等式はそのまま成り立っている.

1 回の使用あたり平均ビットであり,これは例 6.1.9 で計算した容量とちょうど同じ値である.なら回で運べるビット数の期待値は,すなわち 1 回あたりビットである.

この方式には符号語も復号器の設計も入っていない.届かなければもう一度送るだけで,を大きくとる必要さえない.同じレートにフィードバックなしで達するには,6.3 節のランダム符号化と結合典型復号器が要った.しかも作れることが分かるだけで,どの符号帳が当たりかは分からないままだった.フィードバックが変えるのは,到達できるレートではなく,そこへ届くための手間である.系 6.5.5 が否定しているのは前者だけで,後者については何も言っていない.

なお,この方式で未満のどのレートでも誤り確率が 0 に向かうことまで言うには,が期待値のまわりに集中することを示す必要がある.ここでは期待値の計算までにとどめる.

形式化上の注記. 例 6.5.6 に対応する宣言は形式化されていない.例 6.5.6 に付した証明が,この主張の保証のすべてである.

InformationTheory — 形式化検証つき情報理論教科書(レビュー版).数式は MathJax + AMS Euler で事前レンダリング.