令和4年度 春期 午前Ⅰ 問題【共通】 問1

ハミング符号とは,データに冗長ビットを付加して,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

問題文で与えられたハミング符号の構成と条件式をもとに、誤りビットを特定し訂正します。

誤りビットの特定

受信したハミング符号は 11100111110011 であり、各ビットは左から順に 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つの条件式に代入し、結果を確認します(⊕\oplus は排他的論理和であり、1の数が奇数なら1、偶数なら0となります)。

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

すべての式の結果が 00 にならず、11 となりました。これは、すべての式に含まれているビットに誤りがあることを示しています。
3つの式のすべてに含まれている共通の変数は X1X_1 のみです。したがって、誤っているのは先頭ビットの X1X_1 だと特定できます。

データの訂正

現在の X1X_1 は 11 なので、正しい値は 00 になります。先頭ビットを 00 に訂正すると、ハミング符号は 01100110110011 となります。
したがって、正解は ア です。

各選択肢の解説

  • ア: 正解。X1X_1 を 00 に訂正した正しいハミング符号です。
  • イ: 2ビット目の X2X_2 を 00 に訂正しています。もし X2X_2 が誤りであれば、式1には X2X_2 が含まれていないため式1の結果は 00 になるはずですが、実際には式1もエラーを示しているため不適切です。
  • ウ: 3ビット目の X3X_3 を 00 に訂正しています。もし X3X_3 が誤りであれば、式2には X3X_3 が含まれていないため式2の結果は 00 になるはずですが、実際には式2もエラーを示しているため不適切です。
  • エ: 5ビット目の X4X_4 を 11 に訂正しています。もし X4X_4 が誤りであれば、式3には X4X_4 が含まれていないため式3の結果は 00 になるはずですが、実際には式3もエラーを示しているため不適切です。

Spineチーム