스폰빵닷컴 - Elo 계산기
BJ - A
BJ - B

최근 입력된 전적

원선재(승) vs 고석현(패) 1/1 투혼00:29
이재호(승) vs 김민철(패) 1/1 알카노이드00:18
이재호(승) vs 김민철(패) 1/1 네메시스00:17

최근 올라온 글

개고기 먹는다고 까는 양놈색희07-01
자료 저장 빌런07-01
일진녀와 오타쿠07-01
자유게시판

건의 | Elo 공식의 수학적 원리 (Elo 공식유도)

페이지 정보

작성자 스카이저그 쪽지보내기 자기소개 아이디로 검색 전체게시물 작성일17-06-21 20:13 조회16,457회 댓글5건

본문

Elo 공식의 수학적 원리

Elo 시스템은 설명한 건 많지만 핵심이 되는 Elo 공식

 

2112c56b58ae3502d0bb987f6f648aed_1498042940_0222.png 


두 선수의 승률을 예상하는 공식이다. 그냥 저 공식을 사용할뿐

저 공식에 대해 잘 설명된 곳은 없는 것 같다.

 

Elo 공식은 하늘에서 뚝 떨어진 공식이 아니다.

간단하고 상식적인 원리를 바탕으로 한다. 

3자 비교법이란 논리다. 


A 보다 B 가 잘하고 B 보단 C가 잘해!!
당연히 A 보단 C 가 잘할꺼야!
(A<B , B<C  A<B<C  따라서 A<C)
흔히 사용하는 논리다.  이게 바로 3자 비교법이다.

이 논리를 약간 렙업해 보면

A,C 둘다 B 보다 잘하긴 하지만
A는 압도적으로 잘하고 C는 약간 잘해!!
(A>>>>B , C>B  A>>C>B , 따라서 A>C)

숫자를 이용해 정교하게 다듬어 보면

A,B 두 선수의 전적이 5:3 이고 (A:B = 5:3)
B,C 선수의 전적이 3:4 라면 (B:C = 3:4)
마침 B선수의 전적이 3으로 같으니 

A:B:C = 5:3:4 , 따라서 A:C = 5:4

물론 실제로는 숫자가 잘 맞아 떨어지지 않는다.

A:B = 7:4
B:C = 3:8 

이럴땐 비례식의 특징을 이용해 B를 1로 만들면 된다.

A:B = (7/4):1
B:C = 1:(8/3)

A:B:C = (7/4):1:(8/3)

따라서 A:C = (7/4):(8/3)

보통 1:2 를 1/2 = 0.5 로 표현하는 것 처럼

A:C = (7/4):(8/3)
A/C= (7/4) / (8/3) = 21/32 = 0.65625 

A가 B에게 평균 3승 2패 , B가 C에게 5승 6패 라고 한다면
A와 C가 경기한다면 몇승 몇패 하겠는가?
(한국어 위키,엘로 평점 시스템 항목에 나온 예제다.)


A:B = 3:2 = (3/2):1
B:C = 5:6 = 1:(6/5)

A:B:C= (3/2):1:(6/5)

A:C = (3/2):(6/5)= 15:12 = 5:4
A와 C가 경기한다면 5승 4패가 예상된다.

위키의 나온 부분이 바로 이 설명이다.

바로 이 논리가 바로 Elo의 공식의 핵심이다.


값의 의미

뭔가 숫자가 나오긴 했는데 이 숫자가 뜻하는 것은 뭘까?

A:B = 3:2
A/B = 1.5 

A가 B 에게 1.5배 승리를 많이 거둔다는 뜻이다.
개인적으로는 이 값을 실력지수라고 부르고 있다.
A가 B 보다 몇배 잘했다. 이렇게 읽으면 쉽다.

A/B = 1 이면 1배 잘했다. 즉 실력이 똑같다는 뜻이다.
A/B = 3 이면 3배 잘했다. 

