数学とクイズでくつろいで数学の部屋どこよりも遅い!センター試験数学 解説情報関係基礎 第2問 解説

どこよりも遅い!情報関係基礎 第2問 解説

最終更新日2011年6月1日

第2問

 第2問はド、レ、ミ、ソの4音を使った音列を0,1を用いたビット列で表現し伝えることについての問題である。曲の送信者と受信者は、音とビット列の共通の変換表を持っているものとする。

 問1.

変換表P
00
01
10
11

 まず、右の変換表Pを利用する場合を考える。この変換表を使って、音列をビット列に変換すると

“ドレミ”は 00,01,10 ⇒    000110
“ソミレ”は 11,10,01 ⇒ 2.111001

となる。また、変換したビット列を音列に復元すると

    011001 は 01,10,01       ⇒“レミレ”
1010010100 は 10,10,01,01,00 ⇒ 3.“ミミレレド”

となる。

曲A ドレミドレミソミレドレミレ

曲Aをビット列に変換することを考える。
 変換表では1音につき2ビット使うため、13音を含む曲Aをビット列に変換すると 2×13=26ビットとなる。

 曲Aの各音の出現回数は以下の通り

ド…3回、レ…5回、ミ…4回、ソ…1回

変換表を変えて、出現回数の多い音にビット数の短いビット列を割り当てると、全体のビット列の 長さを短縮することができる。

変換表Q
11
01
101

変換表Qを使い曲Aをビット列に変換すると、ビット列の長さは(音の出現回数)×(音のビット数) の和で求めることができるため、ビット列の長さは

3×2+5×1+4×2+1×3 = 22ビット

 変換表Qはビット列から音列を復元する際に問題が生じる。たとえばビット列0101は音列“レソ”、“ミミ”のどちらにも復元できる。また、ビット列は011101

0,11,101 ⇒b.“レドソ”
01,11,01 ⇒8.“ミドミ” のどちらにも復元できる。

変換表R
000
01
001

 一方、変換表Rを使うとき、

音列“ミド”は 01、000      ⇒6.01000に変換される。
ビット列001011は 001,01,1⇒a.“ソミレ” に復元される。

 変換表Rを使い、曲Aをビット列に変換するとビット列の長さは

3×3+5×1+4×2+1×3 = 25ビット

となる。


 問2.

曲B ドドレミドミレソミミ

曲Bをビット列に変換することを考える。この音列は10個の音からなるため、変換表Pを使うとビット列の長さは20ビットになる。この曲の4種類の音の出現回数を調べると以下の通りになる。

ド…3回、レ…2回、ミ…4回、ソ…1回

 音の出現回数の多い順に並べると ミ、ド、レ、ソとなる。この順にそれぞれビット列 1,01,000,001を割り当てる。曲Bをビット列に変換すると長さは

3×2+2×3+4×1+1×3 = 19ビット

となる。

曲C ソミレドレミソミレドレミレミソミソ

001
01
000

 曲Cについても同様に音の出現回数の多い順にビット列を割り当てることを考える。曲Cの4種類の音の出現回数を調べると

ド…2回、レ…5回、ミ…6回、ソ…4回

であるため、音の出現回数の多い順に並べるとミ、レ、ソ、ドとなる。この順にそれぞれビット列 1,01,000,001を割り当てると、変換表は右の1.の表になる。
 しかし、この変換表を使って、曲Cをビット列に変換すると、ビット列の長さは

2×3+5×2+6×1+4×3 = 34ビット

となり、変換表Pを使った場合と変わらない。


 問3.

4種類の音を使った曲について、音の出現回数が以下の条件を満たす時を考える。

ド…a回、レ…b回、ミ…c回、ソ…d回 ただし [条件1]a>b>c>d>0 が成り立つ。

この曲について変換表Pと出現回数に対応してビット列を割り当てた変換表R2の2個の変換表を使っていく。

変換表P
00
01
10
11
変換表R2
01
000
001

変換表Pを使って、この曲をビット列に変換すると、そのビット列の長さは

a×2+b×2+c×2+d×2 = 4. 2(a+b+c+d)ビット

となる。変換表R2を使って、この曲をビット列に変換すると、そのビット列の長さは

a×1+b×2+c×3+d×3 = 2. a+2b+3c+3dビット

となる。

 以上から2つのビット列の長さを比較すると以下のことが分かる。

Pを使うことで短いビット列に変換できる。 ⇔2(a+b+c+d)<a+2b+3c+3d
                     ⇔7. a−c−d<0

どちらの表でもビット列の長さは変わらない。⇔a−c−d=0
R2を使うことで短いビット列に変換できる。⇔a−c−d>0

 [条件1]でレの音の出現回数が全体の20%とする。ド、ミ、ソの音の出現回数の全体の割合をA%,C%,D%と表すと[条件1]より

A>20>C>D>0

が成り立つ。また割合の関係から

A+20+C+D=100

が成り立つ。これら2式から

A=80−C−D
 >80−20−20
 =40
 >C+D

つまりa>c+dが成り立つことが分かる。このことからa−c−d>0であることが分かるため、 [条件1]でレの音の出現回数が全体の20%である場合、変換表Pを使ったビット列に比べ変換表R2を使ったビット列の長さは2.短くなる。


数学とクイズでくつろいで数学の部屋どこよりも遅い!センター試験数学 解説情報関係基礎 第2問 解説