Powtarzalne wyniki loterii
Pracujesz jako programista w internetowej loterii. Zgodnie z prawem, zwycięzcy muszą być wybierani losowo, a sam proces musi być przejrzysty.
W swoim środowisku pracy masz listę losów ls_tickets. Lista zawiera 51 elementów – po jednym dla każdego stanu USA. Każdy element zawiera numery losów. Masz też do dyspozycji funkcję lottery(), która losowo wybiera zwycięski los dla każdego stanu. Testujesz funkcję lottery(), stosując ją do ls_tickets równolegle za pomocą future_map(). Problem polega na tym, że zwycięzcy są inni przy każdym uruchomieniu kodu. Pakiet furrr jest już załadowany.
To ćwiczenie jest częścią kursu
Programowanie równoległe w R
Instrukcje do ćwiczenia
- Utwórz konfigurację dla
future_map(). - Ustaw ziarno (seed) na
4321w tej konfiguracji. - Przekaż tę konfigurację do
future_map().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)