"같은 알고리즘"이라는 주장을 코드로 보자. 동일한 mcts() 함수가 행동 수도 다르고 보상 구조도 다른 두 환경을 처리한다.
🎯 코드가 보여주는 것
- 한 도메인 명세(
{'name', 'n_actions', 'gamma'})만 바꾸면 같은 코드가 작동
- Chess-like: 행동 20개, γ=1.0 (할인 없음, 보드 게임 스타일)
- Atari-like: 행동 4개, γ=0.99 (할인 있음, 픽셀 게임 스타일)
- 가중치는 랜덤이라 결과 자체에 의미는 없지만, 동일한 알고리즘이 두 다른 명세에 작동한다는 게 핵심
기대 출력:
=== Chess-like (보드) (행동수=20, γ=1.0) ===
상위 3개 행동:
a=10 방문= 3 Q=+0.092 prior=0.059
a=0 방문= 2 Q=+0.009 prior=0.044
a=1 방문= 2 Q=+0.003 prior=0.055
→ 선택: a=10 (방문 횟수 최다)
=== Atari-like (픽셀) (행동수=4, γ=0.99) ===
상위 3개 행동:
a=2 방문= 11 Q=+0.190 prior=0.223
a=1 방문= 8 Q=+0.142 prior=0.259
a=3 방문= 6 Q=+0.018 prior=0.262
→ 선택: a=2 (방문 횟수 최다)
← 같은 MCTS 코드가 두 환경(행동수 5배 차이, 보상구조 다름) 모두 처리.
'하나의 알고리즘이 여러 도메인을 푼다'는 말의 진짜 의미.