某大学の講義で、
完全符号を扱いました。
講義スライドをアニメーション化したのが
次の動画です。
7月5日に行われた数学で最も権威のある「フィールズ賞」の授賞式。
受賞者の1人、マリア・ヴィアゾフスカさんの受賞理由は
完全符号の応用でした。
ざっくりとした話は
ブログに解説記事を書いています。
【こちら】
です。
一読下さい。
すごいでしょ。
以下、ブログの解説記事を読んだ前提で話を進めます。
「ハミング符号を拡張する」の意味は
外符号として「ハミング符号」を内符号として「シングルパリティ符号」を
組み合わせる
という意味です。
まず、外符号を使って符号化して、つぎに内符号と使って符号化します。
この場合、
符号化前のビット数が4。
外符号(ハミング符号)による符号化後のビット数が7。
内符号(シングルパリティ符号)による符号化後のビット数が8。
となります。
ここで理解度チェック:
拡張ハミング符号の符号語を全て書き出しなさい。
その際に、
符号化前に4ビットと、符号語の対応を書くこと。
外符号の符号化も、内符号の符号化も、講義で教えたものを用いること。
ブログの解説記事の中で出てきた E8格子 の作り方を述べます。
それが今回のゴールです。
こちらを理解するように手を動かしてみましょう。
E8格子とは、実数体上の8次元空間の点の集合です。
以下の特徴をもつ点全体として定義されます。
次の条件を満たす
整数ベクトル a の各成分を ルート2 で割った a / √2 。
条件:各成分に対し奇数を1、偶数を0で置き換えたものが
拡張ハミング符号の符号語である。
ルート2で割ることを忘れて、
整数ベクトルaが条件を満たすとは何か、
慣れていきましょう。
例えば、次の3つの整数ベクトル
(0,0,0,0,0,0,0,0)、(1,1,1,1,1,1,1,1)、(0,0,0,1,1,1,1,0)
は拡張ハミング符号の符号語そのものなので
条件を満たします。
続いて、つぎの2つの整数ベクトル
(2,2,6,10,100,-4,-90000,8888)、(2,-2,0,0,0,0,0,0)
は、偶数を0に、奇数を1に置き換えると、どちらも(0,0,0,0,0,0,0,0)となり
拡張ハミング符号の符号語なので条件を満たします。
しかし、つぎの整数ベクトル
(2,-2,0,0,0,0,0,11)
は、偶数を0に、奇数を1に置き換えると(0,0,0,0,0,0,0,1)となり
条件を満たしません。
では、最後に。
フィールズ賞受賞者の マリナ・ヴィヤゾフスカさんの結果のE8版を。
上記で作った整数ベクトル(を√2で割らずに)の各点を中心として、
半径1のボールを配置します。
これが、
8次元空間に半径1のボールを置くのが
最も密度の高い方法
という定理です。
数学の最高の賞が、ハミング符号から学べるのは面白くないですか?