令和4年度 春期 応用情報技術者試験 午前 問題 問4

ハミング符号とは,データに冗長ビットを付加して,1ビットの誤りを訂正できるようにしたものである。ここでは,X1,X2,X3,X4X_1, X_2, X_3, X_4 の4ビットから成るデータに,3ビットの冗長ビット P3,P2,P1P_3, P_2, P_1 を付加したハミング符号 X1X2X3P3X4P2P1X_1 X_2 X_3 P_3 X_4 P_2 P_1 を考える。付加したビット P1,P2,P3P_1, P_2, P_3 は,それぞれ

X1⊕X3⊕X4⊕P1=0X_1 \oplus X_3 \oplus X_4 \oplus P_1 = 0
X1⊕X2⊕X4⊕P2=0X_1 \oplus X_2 \oplus X_4 \oplus P_2 = 0
X1⊕X2⊕X3⊕P3=0X_1 \oplus X_2 \oplus X_3 \oplus P_3 = 0

となるように決める。ここで,⊕\oplus は排他的論理和を表す。
ハミング符号 1110011 には 1 ビットの誤りが存在する。誤りビットを訂正したハミング符号はどれか。

解答・解説

正解: ア. 0110011

受信したハミング符号 1110011 を、問題文で示されたビットの並び X1X2X3P3X4P2P1X_1 X_2 X_3 P_3 X_4 P_2 P_1 に当てはめると、各ビットの値は以下のようになります。

  • X1=1X_1 = 1
  • X2=1X_2 = 1
  • X3=1X_3 = 1
  • P3=0P_3 = 0
  • X4=0X_4 = 0
  • P2=1P_2 = 1
  • P1=1P_1 = 1

これらの値を、問題文に示されている3つの確認式に代入して誤りをチェックします。

  1. 第1の式: X1⊕X3⊕X4⊕P1X_1 \oplus X_3 \oplus X_4 \oplus P_1
    =1⊕1⊕0⊕1=1= 1 \oplus 1 \oplus 0 \oplus 1 = 1 (結果が0にならないため、誤りあり)

  2. 第2の式: X1⊕X2⊕X4⊕P2X_1 \oplus X_2 \oplus X_4 \oplus P_2
    =1⊕1⊕0⊕1=1= 1 \oplus 1 \oplus 0 \oplus 1 = 1 (結果が0にならないため、誤りあり)

  3. 第3の式: X1⊕X2⊕X3⊕P3X_1 \oplus X_2 \oplus X_3 \oplus P_3
    =1⊕1⊕1⊕0=1= 1 \oplus 1 \oplus 1 \oplus 0 = 1 (結果が0にならないため、誤りあり)

計算の結果、3つの式すべてで誤りが検出されました。問題文より「1ビットの誤りが存在する」とあるため、これら3つの式すべてに含まれているビットが誤りであると特定できます。
3つの式すべてに共通して含まれているビットは X1X_1 のみです。

したがって、X1X_1(先頭のビット)が誤っていることがわかります。現在 X1=1X_1 = 1 となっているので、これを 0 に反転させて訂正します。
誤りを訂正した結果、正しいハミング符号は 0110011 となります。

各選択肢の解説

  • ア:正解です。誤りビットである X1X_1 を訂正した正しいハミング符号です。
  • イ:誤答です。左から2番目の X2X_2 を反転させています。X2X_2 は第1の式に含まれていないため、もし X2X_2 が誤りであれば第1の式は0になるはずであり、矛盾します。
  • ウ:誤答です。左から3番目の X3X_3 を反転させています。X3X_3 は第2の式に含まれていないため、もし X3X_3 が誤りであれば第2の式は0になるはずであり、矛盾します。
  • エ:誤答です。左から5番目の X4X_4 を反転させています。X4X_4 は第3の式に含まれていないため、もし X4X_4 が誤りであれば第3の式は0になるはずであり、矛盾します。

Spineチーム