4ビットから成る情報ビットx1x2x3x4に対して、
(x 1 + x 2 + x 3 + x 5) mod 2 = 0
(x 1 + x 2 + x 4 + x 6) mod 2 = 0
(x 2 + x 3 + x 4 + x 7) mod 2 = 0
を満たす冗長ビットx 5x 6x 7を付加した符号x 1x 2x 3x 4x 5x 6x 7を送信する。
受信符号y 1y 2y 3y 4y 5y 6y 7が、送信符号と高々1ビットしか異ならないとき、
(y 1 + y 2 + y 3 + y 5) mod 2
(y 1 + y 2 + y 4 + y 6) mod 2
(y 2 + y 3 + y 4 + y 7) mod 2
がそれぞれ0になるかどうかによって、正しい情報ビットx 1x 2x 3x 4x を求めることが可能である。
y 1y 2y 3y 4y 5y 6y 7 = 1100010であるとき、正しい情報ビットはどれか。
ここで、a mod b は、a を b で割った余りを表す。
ア | 0100 |
イ | 1000 |
ウ | 1100 |
エ | 1101 |
受信ビット列y 1y 2y 3y 4y 5y 6y 7= 1100010を式に代入し、その正誤を確認する。
値を代入した結果、式2と式3が誤りとなる。
したがって、式2と式3に共通に含まれるy 4が誤って伝えられた情報ビットであると特定できる。
それに伴いy 4=0→1となり正しい情報ビット列は1101となる。
よってエが正解である。