2012/8/28

おとなの数学

旧ISBN記号のときと同じように、13ケタのバーコードを「abcdefghijklm」として考えてみよう。

このとき最後のmは、

3×(b+d+f+h+j+l)+(a+c+e+g+i+k+m)…(4)

が10の倍数になるように定められている。「4988009440392」の例で確かめてみると、

3×(9+8+0+4+0+9)+(4+8+0+9+4+3+2)=3×30+30=120

となっている。詳しい説明は省くが、1文字だけ読み間違うと、10の倍数にならない仕組みになっている。旧ISBNとは計算式は違うものの、同じように1文字分の誤りを検出できるのである。

誤り訂正符号の仕組み

最後に、途中で間違っても正しいデータに直してくれる「誤り訂正符号」について考えてみよう。

例えば、「あ」から「た」までのひらがなを、0または1からなる次のような7つの数字で送信するとする。

いま、「お」を意味する(1,0,0,0,0,1,1)を発信したとする。それを受信した側は、正しく受信したならば何も問題はないが、もし1文字だけ誤って受信したとしよう。たとえば、

A=(1,0,0,1,0,1,1)

を受信したとすると、Aと「お」は4番目の1文字だけ違っているが、Aはその他のひらがなを表す数字の列とは2文字以上違っていることが分かる。実際、Aと「あ」は1、4、6、7番目の4文字が違っていて、Aと「い」は3文字違っていて、Aと「た」は4文字違っている。そこで、Aを受信した側はそれを最も近い「お」に復号することになる。

そのようにして確かめると、受信側が1文字以内の誤りで受信したならば、正しいひらがなに復号することができる。

注目記事
次のページ
「無駄が全くない訂正符号」とは