Reprodukovatelné výsledky loterie
Pracuješ jako programátor/ka pro online loterii. Ze zákona musí být výherci vybíráni náhodně a výběr musí být transparentní.
V pracovním prostředí máš seznam loterijních tiketů ls_tickets. Obsahuje 51 prvků – jeden za každý stát USA. Každý prvek tohoto seznamu obsahuje čísla loterijních tiketů. K dispozici máš také funkci lottery(), která náhodně vybere výherní tiket pro každý stát. Testuješ funkci lottery() tak, že ji aplikuješ na ls_tickets paralelně pomocí future_map(). Problém je, že výherci jsou pokaždé jiní. Balíček furrr je již načtený.
Toto cvičení je součástí kurzu
Paralelní programování v R
Pokyny k cvičení
- Vytvoř konfiguraci pro
future_map(). - V konfiguraci nastav seed na hodnotu
4321. - Předej tuto konfiguraci funkci
future_map().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)