2013/04/09

Recent entries from same category

  1. Zenn で Twitter bot 作成入門を書いた。
  2. プログラマーのための新しい情報共有コミュニティ Zenn で本を書いてみた。
  3. Windows ユーザは cmd.exe で生きるべき 2020年版
  4. Let's Encrypt を簡単操作できる CLI、Lego が MyDNS に対応した。
  5. golang でメモ専用コマンド「memo」作った。

乱数生成アルゴリズムは数ありますが、省リソースで循環周期の長く、生成速度が速いアルゴリズムとして Mersenne Twister が候補として上げられます。
mruby の Random でも採用されていましたが、先日ライセンスが変更され MIT への書き換えが可能となりました。ありがたいですね。
Mersenne Twisterの商用について

2001年4月6日まで、MTはGNU Public Licenseの元に配布していましたが、 多くのユーザーから「販売用プログラムに組み込むことができない」という お便りをいただきました。

松本-西村はMTを販売用プログラムにも自由に使っていただこうと決めています。 そのため、GNU Public Licenseよりも条件のゆるい"BSD License" に準拠したLicenseの元に2002年版コードmt19937ar.c, mt19937ar-cok.cは配布されています。

また、MITライセンスに書き換えて配布してくださっても結構です。

http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/license.html
組み込み用途での利用障壁がなくなり、商用利用も可能となりました。

ちなみに Mersenne Twister は Vim script にも既に移植されていて
vim-funlib/autoload/random/mt19937ar.vim at master - ynkdir/vim-funlib - GitHub
https://github.com/ynkdir/vim-funlib/blob/master/autoload/random/mt19937ar.vim
簡単に乱数を得る事が出来ます。変態ですね。
call random#mt19937ar#seed(123)
echo random#mt19937ar#random()
Posted at by | Edit