Glicko-2 등급 시스템 : 버그 또는 악용?


13

원래 구현에 버그가있을 수 있으므로 이것을 StackOverflow에 게시 했지만 일부는 수학에 게시 할 것을 제안했습니다. 나는이 스택 교환을 발견했으며 누가 더 잘 생각 했습니까? 여러분 중 일부는 박쥐를 알지 못할 수도 있습니다. 디버깅 할 필요없이 이것이 정확하거나 그렇지 않은 것 같습니다. 온라인 계산기 또는 대체 평가 방법에 대한 링크를 환영합니다.


Glicko-2는 체스에서 사용되는 등급 시스템이지만 다른 많은 상황에서도 사용될 수 있습니다. Glicko-2는 이전 ELO 등급의 문제를 해결 한 Glicko-1의 개선 사항입니다.

버전 1과 비교하여 Glicko-2를 특별하게 만드는 것은 누군가가 더 오래 활동하지 않을수록 더 높은 등급 편차 (RD)를 포함한다는 것입니다. 시간 / 정격주기와 관련된 시스템 상수 개념으로이를 수행합니다.

저자의 글쓰기 예는 http://www.glicko.net/glicko/glicko2.pdf에 있습니다.
이 문서에서 그는 다음과 같이 설명합니다.

Glicko-2 시스템은 평가 기간 동안 게임 수가 중간에서 큰 경우 (예 : 등급 기간 동안 플레이어 당 평균 10-15 게임) 가장 잘 작동합니다. 평가 기간은 관리자의 재량에 따릅니다.

1 개월 동안 활성 체스 플레이어 그룹이 평균 10-15 게임을한다고 가정하면 관리자는 매월 말에 등급을 업데이트합니다.


Glicko-2 등급 시스템의 PHP 구현이 필요했으며 다음을 발견했습니다.

글리코 -2 자바 스크립트 구현

  • JavaScript에는 작은 오류가있어서 기술적 인 글쓰기 예제와 일치하지 않았으며, 저자는 그 코드가 충분히 가깝다는 것을 알았으며 디버깅을 귀찮게하지 않았습니다.

글리코 -2 PHP 구현

  • PHP 구현은 많은 버그로 괴로워졌지만, 평가 기간을 두 번 이상하지 않으면 (기술 문서에 예상 값이 표시되지 않는 한) 분명하지 않았습니다.

Excel의 Glicko-2 계산기

  • 마지막으로 Excel 계산기는 체스 커뮤니티의 누군가가 수행하는 오류가없고 가장 전문적인 것처럼 보였습니다. JavaScript 버그가 해결되면 JavaScript와 Excel 계산기는 서로 매우 밀접하게 일치합니다 (완벽하지는 않지만 반올림 오류 내에있을 수 있음)

PHP와 JavaScript 버전에서 Excel 계산기와 밀접하게 일치하는 버그를 수정하고 저자에게 문제 / 패치를 제출했습니다.


이제 분석을 위해 정확한 Glicko-2 구현 (그중 3 개 사이)을 가지고 있다고 확신합니다.

새로운 플레이어에 대해 Glicko-2에 제안 된 기본값이 주어지면 :

Rating:      1500
RD:           350
Volatility:  0.06

다음 12 개 기간 (1 년) 동안 평가 기간 (1 개월)마다 한 번만 등급 1378 및 RD 99 ( 소스 ) 의 평균 상대에 직면하는 경우 가정 등급 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        〃


이러한 가정이 정확합니까? 계산기에 버그가 있습니까?

버그가 아닌 경우, 이것에 반하는 몇 가지 방법은 무엇입니까?

  • "진정 등급"을 편차의 하한으로 간주 (등급-RD)
  • 비활성 사용자 평가를 표시하지 않습니다
  • N 개 미만의 게임을 가진 사용자를 보여주지 마십시오


답변:


9

몇 달 전에 스칼라 구현 작업을 수행했지만 약간 연마되지는 않았지만 다시 마무리해야합니다. 나는 적어도 합리적인 결과를 얻었습니다.

예를 들어 모든 게임에서 이기면 등급이 낮은 플레이어와 만 경기하더라도 등급이 상당히 높아집니다. 그러한 상대에 대해 모든 게임에서 이길 확률은 아마도 A 등급 플레이어가 달성 할 수있는 것입니다.

제 생각에는 RD를 가진 사람을 일정량 이상으로 평가하지 않는 것이 좋습니다. 즉, "잠정적 인"것으로 간주하십시오. 또한 실제로 USCF에서 타이틀을 얻으려면 표준 시스템이 있으며 4 게임 이상의 토너먼트에서 특정 수준에서 수행해야합니다 (4 번, 믿습니다). 전체 토너먼트에서 [4 회] ~ 1378에 대항하는 것은 거의 불가능합니다.

이것을 체스에 사용하는 것이 목표입니까? 사용 사례는 무엇입니까?

업데이트 : FICS는 RD가 <80 인 사람 만 고려하여 처리합니다. (그들은 여전히 ​​Glicko-1을 사용한다고 생각합니다.) http://www.freechess.org/Help/ficsfaq.html#Q005.003

그리고 Glicko-1은 RD / 시간 감쇠도 사용합니다. Glicko-2의 주요 개선점은 "변동성"요인으로, 불규칙한 결과 또는 안정적인 결과를 가진 사람들이 약간 다르게 계산 될 수 있습니다. 나는 그것이 Glicko-1을 약간 조정하여 상당한 추가 계산을 유발한다고 생각하지만, 당신처럼 여전히 계산에 관심이있었습니다. 실제로 Glickman에게 테스트를위한 추가 데이터 포인트를 요청했지만 당시에는 공급하기에는 너무 바빴습니다.


참고로 USCF 클래스 레벨 타이틀은 5 개의 토너먼트에서 표준을 획득해야합니다.
DM
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.