- 경험기, 프리뷰, 리뷰, 기록 분석, 패치 노트 등을 올리실 수 있습니다.
Date |
2006/03/04 11:05:12 |
Name |
한인 |
Subject |
랭킹점수 산정 방식에 대해서 |
어제 버스시간동안 탈일이 생겨서
그냥 이런 저런 생각하다가
랭킹점수 산정에 대해서 생각하다 생각난 방식인데
(로그 함수와 통계를 바탕으로 한 생각이라
특히 고등학교때 배우는 로그함수 언급부분은 조금 어려울수도 있겠네요)
제가 생각한 아이디어의 핵심은포인트 1000 이 차이나면
둘사이의 승률이 2배 차이나는것을 예상할수 있게 하는 방식입니다.
포인트 2000 차이라면 예상 승률 차이는 4배
3000 포인트 차이라면 승률차이는 8배
상대 승률차이를 로그함수화 시킨다면 충분히 가능하다고 생각합니다.
포인트 점수를 만드는 핵심은
똑같은 점수를 가진 선수가 경기를 해서 과연 한명이 일방적으로 진다고 할때
몇판을 내리지면 승률이 2배 차이가 난다고 할 수 있을까 입니다.
과연 몇번을 연속으로 지면 승률차이가 2배라 여길수 있냐?? 라는 질문에
통계학적인 답을 낼수도 있겠지만(고등학교 수학과정에서 배우는 내용)
통계학적인 의미에 대해서도 배웠지만 지금 참고할만한 통계학 책이 없네요
그런걸 배운적이 있긴 있는데 일단 그것보다는 기본적인 규칙을 만드는것을
목표로 하면..
두 선수의 점수가 2000-2000 에서
몇번 연속으로 지면 2500-1500 으로 바꿀수 있을가 입니다.
둘 사이의 승률이 무조건 50%인 경우에도 3번 연속으로 지는 경우는 13%나 됩니다.
그런데 연속으로 얼마나 지면 실력차이가 2배라 할수 있을까요???
그냥 감각적인 거니까 10번 연속으로 잡으면 되지 않을까 싶습니다.
(실제보다 조금은 낮은 세팅이 필요할것 같습니다.)
그 계산법은 로그함수를 이용해서 10번 연속으로 지면 승률차이가 2배 나게 하는것이
기본 컨셉입니다
그 컨셉을 수치화 하기 위해선 또하나의 아이디어가 필요한데
만약 둘이 수십판을 게임한다고 할때 2번 이기고 1번 지고를 규칙적으로
한다고 할때 둘 사이에 점수 차이는 결국1000 포인트로 수렴되어야 합니다.
이것은 생각보단 어렵지 않은데 1000포인트 차이가 나면 포인트 상대점수가
점수가 작은쪽이 이길경우 얻는 점수가 점수가 큰쪽이 이길경우의 점수보다
2배 차이를 나게 만들면 됩니다.
간단한 수식계산이 되겠지만 그 계산을 통해 동일 포인트일 경우
서로간의 점수차를 57.3으로 설정하면 됩니다.
(10번 연속으로 졌을때 둘의 승률차이를 2배정도라 여기는 설정
5회 기준으로 한다면 112로 잡으면 됩니다만 상대적인 면도 고려해야 한다고
생각하고 랭킹 자체는 평균적인 의미를 담고 있어야 한다고 보기때문에
5회 보다는 10회 세팅이 좀더 맞다고 생각합니다.)
57.3을 기준으로 포인트 1000이 많은 선수가 이기면
서로간의 포인트 교환은 28.65
1000 포인트가 적은 선수가 이기면 이경우는 114.6약간의 보정이 필요합니다만
(상식적인 수준에서 보정이 조금 필요합니다만 이경우는 113.2)
자세한 계산이 아니기 때문에 수학적인 약간의 문제점은 있지만
거의 비슷한 수준의 계산은 가능
그리고 시간에 따른 랭킹 점수의 감소가 필요합니다.
하나는 시간이 지날수록 기존의 랭킹점수는
반영치를 낮추어야 하며
그 시기는 프로게임어 평균 수명인 4년을 기준으로 설정하면 될 것 같습니다.
이 설정은 상대적인 것인데 반감기를 짧게 잡을수록 현재 실력에 따른 랭킹점수에 가깝고
반감기를 길게 잡을수록 지명도와 인기와 비슷한 랭킹 점수가 될 것입니다.
둘 사이에 어느정도 타협점을 잡으면 충분히 가능할 것 같습니다.
최소점수와 시합별 가중치가 필요합니다.
방송경기 기준으로 랭킹을 산정하기 때문에
일단 예선 통과 성적은 인정해야 할것 같습니다.
따라서 최소한 랭킹점수 1000은 주어져야 하며 최소1000은
시간에 따른 감소에영향을 받지 않아야 합니다.
일단 시합의 결과 포인트는 플러스 섬 게임으로 끝나야 할것 같습니다.
먼저 50% 승률을 가진 게임어들이 무작위로 게임을 한다고 가정하고
포인트를 산정하면 최소점수 1000 포인트라는 점 때문에 약간의 포인트 상승이 존재합니다.
일반적인 리그를 기준으로 가상의 리그를 모델링 하면
대략 게임당 한달 기준으로 1인당 50정도의 포인트 상승이 기대되는데 (한달 평균2게임)
그것을 차치 하고서라도 포인트 점수 일인당 25점을 무조건 반영해야 한다고 생각합니다.
이것은 시간에 따른 포인트 감소분과 상위 랭커들의 상대적인 손해를 같이
반영하고 있다고 보면 됩니다.
따라서 랭크점수 1000이 차이나는 선수가 경기할때
하위 랭크 선수가 지더라도 그리 손해가 아니고
상위 랭커가 이기더라도 시간에 따른 손실분을 만회할수 있다고 생각합니다.
(경기 레벨보다는 경기 출전 기회 자체에 좀더 포인트를 둘 수 있는 방식이라 생각합니다.)
요약 아이디어의 핵심은
포인트 1000이 차이나면 승률차이가 2배일것
시간에 따른 포인트 감소정도를 설정할것(대략 2년정도의 반감기??)
경기 출전 기회 자체에 포인트를 줄것
시간에 따른 반감은 간단한 거니까 생략하고
제가 제시한 10번 내리 이기면 승률을 2배로 한다의 공식은
서로간의 교환되는 점수 에 대한 공식은
57.2*2^(포인트 점수차이/1000)
이렇케 됩니다.
저런 규칙으로 포인트 규칙을 정하면 어떨까 하네요
액셀을 좀 이용할줄 안다면
포인트 규칙에 따른 포인트를 설정할텐데
막상 엑셀을 잘 못다루는게 아쉽네요.
|
통합규정 1.3 이용안내 인용
"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
|