値のランダム化
この演習では、さまざまなランダム化手法を試して比較します。目的は、異なる手法に慣れ、それぞれが乱数の生成方法にどのような影響を与えるかを理解することです。手法ごとに適した場面があるため、その違いをつかむことが重要です。
たとえば、完了まで約15分かかる業務プロセスがあるとします。ただし、実際の所要時間はおおよそ±5分の幅でばらつきます。random パッケージのさまざまなランダム化手法を使い、この所要時間のばらつきを制御しながら生成してください。
この演習はコースの一部です
Pythonで学ぶ離散事象シミュレーション
演習の手順
- 提示された情報に基づき、プロセス所要時間を整数値で1000件生成してください。
- 提示された情報に基づき、プロセス所要時間を浮動小数点数で1000件生成してください。
- 平均15、標準偏差5のガウス分布に基づく浮動小数点数として、疑似乱数の所要時間を1000件生成してください。
- ラムダパラメータを1.5(正)とし、ピークが15となる指数分布に基づく浮動小数点数として、疑似乱数の所要時間を1000件生成してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Generate random integer numbers
randint_array = np.array([____ for i in range(1000)])
# Generate random float numbers
uniform_array = np.array([____ for i in range(1000)])
# Generate random float numbers based on the Gaussian distribution
gauss_array = np.array([____ for i in range(1000)])
# Generate random float numbers based on the Exponential distribution
expon_array = np.array([____ + 15 for i in range(1000)])
plot_all(randint_array, uniform_array, gauss_array, expon_array)