하지만 1보다 작다면? 앞에 나온 A/C = 0.65625 는?
A가 C 보다 못했다는 뜻이다.


%와의 관계

실제로는 %를 많이 사용한다.

A:B = 3:2
A가 이길 확률은 ? 

A/(A+B) = 3/5 = 60%

기호로는 ( X(AB) ) 쓴다.
X(AB)= A/(A+B) = 3/5 = 60%

물론 자료는 친절하지 않다.

A/B = 1.5 
3:2라는 값이 주어지는게 아니다.
분모 분자의 특성을 생각해 보면

1.5 = 1.5 / 1 이다.

따라서 A= 1.5 , B = 1 
X(AB)= A/(A+B) = 1.5 / 2.5 = 60%

앞에 소개한

A/B = 1 (같은 실력)
A/B = 1/1
X(AB) = A/(A+B) = 1/2 = 50%

A/B = 3 (A가 3배 잘함)
X(AB) = A/(A+B) = 3/4 = 75%

A/C = 0.65625  (C가 더 잘함)
X(AC) = 0.65625 / 1.65625 = 39.62% 
당연히 A가 이길 확률은 50% 보다 작은 값이 나온다.

공식화 해 보면

A의 실력지수를 S라고 하면  A가 B를 이길 확률은?
A/B = S 
A/B = S/1 

X(AB) = A/(A+B) = S/(S+1)

간단히 하면 실력지수 S 일때 확률 X는
X = S/(S+1)
실력지수->% 변환을 먼저 소개했지만 

실은 반대 상황이 많다. 자료는 % 일때가 많다. 
그런데 3자 비교법을 쓰려면 % 자료를 실력지수로 고처야 한다.

실력지수 -> % 공식을 다시 살펴 보자

X = S/(S+1) 

S로 정리하면 

S=X/(1-X) 

X 값이 80% 라면 실력값은?
S = 0.8/(1-0.8) = 0.8/0.2 = 4

40%라면? 
S= 0.4/0.6 = 0.6667 이다.

확률론에서 (1-X) 는 여확률이고 패배 확률을 뜻한다.
보통 X' 라고 쓴다. 

따라서 % 자료가 주어질때 실력지수는

S = X/X' = 승리확률/ 패배확률 


임의의 선수와 대결했을때 A 선수의 승률은 90% 고 B 선수의 승률은 80% 라면 

두 선수가 경기했을때 A 선수의 승률은 얼마일까?

A 선수의 실력 지수는 90%/10% = 9
B 선수의 실력 지수는 80%/20% = 4

맨처음 소개한 3자 비교법에서 두 선수를 연결해 주는 것을 B가 했다.
여기서는 임의의 선수라는 개념이 대신한다. 
그걸로 3자 비교법을 쓰는 것이다.

A:임의의 선수 = 9:1
B:임의의 선수 = 4:1

A:임의의 선수:B = 9:1:4
A:B = 9/4

A/B = 2.25 
X(AB) = 2.25/3.25 = 69.23 %

A 선수가 B 선수를 이길 확률은 69.23% 다.

3자 비교법이라는 걸 설명하기 위해 중간 과정을 보여주었지만 

실제로는 실력지수 끼리 나누기만 하면 된다. 

9/4 하면 A선수 입장에서 실력값이 나오고 
반대로 4/9 하면 B 선수 입장에서 실력값이 나온다.

두 선수간의 실력값은 나누기가 성립하고 공식으로 쓴다면

S(AB)=S(A)/S(B)  
A선수가 B 선수 보다 몇배 잘하는가?

마찬가지로 
S(BA)=S(B)/S(A)

여러 공식이 나오긴 했지만 
지금 쓰고 있는 공식이나 계산은

A 보다 B 가 잘하고 B 보단 C가 잘해!!
당연히 A 보단 C 가 잘할꺼야! 

이 논리를 수학적으로 확장한 것에 불과하다. 

