НачатьНачать бесплатно

Воспроизводимые результаты лотереи

Вы работаете программистом в онлайн-лотерее. По закону победители должны выбираться случайным образом, а сам процесс отбора должен быть прозрачным.

В вашем рабочем пространстве есть список лотерейных билетов ls_tickets. Он содержит 51 элемент — по одному на каждый штат США. Каждый элемент списка включает номера лотерейных билетов. Также у вас есть функция lottery(), которая случайным образом определяет победный билет для каждого штата. Вы тестируете функцию lottery(), применяя её к ls_tickets в параллельном режиме с помощью future_map(). Проблема в том, что победители получаются разными при каждом запуске кода. Пакет furrr уже загружен.

Это упражнение является частью курса

Параллельное программирование на R

Посмотреть курс

Инструкции к упражнению

  • Создайте конфигурацию для future_map().
  • Задайте зерно генератора равным 4321 в этой конфигурации.
  • Передайте конфигурацию в future_map().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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)
Редактировать и запускать код