2012-04-28 11 views
4

私はコンピュータサイエンスを勉強して以来、乱数が登場するたびに常にメルセンヌツイスターです。決して質問さえありません。ちょうど、メルセンヌツイスターを使用してください。Math.randomはどのようなアルゴリズムを使用していますか?

JavaScriptのMath.randomは何を使用していますか?それは明らかにメルセヌンツイスターを使用するべきであるように思われる、それは明らかにピアのないものだが、それがそうであるかどうかの参照を見つけることができない。

誰かが頼りにしていること、および/またはMTでない理由を知っている人はいますか?

+0

量子計算は、より自然な乱数を生成するアルゴリズムを提供します。 [理論的に] – KBN

答えて

8

実装固有の可能性が高いです。 ECMAScript specificationはアルゴリズムを強制するものではないので、LinuxのJavaScript実装では/dev/urandomをよく使うかもしれません。

+0

JavaScriptの実装が複数あることは知りませんでしたか?私はウェブ開発にあまり経験はありません。私はすべてのJavaScriptが同じだったという印象を受けました。 – Aerovistae

+0

@Aerovistae JavaScriptは仕様に準拠しており、仕様では乱数に使用するアルゴリズムを明示的に指定していません。 Chromeで使用される[V8エンジン](http://code.google.com/p/v8/)や[SpiderMonkey](https://developer.mozilla.org/)など多くの言語の実装があります。 en/SpiderMonkey)を使用しています。また、JavaScriptはブラウザに限定されない汎用言語であるため、[node.js](http://nodejs.org/)などのフレームワークやデータベースでさえ、サーバー側でも実行できます[MongoDB](http://mongodb.org)などのサーバー。 – rid

関連する問題