하지만 Elo 공식은 꽤 복잡하다. 
로그값을 사용하기 때문이다.

실력차이가 10배 날때 400점 차이 나게 만든다. 
이 개념이 들어있는데 수학적으로는 로그로 표현한다.

수학적 테크닉이 필요하다.

로그 변환은 익숙하지 않은데 % 변환과 같은 것이다.
0.4 라는 숫자에 100을 곱해 40%로 고치는 건 익숙하다.
이런 변환이다 숫자의 본질이 변하는 것은 아니다. 

'차이가 10배 일때 400점 차이나게 만든다. '
이 변환은 대부분 익숙하지 못할 것이다.

수학적으로는 이런 것이다. 
실력 지수값에 log를 해준 다음 , 400을 곱해준다.

실력지수 S -> 400*log S

실력차이가 10배일때 점수를
500 차이 나게 해주고 싶으면 500을 곱해주면 되고
1000 차이 나게 하고 싶으면 1000을 곱해주면 된다.

왜 400 으로 설정했는지 모르겠지만 
이미 전 세계적으로 400으로 통일되어 있다.

그리고 또 한가지 임의로 잡아 놓은 값이 있다. 기준점수다. 
축구나 체스에서는 1500점 , 어떤 영역에서는 1000점 
이런 식으로 기준 점수를 준다. 

실력값이 1일때 주는 값이라고 보면 된다.

Elo  점수는 기준점수를 1000 점으로 할때 
그 선수에 비해 몇배 잘하냐(실력지수) 

Elo 점수 = 1000 + 400 log S

보통 레이팅 점수라고 하니 A 선수의 Elo 점수를 R(A)
기준점수 대비 실력지수를 S(A) 라고 하면

R(A) = 1000 + 400 log S(A)

B선수를 기준으로 쓰면 

R(B) = 1000 + 400 log S(B)

두 식을 빼주면

R(A) - R(B) = 400 log S(A)/S(B)

실력지수 끼리는 나누기가 성립한다.
S(AB)=S(A)/S(B)  A선수가 B 선수 보다 몇배 잘하는가?

R(A) - R(B) = 400 log S(AB)

사실 여기서 의미를 가지는 건 S값 하나다. 

S(AB) = 10^([R(A) - R(B)]/400)

실력값과 % 변환 공식은

X = S/(S+1)

S 자리에 S(AB) 값을 넣어주면 A,B 두 선수가 경기할때 
A 선수의 승리 확률이 나온다.

위 공식에 S(AB) = 10^([R(A) - R(B)]/400) 를 집어 넣어  
(분모 분자를 S로 나눠 S를 줄이는 계산 테크닉이 필요하다.)
S값을 없애주고 레이팅 값만 남긴 것이 바로 Elo 공식이다. 

Elo 공식은 이렇게 유도할 수 있다.

공식의 모양이 복잡하긴 하지만 
Elo 공식은 맨 처음 소개한 3자 비교이라는 
매우 간단한 원리에서 유도되는 공식이다.

끝까지 봐주셔서 감사합니다. 
추천 0 비추천 0

댓글목록

스카이저그님의 댓글

스카이저그 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

Elo 시스템은 많이 설명하는데 공식은 잘 설명된거 같지 않아서
Elo 가 무엇인지 궁금해 하시는 분들께 이 글도 함께 링크로 걸어 주시면 좋을 거 같네요.

ㅇㅇ님의 댓글

ㅇㅇ 이름으로 검색 작성일

와고의 그 스카이저그냐? 물론 글은 안 읽었다만 상당히 쓸만한 녀석이었네

굿님의 댓글

굿 이름으로 검색 작성일

항상 ELO든 MMR이든 어떤 원리인지 궁금했는데 elo시스템을 알고나니 mmr은 자연스럽게 이해가되네요. 좋은설명감사합니다.

자유게시판 목록

