
小学5年生が理解する「誤り訂正符号」(デジタル社会を支えるテクノロジー:誤り訂正符号って何?その22)
昨日の続き。
息子:「へー。『二重誤り訂正符号』となる『巡回符号』では『生成多項式』に2つの『既約多項式』を元の多項式にしてたけど、1つは『原始多項式』でもう1つはただの『既約多項式』なの?」
私:「その例では異なる2つの『原始多項式』が『生成多項式』の元になってる。だけど、別の『巡回符号』では『周期』が5や3、または1の『既約多項式』が元の多項式の1つになる場合も有る。」
息子:「それはどうやって決まるの?」
私:「さっき『生成多項式』の元になる『既約多項式』として必ず最初の1つ目に『原始多項式』を使う、と話したけど、この『原始多項式』が持つ零点と関係してくる。例えば、『二重誤り訂正符号』となる『巡回符号』の場合、『原始多項式』の持つ『零点』はαという15個掛けると1になる(α ^15)=1となる『原始元(げんしげん)』と呼ばれる16個の数、ここでは元(げん)と呼ぶ数を持つ有限体GF(2 ^4)の元(げん)なんだ。ここに理由がある。
『生成多項式』の元になる1つ目の『既約多項式』は『原始多項式』だけど、その『原始多項式』が持つ『零点』となる元(げん)はα、(α ^2)、(α ^4)、(α ^8)という数が右上に付いてるけど、この数が2倍2倍で増えてるよね。このような関係の元(げん)を互いにGF(2 ^4)の『共役元(きょうやくげん)』と言って、全ての『共役元』を『零点』として持つ多項式はGF(2)を係数として持つ多項式になる。この右上に付いてる数の連なりの個数に1を足した数が『最小ハミング重み』となることが知られてるんだ。」
息子:「へー、不思議。ということは『原始多項式』だけが『生成多項式』の時は『最小ハミング重み』が3ということだね。(α ^3)があれば『最小ハミング重み』が5になるのにね。」
私:「そう!そういうことなんだ!でも(α ^3)だけを『零点』として持つGF(2)の多項式は無いから、(α ^3)の他にどういうGF(2 ^4)の元(げん)を持てば良いと思う?」
息子:「…(α ^3)の『共役元』も『零点』として持てば良いってこと?」
私:「そう!では、(α ^3)の『共役元』は何かな?」
息子:「(α ^3)、(α ^6)、(α ^12)、(α ^24)…あれ?」
私:「(α ^15)=1だから、どうなれば良いかな?」
息子:「あっ!そうか!(α ^24)は(α ^9)だから、(α ^3)、(α ^6)、(α ^12)、(α ^9)、(α ^18)=(α ^3)で元に戻るから…(α ^3)、(α ^6)、(α ^12)、(α ^9)だね!!」