令和3年度 秋期 プロジェクトマネージャ試験 データベーススペシャリスト試験 エンベデッドシステムスペシャリスト試験 システム監査技術者試験 情報処理安全確保支援士試験 午前Ⅰ 問題【共通】 問2

図のように 16 ビットのデータを 4×44 \times 4 の正方形状に並べ,行と列にパリティビットを付加することによって何ビットまでの誤りを訂正できるか。ここで,図の網掛け部分はパリティビットを表す。

16ビットのデータに行と列のパリティビットを付加した状態
図の説明テキスト

16ビットのデータに行と列のパリティビットを付加した状態を示す表。5列目と5行目が網掛け(パリティビット)になっている。右下(5行5列目)のセルは枠線がなく空白。

| 1 | 0 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 |
| 0 | 0 | 0 | 1 | |

解答・解説

正解: ア. 1

図に示されているのは、16ビットのデータを 4×44 \times 4 の正方形状に並べ、各行と各列に対してパリティビットを付加する「水平垂直パリティチェック(2次元パリティ)」の構成です。図の各行および各列を確認すると、元のデータとパリティビットを合わせた1の数がすべて偶数になるように設定されている(偶数パリティ)ことがわかります。

  • 1ビットの誤りの場合
    データ中の1ビットに誤り(0と1の反転)が生じると、そのビットが含まれる行のパリティと列のパリティの両方に矛盾が生じます。このとき、パリティエラーが起きた行と列の交点を求めることで、誤ったビットの位置を完全に特定できます。位置が特定できれば、そのビットの値を反転させることで誤りを訂正することが可能です。

  • 2ビット以上の誤りの場合
    たとえば同じ行の2ビットに誤りが生じた場合、その行に含まれる1の増減は相殺されるため、行のパリティではエラーが検出されません。列のパリティではエラーが検出されますが、どの行のデータが誤っているかを特定できないため、訂正は不可能です。また、異なる行と列で2ビットの誤りがあった場合も交点の候補が複数できてしまい、一意に特定できません。

以上より、この方式で確実に訂正できる誤りは 1ビット までとなります。

各選択肢の解説

  • ア (1): 正解。行パリティと列パリティの矛盾する交点から、1ビットの誤り位置を特定して訂正できます。
  • イ (2): 2ビットの誤りは、誤りの検出ができる場合はありますが、位置を特定できないため訂正はできません。
  • ウ (3): 3ビットの誤りは訂正できません。
  • エ (4): 4ビットの誤りは訂正できません(例として長方形の4頂点のビットが同時に誤った場合、行・列のパリティがすべて合致してしまい、誤りの検出自体ができなくなります)。

Spineチーム