DBデータベーススペシャリスト試験 午前Ⅰ

平成30年度春期 データベーススペシャリスト 午前Ⅰ 問1

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

ハミング符号とは,データに冗長ビットを付加して,1 ビットの誤りを訂正できるようにしたものである。ここでは,X₁,X₂,X₃,X₄ の 4 ビットから成るデータに,3 ビットの冗長ビット P₃,P₂,P₁ を付加したハミング符号 X₁ X₂ X₃ P₃ X₄ P₂ P₁ を考える。付加したビット P₁,P₂,P₃ は,それぞれ となるように決める。ここで,⊕ は排他的論理和を表す。 ハミング符号 1110011 には 1 ビットの誤りが存在する。誤りビットを訂正したハミング符号はどれか。
数式。冗長ビットを決める三つの式。X₁⊕X₃⊕X₄⊕P₁=0、X₁⊕X₂⊕X₄⊕P₂=0、X₁⊕X₂⊕X₃⊕P₃=0(⊕は排他的論理和)。
数式。冗長ビットを決める三つの式。X₁⊕X₃⊕X₄⊕P₁=0、X₁⊕X₂⊕X₄⊕P₂=0、X₁⊕X₂⊕X₃⊕P₃=0(⊕は排他的論理和)。

選択肢

  1. ア
    0110011
  2. イ
    1010011
  3. ウ
    1100011
  4. エ
    1110111
解き方のヒントを見る

パリティ検査の対応関係を整理

誤り訂正の問題では、各検査がどのビットを対象にしているかを問題の定義どおりに把握することが出発点です。検査結果と対象ビットの対応を自分で整理し、結論を定義に照らして確かめましょう。

この問題で問われていること

確認すべき観点は一つ、「どの検査がどのビット位置を含んでいるか」という対応関係です。一般的な覚え方に頼らず、問題で示された検査の定義や並び順をそのまま読み取り、その対応に基づいて判断してください。

視点

パリティによる誤り検出・訂正では、複数の検査がそれぞれ異なるビットの組合せを受け持ちます。ビットの番号付けや検査の並べ方は教材や問題ごとに異なることがあります。そのため、覚えた型をそのまま当てはめず、目の前の問題で定められた対応関係を正確に読み取ることが重要です。

確認ポイント

  • 各検査が対象とするビットの範囲を、問題の定義に沿って書き出したか
  • ビット位置の数え方(どちらの端から数えるか、番号の起点)を問題の記述で確認したか
  • 導いた結論が、書き出した検査と対象ビットの対応関係と矛盾していないかを見直したか
正解と解説を見る

正解

ア

解説

受信符号1110011では3つの検査式がすべて成り立ちません。3式すべてに含まれるのはX₁だけなので、X₁を1から0に訂正した0110011(ア)が正解です。

理由

1110011(7ビット)を並び順X₁X₂X₃P₃X₄P₂P₁に当てはめると、X₁=1、X₂=1、X₃=1、P₃=0、X₄=0、P₂=1、P₁=1になります。検査式を計算すると、P₁の式はX₁⊕X₃⊕X₄⊕P₁=1⊕1⊕0⊕1=1、P₂の式はX₁⊕X₂⊕X₄⊕P₂=1⊕1⊕0⊕1=1、P₃の式はX₁⊕X₂⊕X₃⊕P₃=1⊕1⊕1⊕0=1です。3式とも0にならないので、誤りは3式すべてに含まれるビットにあります。それはX₁だけです。X₁を反転した0110011で検算すると、0⊕1⊕0⊕1=0、0⊕1⊕0⊕1=0、0⊕1⊕1⊕0=0となり、3式とも成り立ちます。

比較

各ビットが含まれる式は、X₁が3式すべて、X₂がP₂とP₃の式、X₃がP₁とP₃の式、X₄がP₁とP₂の式です。P₁〜P₃はそれぞれ自分の式1つにしか含まれません。イ(X₂を反転)、ウ(X₃を反転)、エ(X₄を反転)は、どれも反転したビットを含まない式が1つ残るため、その式が1のまま成り立ちません。1ビット訂正後にすべての検査式が成り立つのはアだけです。

選択肢ア(正解)

これは正解だよ。1110011をX₁=1、X₂=1、X₃=1、P₃=0、X₄=0、P₂=1、P₁=1と対応付けると、3つの検査式の左辺はすべて1になり、どの式も成り立たないよ。3式すべてに含まれるビットはX₁だけなので、X₁を1から0に反転した0110011が訂正結果になるね。検算すると3式とも0になるよ。

選択肢イ

これは不正解だよ。1010011は、2ビット目のX₂を1から0に反転したものだね。X₂が含まれるのはP₂とP₃の式だけなので、この符号で検算するとその2式は0になるよ。でも、P₁の式はX₁⊕X₃⊕X₄⊕P₁=1⊕1⊕0⊕1=1のままで成り立たないから、正しい訂正結果とはいえないよ。

選択肢ウ

これは不正解だよ。1100011は、3ビット目のX₃を1から0に反転したものだね。X₃が含まれるのはP₁とP₃の式だけなので、その2式は0になるよ。でも、P₂の式はX₁⊕X₂⊕X₄⊕P₂=1⊕1⊕0⊕1=1のままで成り立たないから、1ビットの誤りを正しく訂正した符号ではないよ。

選択肢エ

これは不正解だよ。1110111は、5ビット目のX₄を0から1に反転したものだね。X₄が含まれるのはP₁とP₂の式だけなので、その2式は0になるよ。でも、P₃の式はX₁⊕X₂⊕X₃⊕P₃=1⊕1⊕1⊕0=1のままで成り立たないから、正しい訂正結果ではないよ。

学習のポイント

検査式に各ビットがどう含まれているかを表で整理し、成り立たない式の組合せから誤りの位置を特定する手順を身に付けましょう。

出典:独立行政法人 情報処理推進機構(IPA)平成30年度春期 データベーススペシャリスト試験 午前Ⅰ 問1(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針