見出し画像

小学5年生が理解する「誤り訂正符号」(デジタル社会を支えるテクノロジー:誤り訂正符号って何?その13)


昨日まではレシートの合計金額から『パリティ検査符号』、『全パリティ検査ビット』、そして『ハミング符号』の考え方が理解できることを紹介した。今日はどんな話しになるかな?

息子:「ただいまー!!」

私:「おっ!?今日は元気だね。」

息子:「今日の体育の授業の縄跳びで二重跳びができたんだよー。」

私:「それは良かったね。でも、俺の二重跳びを披露できなくて残念だったな~っ!(Niziuの縄跳びダンスをしながら)」

息子:「キモイッ!!キモイッ!!キモイッ!!Niziuじゃなくてっ!Goziu(50)だろうがー!!歳考えろよっ!!」

私:「気持ちは17歳!!」

息子:「・・・」

私:「これでも『お若いですね』と一回り以上若い女性に言われたことあるんだぞっ!!」

息子:「いつだよっ!」

私:「50歳になった時で~すっ!!」

息子:「社交辞令を本気にすんなよっ!」

私:「いやいや。」

息子:「まーいいや、勝手に勘違いしてれば。ところでさー昨日までの話しの続きは無いの?ここまで出てきた『誤り訂正符号』って、1個しか誤りを訂正できないじゃん。それに昨日さー最後の方で、『二重誤り訂正符号』とかもっとたくさんの誤りを訂正できる『誤り訂正符号』があるって言ってたよね。」

私:「ど~んだけ~っ!!」

息子:「それはIKKO・・・」

私:(Niziuの縄跳びダンスしながら歌も口ずさんでる)

息子:「・・・それはNiziu・・・」

私:(自分の顔を指さして)

息子:「・・・パパは50(歳)・・・いつも面倒だなっ!!真面目に話してよっ!!」

私:「(笑)ごめんごめん。『二重誤り訂正符号』ね。うーん、何から話せば良いかなー・・・『単一誤り訂正符号』を組み合わせて『二重誤り訂正符号』を作ってみようか。」

息子:「『単一誤り訂正符号』を組み合わせて『二重誤り訂正符号』を作る?そんなことできるの?」

私:「『拡大ハミング符号』を覚えてないかな?その時は『ハミング符号』に『全パリティ検査ビット』を加えることで『拡大ハミング符号』ができたよね。」

息子:「そうだったね。他にも何かやり方あるの?」

私:「うん。『積符号(せきふごう)』という組み合わせ方だと比較的簡単に『2重誤り訂正符号』ができる。」

息子:「どういう組み合わせ方なの?」

私:「今まで見てきた『誤り訂正符号』は全て一次元、つまり横一列にビットを並べていたけど、『積符号』は二次元、つまり横だけでなく縦にもビットを並べて作るイメージだね。」

息子:「面白そうだけど、書くのは大変そうだね。」

私:「まーそうだけど、簡単な例で見ていこう。『積符号』で『二重誤り訂正符号』を作るのに『ハミング符号』と『パリティ検査符号』を使う。」

息子:「それで『二重誤り訂正符号』が作れちゃうの?」

私:「そうなんだ。『積符号』の『最小ハミング重み』は、組み合わせる2つの『誤り訂正符号』の『最小ハミング重み』の積、つまりかけ算の結果となる、からなんだ。『ハミング符号』と『パリティ検査符号』の『最小ハミング重み』はそれぞれいくつだったかな?」

息子:「『ハミング符号』の『最小ハミング重み』は3で、『パリティ検査符号』の『最小ハミング重み』は2だった。となると2つのかけ算の結果は6だね。」

私:「正解!ということは、いくつの誤り訂正までできるかな?」

息子:「半分よりも小さい自然数だから2個までの誤り訂正ができる。あと、3個の誤り検出できるんだね。」

私:「正解!!良いねー。3個の誤り検出できるのはおまけ、というより『積符号』で二重誤り訂正できる『誤り訂正符号』を作ると『最小ハミング重み』が5にはできないから6で作るしかないからなんだ。」

息子:「じゃあ『最小ハミング重み』が5の『誤り訂正符号』は作れないの?」

私:「『積符号』だから、2以上の自然数の積の『最小ハミング重み』の『誤り訂正符号』しかできないけど、『線形符号』では作れる。例えば、前に紹介した『BCH符号』等を含めた『巡回符号(じゅんかいふごう)』では作れるよ。」

息子:「へー。で、『線形符号』ってどうやって作るの?」

私:「次回、その説明をしよう。」


この記事が気に入ったらサポートをしてみませんか?