ポアソン分布を使用して、HashMapのリンクリスト変数ツリーのしきい値が8である理由を説明します

序文

一部のネチズンは、「インタビューJava-コレクションのHashMapとConcurrentHashMap」の記事で、なぜ8であるかについて、ポアソン分布に準拠する文を追加できると指摘しました。ですから、ポアソン分布について知った後、それはネチズンが言ったことと確かに一致していました。そして、記事の欠陥を指摘してくれたネチズンにとても感謝しています。次のコンテンツでは、Rutabagaがポアソン分布を使用して、HashMapのリンクリスト変数ツリーのしきい値が8である理由を示します

[外部リンク画像の転送に失敗しました。元のサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-2tJX8zG8-1616061099950)(https://imgkr2.cn-bj.ufileos。 com / 403a98a3-3c94-44ee -87b7-0047fd51ba2f.png?UCloudPublicKey = TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature = 96WjXByLTwiWGttymrgxkK4QHxI%253D&Expires = 1616140124)]

ポアソン分布

まず、ポアソン分布とは何ですか?

ウィキペディアの公式説明:

ポアソン分布(フランス語:loi de Poisson、英語:ポアソン分布)は、ポアソン分布、パッソン分布、ボアソン分布、ブアソン分布、プアソン分布、ポアソン分布、ポアソン分布、パッソン分布とも呼ばれます。少数のポアソン法則は離散的です。統計と確率で一般的に見られる確率分布。1838年にフランスの数学者SimonDenisPoissonによって公開されました。
ポアソン分布は、単位時間あたりに発生するランダムイベントの数の確率分布を記述するのに適しています。たとえば、サービス施設が一定期間に受信したサービスリクエストの数、電話交換機が受信した呼び出しの数、バスステーションで待機しているゲストの数、マシンの障害の数、自然の数災害、DNA配列の変異数、放射能核の崩壊数、レーザーの光子数の分布など。

ポアソン分布の確率質量関数は次のとおりです。

インターネットから撮った写真

要約すると、簡単に言えば、ポアソン分布は、単位時間あたりに発生する独立したイベントの数を表します。

簡単な例を挙げて、みんなにそれをよく知ってもらいましょう。

たとえば、1時間に平均3人の赤ちゃんが病院で生まれますが、次の1時間に何人が生まれますか?

出生は6人か、まったくないかもしれません。これは私たちが知る方法がないことです。

ポアソン分布を使用して表す場合:等号の左側で、Pは確率を表し、Nは特定の関数関係を表し、tは時間を表し、nは数を表し、3人の赤ちゃんが生まれる確率を表します。 1時間はP(N(1)= 3)として表されます。等号の右側にあるλは、イベントの頻度を表します。

次の2時間で、赤ちゃんが生まれない確率は0.25%であり、これは基本的に不可能です。

インターネットから撮った写真

次の1時間に少なくとも2人の赤ちゃんが生まれる確率は80%です。

インターネットから撮った写真

ポアソン分布のグラフはおおまかに次のようになります。

[外部リンク画像の転送に失敗しました。元のサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-smN3I4F4-1616061099955)(https://imgkr2.cn-bj.ufileos。 com / 94894de3-d31e-4a67 -a058-03ccfebb3c28.gif?UCloudPublicKey = TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature = ZpxhjsJUu%252BRb4cXaIqeFPnlrMMo%253D&Expires = 161613984

頻度の近くで、イベントの発生確率が最も高く、その後、両側に対称的に減少する、つまり、イベントが大きくなったり小さくなったりする可能性が低いことがわかります。1時間に3人の赤ちゃんが生まれますが、これが最も可能性の高い結果です。出生が多かれ少なかれ、発生する可能性は低くなります。

例を読んだ後、ポアソン分布の一般的な理解が得られるはずです。次に、ポアソン分布を使用して、HashMapのリンクリストの変数ツリーを分析します。

HashMapのリンクリスト変数ツリーのしきい値が8である理由

ポアソン分布によると:単位時間内の独立したイベントの数。

HashMapのキー衝突問題、各キー衝突は独立したイベントと見なすことができます。前回または次回のキーの衝突があるかどうかは関係ありません。

インターネットから撮った写真

したがって、ポアソン分布で表現してみてください。Pは確率を表し、Nは特定の関数関係を表し、tは時間を表し、nは量を表し、1秒あたりに送信されるキーの衝突の数はkであり、P(N( 1)= k)。等号の右側にあるλは、イベントの頻度を表します。キーが衝突するかどうかの確率は0.5です。
[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-5x9ZOxEr-1616061099956)(https://imgkr2.cn-bj.ufileos。 com / ce2966ee-35a8-48f6)-b16b-a9fa528fe5e1.png?UCloudPublicKey = TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature = ze7bn2BE0%252Bc4yYvTyhuTx9pInU8%253D

  • e ^ -0.5 = 0.6065

対応する値をポアソン分布式に代入します。

P(N(1)= k)= 0.6065 ∗(0 .5 k)/ k!P(N(1)= k)= 0.6065 *(0.5 ^ k)/ k!P N 1 =k =0 6 0 6 50 5k/k

  • k = 0の場合、P = 0.6065
  • k = 1の場合、p = 0.3032
  • k = 2の場合、p = 0.0758
  • k = 3の場合、p = 0.0126
  • k = 4の場合、p = 0.0015
  • k = 5の場合、p = 0.0001
  • k = 6の場合、p = 0.000013
  • k = 7の場合、p = 0.0000009
  • k = 8の場合、p = 0.000000006
  • k = 9の場合、p = 0.000000003

上記の結果は少しおなじみですか。

HashMapの注釈を比較します。

    * 0:    0.60653066
     * 1:    0.30326533
     * 2:    0.07581633
     * 3:    0.01263606
     * 4:    0.00157952
     * 5:    0.00015795
     * 6:    0.00001316
     * 7:    0.00000094
     * 8:    0.00000006
     * more: less than 1 in ten million

k = 9の場合、つまり衝突回数が9回の場合、確率は100分の3であり、衝突の確率は無限にゼロに近くなります。

9に設定すると、衝突がほとんど発生しないことを意味します。つまり、この時点でリンクリストの長さは8であり、衝突はリンクリストからツリーに変わります。ただし、確率が小さすぎるため、ツリーに変わることはありません。したがって、9に設定する必要はありません。

これが、リンクリスト変数ツリーのしきい値が8である理由です。

参照

  • ウィキペディア
  • Ruan Yifengのウェブログ-「ポアソン分布と指数分布:10分間のチュートリアル」

トーク

これを見ていただきありがとうございます。記事がうまく書かれていると思われる場合は、それに注意を払い、共有してください(私にとって非常に便利です)。
記事を改善する必要があるとお考えの場合は、ご提案をお待ちしております。メッセージを残してください。
あなたが何かを見たいのなら、私はあなたのメッセージを楽しみにしています。
あなたのサポートとサポートは私の創造の最大の動機です!

おすすめ

転載: blog.csdn.net/Aaron_Tang_/article/details/114986653