프로젝트를 설계해보고 있습니다.
GA... 라고 생각하는데 내용을 좀 정리해보고 있는데 한번씩 관심 좀 가져주세영....
목표
- 오버워치 부캐가 경쟁전 생태계에 미치는 영향 분석
방식
- 1개는 일반적으로 승부 연산을 한다.
- 다른 하나는 레이팅 MMR과 파워 MMR로 구분하여 레이팅 MMR은 캐릭터의 매칭에 관여하고 파워 MMR은 캐릭터의 승부에 관여하게 한다.
- 이 두 개의 결과를 가지고 다음 3가지를 보려 한다.
- 점수 구간별 분포도
- 캐릭터가 부캐일 때와 그렇지 않을 때의 점수 차이
- 부캐와 한번이라도 경기를 했던 캐릭터들의 경기 횟수 별 점수 차이
데이터
- op.gg 순위표의 N배수
MMR
- 승률 + 레벨/(log(레벨) * 100)
- 처음 경쟁정 할 시 default 50
전력
- ∑((MMR - AVG(MMR)^3)
매칭
- 모든 플레이어들이 각각 다음 조건들을 모두 만족할 때까지 랜덤으로 선정
- 범위 내 티어간 점수차(ex. 플레 미만은 500점 차이, 플레 이상은 1,000점 차이)
- 두 팀간 평균 승률이 1 미만
승패
- 각 팀의 승률을 계산하여 승률이 높은 쪽이 승리.
승률
- 일정 범위 내에서 tan(x) 혹은 sigmoid의 역함수를 사용한다.
- x = 전력 차이(아군 - 적군)(-555,138.057 ~ +555,138.057)
- f(x) = 경기에서 이길 확률(0 ~ 100)
점수 편차
- 일정 범위 내에서 기여도 값을 랜덤으로 지정한다.
- 팀 별로 기여도에 따라 플레이어를 나열하고 패배팀-승리팀 순으로 이를 합친다.
- 앞에서부터 -30부터 5씩 늘어나도록 점수에 변화를 준다.
기여도
- (승률 - 50) ~ 승률
레벨
- 7번 경기 시 1번 상승한다.
확장
- 모든 플레이어들은 10^(소유한 캐릭터의 개수)마다 (캐릭터수 * ln10)의 확률로 부캐를 생성한다.
- 이 때, 부캐가 없는 케이스에도 추가로 새 캐릭터를 생성해줘야 한다.