한정된 시간, 무한한 선택지
👋 이 챕터에서 풀 문제
지난 챕터에서 본 Pure Monte Carlo의 약점 — 시간을 모든 후보에 균등 배분한다는 것. 명백히 나쁜 수도 1000번, 명백히 좋은 수도 1000번. 비효율.
이 챕터에서 UCB1 공식으로 그 문제를 푼다. 좋은 수에 더 많이, 명백히 나쁜 수에는 덜 — 자동으로.
실생활 비유:
🎰 다중-슬롯머신 문제 (Multi-Armed Bandit)
10개의 슬롯머신이 있는 카지노. 각 머신마다 다른 확률로 돈이 나옴. 어느 머신이 가장 좋은지는 모름. 1000번의 시도가 주어졌을 때, 최대 수익을 위한 전략은?
- 전략 A: 무작위로 골라서 돌리기 (Pure MC와 동일)
- 전략 B: 처음에는 다 한 번씩 시도하고, 그 다음에는 지금까지 최고 머신만 돌리기 (탐욕)
- 전략 C: 알려진 좋은 머신 + 가끔 새 머신 시도 (탐험 vs 활용 균형)
C가 정답. UCB1은 C의 수학적 최적해.
슬롯머신 = 우리 게임에서 첫 수. 각 첫 수가 "돈 나올 확률"이 다른 머신. 1000번의 rollout을 어디에 배분할지가 문제.
이 챕터:
- 탐험(exploration)과 활용(exploitation)의 트레이드오프
- UCB1 공식 — 단 한 줄
- 코드: UCB1로 슬롯머신 문제 풀기
- c (탐험 상수)의 효과