情報理論と符号の基礎

LZ77方式で圧縮したデータを復元する。データは「文字A」「文字B」「(距離2、長さ5)」の順に並んでいる。(距離d、長さL)は、「復元済みの文字列の末尾からd文字前の文字を末尾に写す」ことを1文字ずつL回繰り返すことを表す。復元した文字列はどれか。

  1. AABAB
  2. BABABABA
  3. CABAAAAA
答えと解説を見る

正解:B. ABABABA

AとBを並べた「AB」から始めます。2文字前のAを写して「ABA」、次は2文字前になったBを写して「ABAB」というように、1文字写すたびに写し元も1つ進むので、5文字写すと「ABABABA」の7文字になります。このように長さが距離より長くてもよく、写したばかりの文字を写し元に使うことで、短いパターンの長い繰り返しを1つの組で表せます。

  • A. 写し元を、最初にあった2文字だけと考えています。1文字ずつ写すので、写した文字も次の写し元になります。
  • B. 正しい。AB に続けて A、B、A、B、A を写し、7文字になります。
  • C. 同じAを5回写していますが、1文字写すごとに末尾が進むので、2文字前の文字はAとBが交互になります。
この分野を解く 分野ページへ

情報理論と符号の基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

情報理論と符号の基礎のほかの問題

  1. データを圧縮するとき、非可逆圧縮ではなく可逆圧縮を使わなければならないものはどれか。
  2. データのビット列に、1の個数が偶数になるように偶数パリティのビットを1つ付けて送る。受信側で1の個数を調べる検査の性質として、正しいものはどれか。
  3. 4ビットのデータ4行について、各行の右端に行の偶数パリティのビットを、最後に各列の偶数パリティを並べた行を付けて送った(垂直水平パリティ)。受信したビットは、1行目 1011 1、2行目 0100 0、3行目 1100 0、4行目 0101 0、パリティの行 0100 であった(各行の右端の1ビットが行のパリティ)。1ビットだけが誤っているとき、誤ったビットの位置はどれか。
  4. データを1バイトずつ足し合わせ、和の下位8ビットを検査値(チェックサム)として付けて送る。この検査で検出できない誤りはどれか。
  5. データ 1101 に、生成多項式 x³ + x + 1(ビット列 1011)のCRCの検査ビット3ビットを付ける。検査ビットは、データの後ろに0を3つ付けた 1101000 を 1011 で割った余りで、割り算では引き算の代わりに排他的論理和を使う。検査ビットはどれか。