# SpawELO – LAN 파티를 위한 소규모 무료 매치메이킹 시스템

> Clean Markdown view of GeekNews topic #17581. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17581](https://news.hada.io/topic?id=17581)
- GeekNews Markdown: [https://news.hada.io/topic/17581.md](https://news.hada.io/topic/17581.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-11-04T10:08:50+09:00
- Updated: 2024-11-04T10:08:50+09:00
- Original source: [blog.spawek.com](https://blog.spawek.com/SpawELO)
- Points: 1
- Comments: 0

## Topic Body

##### LAN 파티

- 16년 동안 매년 친구들과 LAN 파티를 개최해 왔음.
- 파티는 4-5일 동안 진행되며, 최대 12명이 참여함.
- 주로 Dota 2를 플레이하지만, Counter-Strike, Warcraft 3 등 다양한 게임도 즐김.
- 팀 선택이 어려워 자동화 시스템을 개발하게 됨.

##### Dota 2

- Dota 2는 5v5로 진행되며, 불균형한 팀은 게임의 재미를 떨어뜨림.
- 참가자들의 실력 차이가 커서 팀 선택이 어려움.

##### 팀 선택 방법

- 두 명의 리더가 번갈아 가며 팀원을 선택하는 방식 사용.
- 그러나 이 방식은 시간이 많이 걸리고, 비슷한 팀이 자주 만들어져 지루함.

##### 수동 팀 선택의 문제점

- 시간이 많이 걸리고 지루해짐.
- 비슷한 팀이 자주 만들어짐.
- 리더 역할을 맡고 싶어하는 사람이 없음.
- 불균형한 팀이 자주 만들어짐.

##### 코드로 해결하기

- 데이터 수집 후 Colab에서 Elo 레이팅 시스템을 사용하여 팀을 자동으로 생성함.
- 각 플레이어는 1000 Elo 포인트로 시작하며, 승리 시 20 포인트를 얻고 패배 시 20 포인트를 잃음.

##### 개선 1: 데이터 여러 번 통과

- Elo 시스템에서 더 높은 Elo를 가진 플레이어를 이기면 더 많은 포인트를 얻음.
- 여러 번 데이터를 통과하여 Elo를 계산함.

##### 개선 2: ML 모델처럼 만들기

- Elo를 모델로 사용하여 팀 승리 확률을 예측함.
- L2 손실 함수를 정의하고, 백프로파게이션을 통해 모델을 최적화함.

##### 개선 3: 역사적 결과를 확률적으로 만들기

- 과적합을 방지하기 위해 역사적 게임의 승리 확률을 75% 또는 95%로 설정함.
- 이를 통해 모델이 모든 게임을 암기하지 않고 일반화할 수 있도록 함.

##### 결과

- 새로운 시스템은 불균형한 팀 크기에서도 승리 확률을 예측할 수 있음.
- 다음 LAN 파티를 위한 첫 번째 라인업이 준비됨.

## Comments



_No public comments on this page._
