ホームページ  >  記事  >  バックエンド開発  >  事前に定義された合計を使用して乱数を生成し、均等な確率分布を確保するにはどうすればよいですか?

事前に定義された合計を使用して乱数を生成し、均等な確率分布を確保するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 16:22:47105ブラウズ

How to Generate Random Numbers with a Predefined Sum and Ensure an Equal Probability Distribution?

事前定義された合計による乱数の生成

はじめに: 等しい確率分布

合計が所定の値になるように乱数を生成することは、興味深い課題を引き起こしますコンピュータープログラミングで。シンプルなアプローチで十分であるように見えますが、多くの場合、特定の数字が選択される可能性が高くなるバイアスが生じます。この記事では、考えられるすべての組み合わせに対して均等な確率分布を保証する洗練されたソリューションについて詳しく説明します。

Constrained Sum Sample Function

提供されるソリューションは、constrained_sum_sample_pos 関数に依存して、考えられる結果の均一な分布を実現します。この関数は、合計が目標値 (合計) になる正の整数 (n) のリストを生成します。この関数の主な特徴は、各組み合わせが選択される確率が等しいことです。

一様な分散とカスタマイズ

この関数の強みは、考えられるすべての組み合わせが等しい可能性を保証する数学的基礎にあります。さらに、7 つの数値の合計が 100 になるなど、他のシナリオにも簡単に適応できます。

実装

関数の Python 実装は以下のとおりです。

グラフィック図

@FM のグラフィック表現により、関数の動作を明確に理解できます。

結論

この洗練されたソリューションは、以下に基づいています。制約付き合計サンプリングは、事前定義された値に合計される乱数を生成するための堅牢で不偏な方法を提供します。考えられるすべての結果に対して等しい確率が保証され、さまざまなプログラミング シナリオにとって信頼できるツールになります。

以上が事前に定義された合計を使用して乱数を生成し、均等な確率分布を確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。