처음에는 구현 버그 일 수 있으므로 StackOverflow 에 게시했습니다. , 그러나 일부는 내가 수학에 게시 할 것을 제안했습니다. 방금이 stackexchange를 찾았고 누가 더 나은지 생각했습니다. 여러분 중 일부는 디버깅 할 필요없이 이것이 정확 해 보이는지 아닌지 알 수 있습니다. 온라인 계산기 또는 대체 평가 방법에 대한 링크를 환영합니다.
Glicko-2는 체스에서 사용되는 평가 시스템이지만 다른 여러 상황에서도 사용할 수 있습니다. Glicko-2는 이전 ELO 등급 문제를 해결 한 Glicko-1을 개선 한 것입니다.
버전 1과 비교하여 Glicko-2를 특별하게 만드는 것은 더 높은 등급 편차 (RD)를 통합한다는 것입니다. 더 이상 누군가가 활동하지 않았습니다. 시간 / 등급 기간과 관련된 시스템 상수의 개념으로이를 수행합니다.
작성자가 작성한 예제는 다음에서 찾을 수 있습니다. http://www.glicko.net/glicko/glicko2.pdf .
이 문서에서 그는 설명합니다.
Glicko-2 시스템은 평가 기간의 게임 수가 보통에서 많을 때 가장 잘 작동합니다. 평가 기간 동안 플레이어 당 평균 10 ~ 15 개의 게임을 말합니다. 평가 기간의 길이는 관리자의 재량입니다.
활동적인 체스 플레이어 그룹이 10-15 게임을 플레이한다고 가정합니다. 평균적으로 1 개월 동안 관리자는 매월 말에 등급을 업데이트했습니다.
Glicko-2 등급 시스템의 PHP 구현이 필요했고 다음을 발견했습니다.
- 자바 스크립트에 작은 오류가 있습니다. “기술적 인 작성 예제와 일치하지 않고 작성자가 충분히 가깝고 디버그.
- PHP 구현은 많은 버그로 시달렸지만 평가 기간을 두 번 이상 수행하지 않으면 분명하지 않았습니다. 네브 위로 예상 값을 표시합니다.)
- 마지막으로 Excel 계산기는 체스 커뮤니티의 누군가가 수행 한 오류가없고 가장 전문적인 것처럼 보였습니다. JavaScript 버그가 해결되면 JavaScript와 Excel 계산기가 서로 매우 밀접하게 일치합니다 (완벽하지는 않지만 반올림 오류 내에있을 수 있음).
버그를 수정하고 문제를 제출했습니다. PHP 및 JavaScript 버전에서 Excel 계산기와 거의 일치하는 것을 찾을 수있었습니다.
이제 정확한 Glicko-2 구현이 있다고 99 % 확신합니다. 그 중 3 개) 분석을 위해 이상한 점과이 토론의 주제를 발견했습니다.
새 플레이어를 위해 Glicko-2에 제안 된 기본값이 주어졌습니다.
Rating: 1500 RD: 350 Volatility: 0.06
평균 등급 1378 및 RD 99 ( 출처 )와 마주하는 경우 등급 기간 (1 월) 다음 12 개 기간 (1 년) 동안 가정 된 National Class A (1800-1999) 등급 1852 (실제로는 12 개월 동안 12 명의 평균 등급 플레이어 만 이겼습니다.
Month Rating RD Volatility Class 1 1625 259 0.059999 National Class B 2 1682 225 0.059998 〃 3 1718 205 0.059997 〃 6 1784 174 0.059994 〃 12 1852 148 0.059988 National Class A 24 1922 127 0.059976 〃
평점 기간마다 평균 2 명의 상대와 마주하면 약 4 ~ 5 개월 동안 국가 등급 A에 도달 할 수 있으며 평균 상대는 8 ~ 10 명뿐입니다.
Month Rating RD Volatility Class 1 1672 215 0.059999 National Class B 2 1733 183 0.059997 〃 3 1770 166 0.059995 〃 4 1797 154 0.059993 〃 5 1819 146 0.059992 National Class A 6 1836 140 0.059991 〃
이러한 가정이 정확합니까? 내 계산기에 버그가 있습니까?
버그가 아니라면 이에 대응할 수있는 몇 가지 방법은 다음과 같습니다.
- “실제 평가”를 편차의 하한 (Rating-RD)으로 간주하십시오.
- 비활성 사용자 등급 표시 안함
- N 게임 미만 사용자 표시 안함
댓글
답변
몇 달 전에 Scala 구현 작업을했습니다. 비록 약간 다듬어지지 않았지만 다시 돌아가서 완료해야합니다. 적어도 몇 가지 합리적인 결과를 얻었습니다.
당신이 플레이하는 모든 게임에서 이기면 예, 당신은 낮은 등급의 플레이어와 만 플레이하더라도 당신의 등급은 상당히 높아질 것입니다. 그런 상대를 상대로 모든 게임을 이길 확률은 A 급 선수가 무엇을 성취 할 것인지에 대한 것입니다. 상대적으로 높은 RD로 인해 약간 부풀려졌습니다.
제 생각에는 RD가 일정 금액 이상인 사람을 안정적인 등급으로 간주하지 않는 것이 가장 좋은 방법이라고 생각합니다. “임시적”이라고 생각하십시오. 또한 실제로 타이틀을 얻기 위해서는 적어도 USCF에서 그들은 4 게임 이상의 토너먼트에서 일정 수준에서 수행 해야하는 표준 시스템을 가지고 있습니다 (내 생각에 4 회). 전체 토너먼트에서 ~ 1378을 상대로 [4 번] 플레이 할 가능성은 매우 낮습니다.
이것을 체스에 사용하는 것이 목표입니까? 사용 사례는 무엇입니까?
업데이트 : FICS는 RD가 < 80 인 사람 만 고려하여 처리합니다. (그들은 여전히 Glicko-1을 사용합니다.) http://www.freechess.org/Help/ficsfaq.html#Q005.003
그리고 Glicko-1은 RD / time decay도 사용합니다. Glicko-2의 주요 개선 사항은 “변동성”요소로, 결과가 불규칙하거나 안정적인 결과를 가진 사람들은 매우 약간 다르게 계산할 수 있습니다. 제 생각에는 Glicko-1에 대한 매우 사소한 조정으로 상당한 추가 계산이 발생하지만 당신처럼 나는 여전히 그것을 계산하는 데 관심이있었습니다. 실제로 Glickman에게 테스트를위한 추가 데이터 포인트를 요청했지만 그 당시에는 너무 바빠서 제공 할 수 없었습니다.
댓글
- FYI, a USCF 클래스 레벨 타이틀은 5 개의 토너먼트에서 표준을 획득해야합니다.
답변
모든 등급 시스템은 현실. 기껏해야 그들 중 누구도 당신의 능력을 추측하는 것 이상을 할 수는 없습니다.
그 플레이어들은 더 일관되고 더 많은 GM을 플레이하는 경향이 있기 때문에 그들은 GM 수준에서 더 잘할 것입니다. 나머지 우리는 일관성이없고 더 일관성이없는 더 낮은 등급의 플레이어를 플레이하는 경향이 있습니다. 그리고 새로운 플레이어는 더 적은 수의 토너먼트에서 플레이하면서 훨씬 빠르게 향상되는 경향이있어 모든 등급이 더 왜곡됩니다. 어떤 수준에서든 일부 플레이어는 휴가를 보내거나 최종 결과에서 자신의 위치를 바꾸지 않으면 열심히 노력하지 않습니다.
Glicko2처럼 등급을 미세 조정하려는 것은 어리석은 일입니다.
문제를 악화시키는 또 다른 요인은 플레이어가 같은 플레이어를 플레이하는 경향이 있다는 것입니다. 충분한 라운드를 수행하는 전 세계 필수 스위스 시스템이 있다면 대부분의 플레이어 등급에서 큰 변동이있을 것입니다. 세계적인 더블 라운드 로빈은 좀 더 많은 변화를 줄 것이지만 스위스는 적어도 기존 선수들과 함께 적어도 중간에 등급 오류를 수정하는 좋은 시작이 될 것입니다. 새로운 플레이어가 등급을 왜곡하는 데 여전히 문제가 있습니다.