Total 2,003건 1 페이지
자유게시판 목록
번호 제목 글쓴이 날짜 조회 추천
2003 공지 BJ통계에 ELO를 추가하였습니다. 댓글[13] 관리자 쪽지보내기 자기소개 아이디로 검색 전체게시물 05-27 37539 0
2002 잡담 다시보기 따오는 사이트 목록 댓글[3] 취권테란 쪽지보내기 자기소개 아이디로 검색 전체게시물 06-02 27694 0
2001 잡담 [와고펌] 이영호의 아프리카 정착과정 (존나-장문) 댓글[1] ㅇㅇ 이름으로 검색 06-23 17308 0
2000 잡담 전적입력해주시는분중에 혹시 퀵뷰 필요하신분 있으면 댓글[10] 관리자 쪽지보내기 자기소개 아이디로 검색 전체게시물 06-03 16941 0
열람 건의 Elo 공식의 수학적 원리 (Elo 공식유도) 댓글[5] 스카이저그 쪽지보내기 자기소개 아이디로 검색 전체게시물 06-21 16458 0
1998 잡담 [와고펌] (그때 그사건 12) 김윤중, 김택용에게 '코봉이'라고 부르다 댓글[2] ㅇㅇ 이름으로 검색 07-04 14923 0
1997 공지 잘못입력된 전적 있으면 제보 부탁드립니다. 댓글[12] 관리자 쪽지보내기 자기소개 아이디로 검색 전체게시물 05-19 14707 0
1996 잡담 BJ들 나이 정리 리스트 댓글[5] 카스테라 쪽지보내기 자기소개 아이디로 검색 전체게시물 06-04 14450 0
1995 잡담 ASL 시즌4 서울 예선 대진표 댓글[2] 콜라곰 쪽지보내기 자기소개 아이디로 검색 전체게시물 09-02 14387 0
1994 잡담 [와고펌] (그때 그사건 2) 진영수의 SSB(섹섹보)배 개최사건 ㅇㅇ 이름으로 검색 06-27 14021 0
1993 잡담 지스타 스타리그 일정 댓글[1] 관리자 쪽지보내기 자기소개 아이디로 검색 전체게시물 11-02 13654 0
1992 잡담 [와고펌] (그때 그사건 5) 박 검사, 주작범 마재윤을 검거하다 ㅇㅇ 이름으로 검색 06-25 13524 0
1991 건의 박성진 선수 프로필사진,방송국,유튜브주소 추가요청 댓글[4] 이사오 쪽지보내기 자기소개 아이디로 검색 전체게시물 03-30 13468 0
1990 공지 ★ 스폰빵 경기 기록 조건입니다. 댓글[11] 관리자 쪽지보내기 자기소개 아이디로 검색 전체게시물 06-18 13194 5
1989 잡담 [와고펌] [KCM] 종족최강전2017 시즌4 7주차 결과 ㅇㅇ 이름으로 검색 09-29 13131 0
1988 잡담 이영호 빡침 정리 JPG 아이고오오오오 쪽지보내기 자기소개 아이디로 검색 전체게시물 11-03 12995 0
1987 잡담 [와고펌] (그때 그사건 8) 김정우의 스베누 스타리그 탈주 사건 ㅇㅇ 이름으로 검색 07-04 12758 0
1986 전적 0721 이제동 vs 윤찬희 전적 수정 요청. 댓글[3] 이제동 쪽지보내기 자기소개 아이디로 검색 전체게시물 07-22 12701 0
1985 잡담 [와고펌] (그때 그사건 6) 2013년 박성균 생일날 음주방송 ㅇㅇ 이름으로 검색 06-25 12683 0
1984 잡담 [ASL] 아프리카스타리그 시즌4 3위전 결과 RuddyMato 쪽지보내기 자기소개 아이디로 검색 전체게시물 11-07 12348 0
게시물 검색
Copyright 2017 sponbbang.com All Rights Reserved. Since 2017.05.19