재현 가능한 복권 결과
온라인 복권사의 프로그래머로 일한다고 가정해 볼게요. 법적으로 당첨자는 무작위로 선정되어야 하고, 그 과정은 투명해야 해요.
작업 공간에는 복권 티켓 목록 ls_tickets가 있어요. ls_tickets에는 미국 각 주를 나타내는 51개의 요소가 있고, 각 요소에는 해당 주의 복권 티켓 번호가 담겨 있어요. 또한 작업 공간에는 각 주의 당첨 티켓을 무작위로 선택하는 함수 lottery()가 있어요. 지금은 future_map()을 사용해 ls_tickets에 lottery()를 병렬로 적용해 테스트하고 있어요. 문제는 이 코드를 실행할 때마다 당첨자가 달라진다는 점이에요. 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)