- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
Date | 17/06/03 18:54:24 |
Name | 스카이저그 |
Subject | Elo 승률 초 간단 계산~(실력지수 법) |
앞에 글과 약간 중복되는데 앞에 글이 소개에 해당되는 개론적인 글이고 이쪽이 각론에 해당됩니다. 문제 된다면 삭제하겠습니다. Elo 공식을 초 간단 계산하는 방법이야. http://pgr21.com/?b=6&n=61393 링크의 은별님의 자료에 따르면 내일 결승전을 치르는 이영호 선수와 이영한 Elo 레이팅은 이영호 1402 이영한 1183 저 점수를 풀어서 계산하는게 복잡하단걸 알꺼야. 하지만 실력지수라는 걸 이용하면 정말 간단하게 계산할 수 있어. 실력지수란 Elo 1000 점인 선수보다 몇배나 잘하냐는 거야. Elo 1000점인 선수 대비 전투력이라고 생각해도 좋아. 실력지수로 고쳐주면 이영호 10.1 이영한 2.9 두 선수의 실력값 차이는 두 값을 나누기 하면 되. 10.1/2.9 = 3.527 이영호 선수가 3.527배 잘한다. 라고 읽는게 편할꺼야. 이영호 선수의 승률은? 3.527/4.527 = 77.91% (실력지수를 s 라고 하면 승률=s/(s+1)) 왜 이런 식이 나오나면 s=승리확률/패배확률 이기 때문이야. 승리 확률을 x 라고 하면 s=x/(1-x) 가 되고 정리하면 x=s/(s+1) 즉 실력지수를 이용하면 지수 로그 계산 없이 간단히 결과를 알 수 있다는 거야. 은별님의 자료를 실력지수로 고처주면 이영호(10.1),김택용(8.2),김민철(6.3),김정우(6.3),김성현(3.9) 조기석(3.7),염보성(3.4),도재욱(3.2),이영한(2.9),김승현(2.6) 김윤중(2.6),최호선(2.4),윤용태(2.3),임진묵(2.3),김명운(2.3) 박성균(2.2),이제동(2.2),조일장(2.1),김재훈(1.8),윤찬희(1.6) 이재호(1.5),정윤종(1.4),박수범(1.4),고석현(1.2),김경모(1.1) 한두열(1.1),송병구(1.1),진영화(1.1),임홍규(1.0),김건욱(1.0) 박성준(1.0),유영진(1.0),구성훈(0.9) 김택용 선수와 김민철 선수의 예상값은 8.2/6.3= 1.3 승률로 환산하면 1.3/2.3=56.5% 김택용 선수의 기대값이 56.5% 로 나와. 물론 Elo 점수로 계산해도 같은 값이 나와. 사실 실력지수를 이용한 계산과 Elo 계산은 수학적으로 같아. 김성현 선수와 이영호 선수를 계산해 보면 김성현 3.9 이영호 10.1 3.9/10.1= 0.386 따라서 승률은 0.386/1.386=27.85% 김성현 선수의 승리 확률이 27.85% 라는 뜻이야. 이영호 선수가 더 잘하니까 1 이하의 값이 나온거겠지. 이영호 선수를 기준으로 계산해 주면 72.15%가 나오겠지 2.59/3.59=72.145% (소수점 2자리에 끊었기 때문에 약간 오차가 나와) 김재훈 선수와 고석현 선수는 1.8/1.2=1.5 1.5/2.5=60% 김재훈 선수 60%를 예상할 수 있어. 실력지수와 Elo 레이팅은 수학적으로 동일하지만 실력지수는 저 선수가 몇배 잘는지 직관적으로 바로 보이고 계산도 훨씬 간단해 거기에 대한 내용은 앞에 쓴 글에 있어. https://redtea.kr/?b=3&n=5739 Elo 식을 이런 형태로 정리해 준 다음 1000 인 상대와 싸운다고 해주면 되. (s 값이 실력지수) R(나)-R(상대) = 400 log (x/(1-x)) ------------------------ R(1) = 1000 + 400 log s(1) R(2) = 1000 + 400 log s(2) 두 식을 빼주면 R(1) - R(2) = 400 log (s(1)/s(2)) 두 선수가 경기한다고 할때 R(나)-R(상대) = 400 log s 따라서 1,2 두 선수가 경기한다고 할때 원하는 s값은 s = s(1)/s(2) ------------------------ Elo 공식을 계산할때 지수 로그가 꼭 필요하다는 게 애초에 착각에 가까워 원 식을 모르기 때문이야. https://ko.wikipedia.org/wiki/%EC%97%98%EB%A1%9C_%ED%8F%89%EC%A0%90_%EC%8B%9C%EC%8A%A4%ED%85%9C 한국 위키가 영어 위키보다 잘 설명된 경우가 드문에 의외로 한국 위키에 잘 설명된 경우야. 핵심 가정이 소개된 곳이 한국 위키고 영어 위키는 길긴 한데 쓸데 없는 더미 정보야. 위키에 Elo 공식의 핵심 가정이 설명되어 있는데 A,B 두명이 3승 2패가 나오고 B,C 두명이 5승 6패가 나오면 A,C 둘명은 몇승 몇패가 나올까? Elo 시스템에 따르면 승수끼리 곱하고 패수끼리 곱하면 되 결국 승수는 3*5=15 ,패수는 2*6=12 결국 A,C 는 15승 12패라고 할 수 있어. B의 역할은 A와 C의 다리를 놔주는 거지 Elo 시스템은 원래 지수 로그 계산 없이 승패를 계산 할 수 있어. 그리고 중간에 다리를 놓아주는 B 의 역할을 레이팅 점수 1000 점이 한다. 라고 보면 같은 식이야. 그리고 그 수치를 실력값 , 전투력 차이라고 하면 아주 쉽게 이해할 수 있어. 실력지수 혹은 전투력으로 해석하는게 직관적이기 때문에 그렇게 설명했지만 수학적으로는 바로 이 방법이다. 다만 Elo 레이팅을 실력지수로 변환하는 건 약간 복잡한데 s=10^((R-1000)/400) 실력지수 법은 레이팅을 일단 실력지수로 환산해 놓으면 그 다음 부터는 실력지수를 마음 것 사용할 수 있어. 다만 아쉬운 점은 현재 이용할 수 있는 레이팅 자료가 완성된 것도 아닌데다. 종족별 값은 정말 먼나라 이야기기 때문에 아직은 많이 아쉬울 수 밖에 없어. Elo 레이팅의 기본 가정을 확장해서 제대로된 방법을 찾아낼 수 있었으면 좋겠어. 추천 많이 부탁드릴께요. 좀 더 자세한 내용은 앞에 글에 있어. 내용은 조금 어려울 거에요. https://redtea.kr/?b=3&n=5739 5
|