Reproduzierbare Lotterieergebnisse
Du arbeitest als Programmierer:in für eine Online-Lotterie. Gesetzlich müssen die Gewinner zufällig ausgewählt werden, und die Auswahl muss transparent sein.
In deinem Workspace hast du eine Liste von Lotterielosen, ls_tickets. Es gibt 51 Elemente in ls_tickets, eines für jeden US-Bundesstaat. Jedes Element dieser Liste enthält Losnummern. In deinem Workspace gibt es eine Funktion lottery(), die für jeden Bundesstaat zufällig das Gewinnerlos auswählt. Du testest die Funktion lottery(), indem du sie in Parallel mit future_map() auf ls_tickets anwendest. Das Problem ist, dass die Gewinner jedes Mal anders sind, wenn du den Code ausführst. Das Paket furrr wurde für dich geladen.
Diese Übung ist Teil des Kurses
Paralleles Programmieren in R
Anleitung zur Übung
- Erstelle eine Konfiguration für
future_map(). - Setze in der Konfiguration den Seed auf
4321. - Übergib diese Konfiguration an
future_map().
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)