
小学5年生が理解する「誤り訂正符号」(デジタル社会を支えるテクノロジー:誤り訂正符号って何?その41)
私:「ハハハッ!!そうだね.確かにテトリスみたいだね.『トレリス線図』を書くと次のようになる.」
息子:「これをどうやって使うの?」
私:「前回,タクムが考えてくれたことを言うぞ.その言葉を聞きながら,お父さんが書いた『トレリス線図』を見て.まずは状態00からスタートして,元のデータ0の時は状態00で連続した3ビットの合計は0で、連続した3ビットの間を除いた合計も0なので、『符号語』の要素は00で『受信語』との『ハミング距離』は0。元のデータ1の時は状態10で連続した3ビットの合計は1で、連続した3ビットの間を除いた合計も1なので、『符号語』の要素は11だから『受信語』との『ハミング距離』は2。」
息子:「あっ!状態が点「・」の順番で,線の上が『符号語』になってる!」
私:「そういうこと.で,次の点「・」の上に線の上の『符号語』と『受信語』との『最小ハミング距離』を括弧の中に次のように書く.」
息子:「おーっ!こうすると見やすいね.よーし!次もやってみる.えーっと.これでいいのかな?」
私:「いいねーっ.では次.」
息子:「うん.同じようになやって・・・あれっ,同じ状態の点「・」に2本の線が入った場合はどうするんだっけ?」
私:「さっき,状態の点「・」の上の括弧の中に『最小ハミング距離』を書く,って言っただろ?『ハミング距離』の大きい方には✖を付けてね.」
息子:「うん.あっそうか!『ハミング距離』が小さい方だけを書けば良いのか!だとすると・・・これで良い?」
私:「そうそう!これで良い.これをどんどん続けていって.」
息子:「うん.次は,これ.」
私:「良いよー.次行ってみよう!!いかりや長介さん風!」
息子:「誰?」
私:「タクムが昔テレビ番組観て笑い過ぎてお漏らししちゃった,志村けんさんの師匠だぞ.」
息子:「そうなんだ.でも,知らない.」
私:「ダメだなー.」
息子:「しょうがないじゃん.知らないんだからさ.」
私:「まーそうか.俺が子供の頃でも結構な年齢だったしな.(遠い目)それは置いておいて,次行ってみよう!!いかりや長介さん風.」
息子:「しつこいっ!!はいはい次ね.これで良いかな?」
私:「うん.良いね.次からは元のデータとして0が入ることが分かっているから,各状態からは0の線しか出ないから気を付けてね.」
息子:「あっ!そうだね.楽になって良かったー.えーっと.こうかな?4つの状態から2つの状態にまとまった.」
私:「うん.良いね.では,次.」
息子:「うん.おっ!!1つにまとまった.」
私:「うん良いね。では、最終的に残った経路を太い線にしてみると、どうなるかな?そして、その太い線の『符号語』はどうなってる?」
息子:「こうかな?」
私:「うん。それで良い。赤いところが誤りがあった場所だね。これと、誤りを加える前の送り側の『符号語』と比べてみて。」
息子:「同じだ!!凄い!!」
私:「この誤り訂正のやり方を『ビタビ復号法』という。」
息子:「『ビタビ復号法』?これも考えた人の名前?」
私:「そうなんだ。ビタビという人が考えた復号法だから『ビタビ復号法』なんだ。ちなみに、このビタビさんは、タクムも凄くお世話になってる人なんだ。」
息子:「えっ!?会ったことあるの?」
私:「さすがに会ったことはないよ(笑)。タクムも持ってるスマホの中に入っているLSIを作ってるQualcomm社を作ったのがビタビさんなんだ。Qualcomm社のLSIは殆どのスマホに入ってる。昔のガラケーの時も殆どのガラケーにQualcomm社のLSIが入っていたんだ。第3世代の携帯電話の時からそうなったんだ。」
息子:「そうなの?凄いね!!知らないところでいろいろな所で関わりがあるんだね。」