LoslegenKostenlos loslegen

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

Kurs anzeigen

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)
Code bearbeiten und ausführen