행동 공간 — 4672 vs 18
도메인별 차이 중 가장 눈에 띄는 한 가지 — 행동 공간 크기.
📖 환경별 행동 수
- 체스: 4672 (이동, 캐슬링, 앙파상, 프로모션 다 합쳐 인코딩)
- 쇼기: 11,259 (drop 규칙 때문에 가장 큼)
- 바둑: 362 (점 361개 + pass 1)
- 아타리: 4~18 (조이스틱 방향 + 버튼 조합)
크기 비율로 약 600배 차이. 같은 알고리즘으로 다루기엔 큰 격차로 보인다.
🎯 어떻게 같은 알고리즘으로 다루나
핵심은 "행동의 갯수가 알고리즘 골격에 영향을 주지 않는다"는 점이다.
- 정책 신경망의 출력 차원만 환경에 맞춤 (체스 4672, 아타리 18)
- MCTS의 자식 노드 갯수만 행동 수에 맞춤
- 그 외 모든 것은 동일 — Select 알고리즘도, Expand도, Backup도
💡 행동 수가 많을 때의 트릭
체스/쇼기처럼 행동 수가 수천 개일 때 모든 자식을 평가하면 비효율적. 그래서:
- 실제 합법(legal) 행동만 자식으로 만든다 (대부분의 위치에서 합법 행동은 30~40개 정도)
- 정책 신경망이 합법 행동에만 확률을 분배하도록 마스킹
- 이렇게 하면 실질 자식 수가 관리 가능한 수준으로 줄어듦
아타리에서는 18가지 행동이 모두 항상 가능하니 마스킹 불필요.
📖 정리
행동 공간 크기는 알고리즘이 아니라 환경의 명세다. 코드 한 줄(N_ACTIONS = ...)만 바꾸면 처리된다.
이게 "같은 알고리즘"이라는 표현의 핵심 — 변하는 것은 명세, 변하지 않는 것은 처리 절차.