再現可能な宝くじの結果
あなたはオンライン宝くじのプログラマーとして働いています。法律により、当選者は無作為に選ばれ、選定過程は透明でなければなりません。
ワークスペースには宝くじ券のリスト ls_tickets があります。要素は51個で、米国の各州に1つずつ対応しています。各リスト要素には宝くじの券番号が含まれています。ワークスペースには、各州の当選券を無作為に選ぶ関数 lottery() も用意されています。現在、future_map() を使って ls_tickets に並列で適用し、lottery() 関数をテストしています。問題は、このコードを実行するたびに当選者が毎回異なることです。furrr パッケージは読み込まれています。
この演習はコースの一部です
R による並列プログラミング
演習の手順
future_map()用の設定を作成します。- 設定でシードを
4321に設定します。 - この設定を
future_map()に渡します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
lottery <- function(tickets) {
sample(tickets, 1)
}
# Create a configuration for future_map()
config <- ___(
# Provide the seed 4321 to the correct argument
___ = ___)
plan(multisession, workers = 4)
winners <- future_map(ls_tickets, lottery,
# Supply configuration to future_map()
___ = ___)
plan(sequential)