0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[JavaScript]ゴルトンボードを検証するプログラムを作ってみた

Posted at

ゴルトンボードとは、二項分布から正規分布への近似を表現する確率シミュレーションです。
画像のように右か左に1/2の確率で落ちる釘を用意し、最終的にどこに落ちるかを検証します。

180px-Galtonbrett_mathe.png

このプログラムをJavaScriptで作成してみました!

const row = 10;
const ball = 10000;
let array = [];

// とりあえずボール一個の時
let posi = () => {
  var position = 0;
  for (let i = 0; i < row; i++) {
    let randomValue = Math.floor(Math.random() * 2);
    position += randomValue;
  }
  return position;
};

// positionをボール分配列で出す
for (let i = 0; i < ball; i++) {
  array.push(posi());
}

console.log({ array });

// arrayの出力結果をどこにボールがいくつ入っているかという配列に変える
let ans = Array(row).fill(0);

// row分調べる
for (let i = 0; i < row + 1; i++) {
  ans[i] = array.filter((n) => n === i).length;
}

console.log({ ans });

結果

{
    "ans": [
        12,
        97,
        476,
        1152,
        2103,
        2392,
        1995,
        1194,
        456,
        113,
        10
    ]
}

なんとなく正規分布に近い出力結果が得られました!
パチンコなんかもこの理論を応用して作られてそうですね!

つまり、釘の数からパチンコの台が当たる期待値なんかも調べられそうです!

もっと良いコードを思いついた人などがいたらぜひコメントください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?