はじめに
Random Number Genに色々なモードがあるのでまとめてみた
参照元
機能
Seed値から疑似乱数のリストを生成する
入力 & パラメータ
パラメータ | 説明 |
---|---|
Int/Float | 生成する数値型 |
Size | 生成する乱数の数 |
Seed | 乱数生成の種。Floatも可能 |
Int/Float Low | 生成する乱数の下限値 |
Int/Float High | 生成する乱数の上限値 |
Weights | Intモード時。不均一な分布を生成するのに使用する |
Unique | Intモード時。重複のない数を出力する。サイズはHigh – Low + 1に制限される |
Distribution | Floatモード時は多くの分布関数が選択できる。Beta、Binomial、Chi_squre、Exponential、F-Distrib、Gamma、Geometric、Gumbel、Laplace、Logistic、Log Normal、Log Series、Negative Binomial、Noncentred Chi-Square、Normal、Pareto、Poisson、Power、RayLeigh、Standard Cauchy、Standard Gamma、Standard T、Triangular、Uniform、Vonmises、Wald、Weibull、Zipf |
Alpha | 分布パラメータ。Alpha > 0** |
Beta | 2番めの分布パラメータ。 Beta > 00** |
t | 正規化された分布パラメータ。 0 < t < 1 |
分布関数の詳細はScipy random reference
出力
リストまたはネストされたリスト
注意
SeedパラメータにFloatを与えるのは型破りに思えるかもしれません。もし不快に感じるようであれば FloatToIntノードでシードパラメータを渡す前に浮動小数を整数に変換してください。
Float Low と Float Highの注意点
分布関数(Uniform、Beta、Triangularを除く)が出力する値は要求された範囲にマッピングされます。このマッピングによってFloat HighとFloat Lowに一致する値が少なくとも1つずつ存在します。
Alpha値とBeta値に関する注意点
- “F分布”の最小Beta値は 0.025
- “Pereto”分布の有効な最小Alpha値は0.01
- “Standard T”分布の有効な最小Alpha値は0.017
- “Triangular”分布の”Alpha”パラメータは”Float Low”よりも大きく”Float High”よりも小さい
- “Weibull”分布の有効な最小Alpha値は 0.0028
- “Zipf”分布の有効な最小Alpha値は1.0より大きくなる
例
“Weighted”分布を使用すると、出現確率を制御できる。らしいが現在は使えないみたいだ。
- 赤枠で囲んでいる所が重みを設定している箇所
- Random Num Genは0, 1, 2の3つの整数いずれかを生成する
- List Inputでは 1, 5, 1の重みを生成。下記のような分布となる
- 1/7 の確率で 0
- 5/7 の確率で 1
- 1/7 の確率で 2
- しかし Weightを接続すると Random Num Genが赤くなり出力されなくなる。(2020年4月現在)
- こちらも上記同様に Weighted 説明用の画像で現状動作しないが、形状の選択を乱数でするという点が面白かったため真似て作成。(Weightedは2020年4月現在エラーとなり使えなかった)
分布関数と種類
- 上から順に
- カイ二乗 Chi squared
- 指数 Expotential
- F F Distrib
- ガンマ Gamma
- 幾何 Geometric
この他にも多数分布関数がある
Unique について
- Unique によって重複なしの数字を作成する事が出来る
- List Itemノードで使うことで非常に有用
- Vector P Field でx 33 * y 17 * z 17 = 9537頂点からなる3Dグリッドを生成
- Random Num Genでその中かからランダムに700選択しBoxを生成し配置する
最後に
Vector Rewireとかあまり知らないノードが出てきた。これも調べなければ