2015年12月17日、Google Chrome の JavaScript エンジン(処理系)である V8 の公式ブログにて、 JavaScript の標準的な乱数生成APIである Math.random() の背後で使われているアルゴリズムの変更がアナウンスされました。 Math.random() 関数は JavaScript を利用する際には比較的よく使われる関数ですので、親しみのある方も多いのではないかと思います。 新たなバグの発見や、従来より優秀なアルゴリズムの発見によってアルゴリズムが変更されること自体はそれほど珍しくはないものの、 技術的には枯れていると思われる Math.random() のような基本的な処理の背後のアルゴリズムが変更されたことに驚きを感じる方も少なくないかと思いますが、 それ以上に注目すべきはその変更後のアルゴリズムです。 実際に採用されたアルゴリズムの原
![Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理](https://cdn-ak-scissors.b.st-hatena.com/image/square/6f9bcb5497df4a93a32d2ed84a5bcfd375819f75/height=288;version=1;width=512/https%3A%2F%2Fblog.visvirial.com%2Fwp-content%2Fuploads%2F2016%2F01%2Fxorshift_eyecatch.png)