確率統計確率統計
ベルヌーイ分布サンプリング; Bernoulli Distribution Sampling

概要
ベルヌーイ分布とは以下の式で表現される確率分布。確率\(p\)で1(成功)になり、確率\(1-p\)で0(失敗)になるベルヌーイ試行を意味する。

$$ P[X=k] = \begin{cases} 1 - p & \quad k = 0 \\ p & \quad k=1 \end{cases} $$
ベルヌーイ分布

ソースコード

namespace ExRandom.Discrete {
    public class BernoulliRandom : Random{
        readonly MT19937 mt;
        readonly double thr;
        
        public BernoulliRandom(MT19937 mt, double thr = 0.5) {
            if(mt == null) {
                throw new ArgumentNullException();
            }

            if(!(thr >= 0) || thr > 1) {
                throw new ArgumentException();
            }

            this.mt = mt;
            this.thr = thr;
        }

        public BernoulliRandom(MT19937 mt, decimal thr) : this(mt, (double)thr){
        }

        public override int Next() {
            return NextBool() ? 1 : 0;
        }

        public bool NextBool() {
            return mt.NextDouble_OpenInterval1() < thr;
        }
    }
}

関連項目
メルセンヌ・ツイスタ
各種確率分布サンプリング基本クラス

ライブラリライブラリ
確率統計確率統計
線形代数線形代数
幾何学幾何学
最適化最適化
微分方程式微分方程式
画像処理画像処理
補間補間
機械学習機械学習
クラスタリングクラスタリング
パズルゲーム・パズル
未分類未分類