Java における乱数生成器とのつき合い方 / #JJUG CCC 2019 fall に登壇してきました
一般公募の枠で CfP 出してあえなくリジェクトされたテーマを、スポンサー枠で勝手に敗者復活させてお話してきました。
一般公募の枠で CfP 出してあえなくリジェクトされたテーマを、スポンサー枠で勝手に敗者復活させてお話してきました。
java.util.Random#nextInt(int bound) 相当の乱数生成を高速化しました、というお話です。
今回は commons-math3 の BetaDistribution#sample() より 最大で 4 倍以上速い ベータ分布に従う乱数生成器を実装しましたよ、というお話です。
TL;DR: ガンマ分布に従う乱数生成器を Java で実装し、Commons Math の実装と比較して 最大で約 16 倍 (任意の形状パラメータの乱数を生成する場合) の速度効率を達成しましたよ、というお話です。
fast-rng に実装した 指数分布 (exponential distribution) に従う乱数生成器についてのメモです。
TL;DR: Java の java.util.Random#nextGaussian() や java.util.concurrent.ThreadLocalRandom のそれよりも 3 倍 以上速い正規乱数生成器 (正規分布に従う乱数生成器) を実装してみたよ、というお話です。
「一様乱数を足し合わせて平均値をとった値は正規分布っぽくなるよ」というツイートを見かけて、「それって統計的にどうなんだろう?」という疑問が湧いたので検証してみました。