본문으로 건너뛰기

TrueSkill

  • 2024-09-08 (modified: 2026-03-01)

microsoft.com/en-us/research/project/trueskill-ranking-system

Microsoft research에서 개발한 베이지안 skill rating system.

요약:

  • ELO점 추정을 하기 때문에 단일한 실력값이 나오는 반면, TrueSkill은 구간 추정을 하기 때문에 실력의 범위를 알려준다. 실력추정치를 평균으로, 실력추정치의 확실성을 표준편차로 표현. 표준편차는 게임을 많이 할수록 좁아진다. (즉 게임을 많이하면 실력추정치의 확실성이 높아진다).
  • 게임의 결과가 뻔하면(이길 놈이 이겼으면) 레이팅에 약하게 반영하고, 뻔하지 않으면(질 놈이 이겼으면) 레이팅에 강하게 반영한다.
  • 각 게임의 특성에 따라 점수 계산이 달라질 수 있다:
    • Beta: 실력과 승패의 상관이 높은 게임인지 아닌지에 따라 달라지는 값
    • Dynamics Factor/Tau: 게임이 진행됨에 따라 표준편차가 0에 수렴하는 것을 방지하기 위해 넣을 “노이즈”의 크기
    • Draw Probability: 비길 확률. 비길 확률이 높은 게임에서 비겼으면 “뻔한 결과”로 간주. 혹은 비길 확률이 높은 게임임에도 불구하고 약팀이 강팀을 이겼다면 “매우 의외의 결과”로 간주. ELO의 경우 비긴 게임은 점수에 영향을 못 줌. 하지만 비긴 게임이야말로(비길 확률이 낮을 경우 특히) 중요한 정보.
  • 점수 계산시 다음과 같은 현실적 상황 또한 고려:
    • Partial Play: 게임 중간에 들어왔거나 중간에 나갔거나 중간에 쉬었거나 등 승패에 약간만 영향을 플레이어가 있는 경우
    • Partial Update: “네트워크 불안정” 등의 이유로 이번 플레이의 결과를 점수에 일부만 반영하고 싶은 경우
  • ELO와 달리 다양한 구성의 팀 매치에 대하여 경기에 참여한 각 개인의 점수를 계산할 수 있음
  • 팀 구성이 얼마나 좋은지(즉, 얼마나 비등한 경기를 펼칠 것인지)에 대한 예측값을 산출해줄 수 있다 (Match Quality)