Rezultate reproductibile la loterie
Lucrezi ca programator pentru o loterie online. Prin lege, câștigătorii trebuie selectați aleatoriu, iar procesul de selecție trebuie să fie transparent.
În spațiul tău de lucru ai o listă de bilete de loterie, ls_tickets. Lista conține 51 de elemente — câte unul pentru fiecare stat din SUA. Fiecare element conține numerele biletelor de loterie aferente statului respectiv. De asemenea, ai la dispoziție o funcție, lottery(), care selectează aleatoriu biletul câștigător pentru fiecare stat. Testezi funcția lottery() aplicând-o pe ls_tickets în paralel, folosind future_map(). Problema este că de fiecare dată când rulezi codul, câștigătorii sunt diferiți. Pachetul furrr a fost deja încărcat pentru tine.
Acest exercițiu face parte din cursul
Programare paralelă în R
Instrucțiuni pentru exercițiu
- Creează o configurație pentru
future_map(). - Setează seed-ul la valoarea
4321în configurație. - Furnizează această configurație funcției
future_map().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)