select-matching-algorithm

Select Matching Algorithm

Status

Accepted

Context

랭크 게임 매칭 시스템의 핵심 목표는 팀 간 MMR의 균형(매칭의 질)과 사용자 대기 시간 최소화(매칭 속도)를 동시에 달성하는 것입니다. 네 가지 후보 알고리즘(SimpleMMRMatching, BalancedKMeansClusterMatching, BalancedDPClusterMatching, MMRBucketMatching)에 대한 평가를 진행했으며, 이 중 가장 최적의 성능을 보이는 최종 알고리즘을 선정하고 도입해야 합니다.

Decision

MMRBucketMatching 알고리즘을 랭크 게임의 공식 매칭 알고리즘으로 채택한다. 평가 테스트 결과, MMRBucketMatching은 농구와 풋살 두 종목에서 다른 모든 후보 알고리즘 대비 월등히 높은 평균 점수(91.67)를 기록하며, 매칭의 질과 속도 모두에서 가장 우수한 것으로 입증되었다.

Consequences

  • 긍정적 영향:
    • 사용자 만족도 향상: 평균 대기 시간이 단축되고 팀 간 MMR 격차가 최소화되어 더 공정하고 재미있는 게임 경험을 제공한다.
    • 시스템 효율성: 복잡한 클러스터링 알고리즘 대비 구현 안정성이 높고, 높은 성능을 유지하면서도 빠른 매칭 처리가 가능하다.
  • 향후 고려 사항:
    • MMR 분포 변화에 따른 버킷 경계 설정의 최적화를 지속적으로 모니터링해야 한다.
    • 향후 포지션 등 MMR 외의 추가 조건이 도입될 경우 알고리즘 확장이 필요할 수 있다.

Alternatives Considered

대안 평가 점수
SimpleMMRMatching 67.81
BalancedDPClusterMatching 64.63
BalancedKMeansClusterMatching 61.98