ご褒美

ここ数年の話なのですが,何かを成し遂げたり,何かの節目だったりすると,
頑張った自分に対して,何かしらのご褒美を用意するようにしています。

今回は,半年間授業を頑張った自分へのご褒美として,
こんなものを買っちゃいました!

ヘルスメーターです

ヘルスメーターです!

むちゃくちゃ安かった上に,本体は B5 サイズと,その小柄なボディに惚れて即購入!

体脂肪を測ったりとか,高度な機能はまったくありませんが,
場所は取らないし,一番知りたい体重は教えてくれるし,
個人的にはなかなか気に入ってます!

とりあえず,目指すは現状維持!!(欲を言えば,2 kg 減)

————— キリトリセン 8X —————

ご褒美に浮かれてばかりじゃいられない,ってことで,
第 2 章の範囲で苦手な確率の問題を紹介ー!

[問題]
キー値の分布が 1 ~ 1,000,000 の範囲で一様にランダムであるデータ 5 個を,大きさ 10 のハッシュ表に登録する場合,衝突の起こる確率はおよそいくらか。ここで,ハッシュ値はキー値をハッシュ表の大きさで割った余りを用いる。

 (ア) 0.2   (イ) 0.5   (ウ) 0.7   (エ) 0.9

この問題は,まず,衝突の起こらない確率について考え,
そこから以下の式を元に,衝突の起こる確率を求めて,問題を解いていきます。

    1 – 衝突の起こらない確率 = 衝突の起こる確率 …(a)

ちなみに,ハッシュ値を求める場合,
必ず,衝突が起こるか起こらないかのどちらかの場合になるため,

   衝突が起こる場合 + 衝突の起こらない場合 = すべての場合(= 1)

が成り立つことから,(a) の式を導くことができます。

なお,問題文の赤色の部分から,ハッシュ表のハッシュ値は,
キー値をハッシュ表の大きさ 10 で割った余りなので,

   キー値 / 10 の 余り = 0 ~ 9 の 10 個の値のいずれか

ということが分かります。

続いて,5 つのデータにおける,衝突の起こらない確率ですが,
これは,それぞれの場合についての可能性を順番に考えていけば OK です。

 ・ 最初(1 つ目)のデータの場合
  → まだ,ハッシュ表にはデータが 1 つも格納されていないので,
    最初のデータのハッシュ値は 0 ~ 9 のどの値でも構いません。
    よって,衝突が起こらない可能性は 1(10 分 の10)となります。

 ・ 2 つ目のデータの場合
  → ハッシュ表には,すでに 1 つのデータが格納されているので,
    2 つ目のデータのハッシュ値は,最初のデータのハッシュ値以外の
    9 個の値のうちのいずれか,でなければなりません。
    つまり,衝突が起こらない可能性は 0.9(10 分の 9)となります。

 ・ 3 つ目のデータの場合
  → 2 つ目のデータと同様に,すでに 2 つのデータがハッシュ表に格納されているので,
    3 つ目のデータのハッシュ値は,8 個の値のうちのいずれか,になります。
    したがって,衝突が起こらない可能性は 0.8(10 分の 8)です。

 ・ 4 つ目のデータ,5 つ目のデータの場合
  → 2 つめ以降にならって,それぞれの衝突の起こらない可能性を考えると,
    4 つ目のデータの場合は 0.7(10 分の 7),
    5 つ目のデータの場合は 0.6(10 分の 6)となります。

以上の可能性は,同時には起こらないので,

   1 × 0.9 × 0.8 × 0.7 × 0.6 = 0.3024(衝突の起こらない確率)

となります。

これを (a) の式に当てはめると,1 – 0.3024 ≒ 0.7 となり,
正解は (ウ) であることが分かります。

comments