私は最近、Webページで実行する次のコードを実行してテストしました。私のウェブページにアクセスする人それぞれについて、このコードはページを見る前に実行され、その50%がランダムに別のウェブページを見ることができます。コンパイルして1000回実行した後、1,2,3,4,5が生成されていることを確認しました(下の図を参照してください)。約50%の時間と6,7,8,9,10が50%生成される。したがって、私のコードに基づいて、1,2,3,4、または5のいずれかを持つ人は、ifステートメントの基準を満たすことが期待されます。乱数ジェネレータがバイアスのある結果を生成する - 明確な理由がない
var rando = Math.floor((Math.random() * 10) + 1);
if(rando < 6){
//execute unrelated jquery code here to modify webpage
}
残念ながら、ウェブページ上の実行は計画通りに機能しませんでした。私のウェブページに250人のユニークビジターのうち、100人がifステートメントを起動し、150人がそうしなかった。これは明らかにランダムチャンスの結果である可能性がありますが、おそらく私が紛失しているエラーの原因になりそうです。上で述べたように、このコードをテストしたところ、この特定の問題をスタック交換で研究していると予想されていたディストリビューションが生成されていて、乱数ジェネレータに偏りがあるように見えますが、コードがその問題にぶつかる。どのような助けや洞察力があれば幸いです。
テストその250倍。結果は何ですか? – rassar
一部の人、ブラウザ、ボットがJavaScriptを無効にしている可能性がありますので、デフォルトではifを実行できません。これはスキュー/バイアスの一部を説明することができます。 – Muskie