CAFE

〈탁구 상식〉

[스크랩] [티바스폰2기] 레이팅 시스템의 이론과 구현 실제

작성자이헌상|작성시간14.12.19|조회수105 목록 댓글 1

 

매년 이맘때 쯤이면, 한 해를 돌아보면서 즐거웠던 일과 아쉬웠던 일들을 돌이켜보곤 하는데요.

저 개인적으로는 탁구닷컴의 티바 스폰 동호인으로 선정되면서 많은 분들을 만나게 되었고,

저의 탁구 활동에 새로운 변화가 있었다고 봅니다.

 

올 한해를 마무리하면서 그동안 느꼈던 것 중 부수 제도와 레이팅에 관한 글을 써보려고 합니다.

 

우리나라 생활체육 탁구는 여러분들이 잘 아시는 바와 같이 전국적으로 일관성 있는 부수 제도가 적용되어 있다고 보기

어렵다 보니 참 말도 많고 탈도 많은데요. 그동안 수많은 오픈 대회에서의 부수에 대한 공정성 시비로 인해 이곳 카페에서도

부수 대안으로 레이팅 시스템 도입 필요성에 대한 논의가 여러 차례 있었던 걸로 기억합니다.

 

저 개인적으로 과연 이 레이팅 시스템이 도대체 무엇이고, 어떻게 점수를 산정하는지 궁금하기도 하여 인터넷 검색을

해보았습니다.  궁즉통이랄까요?

 

찾다보니 굉장히 신뢰할 만한 시스템을 발견 했는데요, 바로 Glicko-2 시스템 입니다.

 

Glicko-2 시스템은 미국 보스톤 대학의 Mark E. Glickman 교수가 체스 레이팅 시스템으로 처음 고안한 Glicko 시스템을

보완한 버전입니다.[1]

이 Glicko-2 시스템에서 눈여겨 볼만한 점은 바로 레이팅 신뢰도를 보여주는 RD(=rating deviation) 값이 사용된다는 점입니다.

RD 에 대해서는 아래 알고리즘에서 보다 자세히 설명하도록 하겠습니다.

 

그리고, 내용이 좀 어렵다 보니 알고리즘 부분은 스킵하고 그 아래에 시뮬레이션한 부분부터 보셔도 됩니다.

 

초기 Glicko-2 레이팅 시스템은 2011년 6월 7일 Noah Smith 에 의해 프로그램의 뼈대가 되는 알고리즘이 작성되었는데,

이 알고리즘에 중대한 수학적 에러가 있어 다음 해 9월 28일에 Guangcong Luo 이라는 분에 의해 버그가 보완되었습니다.

 

현재는 개선된 알고리즘을 바탕으로 Java 나 PHP 등 여러가지 프로그램 언어로 라이브러리가 공개되어 있고,

체스나 포커, 게임 등의 랭킹 시스템으로 도입되어 사용하고 있습니다.

 

그럼 좀더 나아가 Glicko-2 레이팅 알고리즘을 PHP 라는 서버 프로그래밍 언어로 구현해보고 시뮬레이션한 내용을 소개해

보고자 합니다.

 

이것을 하는 이유는 부수 제도 대안으로 대두되고 있는 레이팅 시스템이 실제 동호회 수준에서 전국 단위 오픈대회까지

현장에서 전국적으로 일관되고 실효성 있게 적용하여 운용하는 데 있어 어떤게 고려되어야 하는지 조금이나마 검증아닌

검증을 해보고자 함이었습니다.

 

알고리즘의 각 단계마다 복잡한 수학적 계산이 필요한데, 중반 이후로 가면 조금 어렵습니다.

학창 시절 배운 수학 실력으로 계산해 보시는 것도 치매 예방에 도움이 되지 않을까 생각합니다.

 

공개된 알고리즘은 이 레이팅 시스템의 핵심적인 부분으로 PHP 클래스 라이브러리 형태라서 실제 시뮬레이션을 위해서는

S/W 기술적인 부분을 추가로 개발하여 시뮬레이션을 하여 결과를 확인하였습니다.

 

결과에 대한 시사점과 제언은 마지막 부분에 하기로 하겠습니다.

 

 

Glicko-2 시스템

 

Glicko-2 시스템에서 모든 선수들은 다음과 같은 값들을 갖습니다.

 

  • rating(레이팅 점수) = r
  • rating deviation(레이팅 점수 편차) = RD
  • rating volatility(레이팅 변동률) = σ(sigma)

 

여기서 rate, rating 을 우리말로 표현하면 문맥이나 상황에 따라 순위, 랭킹, 등급, 점수 등으로 해석될 소지가 있으나,

여기서는 한 선수가 다른 경쟁선수들에 비해 우월하거나 열등함을 정량적인 수치를 통해 비교하기 때문에 '레이팅 점수'로

표현하고자 합니다.

 

Glicko 시스템은 단순히 순위를 말하기 보다 신뢰구간 형태로 한 선수의 성적을 요약하는 데 매우 효과적이라 합니다.

이렇게 하는 한 가지 방법으로 95% 신뢰구간을 들수가 있습니다.

 

이 신뢰구간에서 가장 낮은 값(하한치)은 레이팅 점수에서 2 x RD(편차) 를 뺀 값이 되고, 가장 큰 값(상한치)은

레이팅 점수에서에 2 x RD 를 더한 값이 됩니다.

예를 들면, 한 선수의 레이팅 점수가 1850 이고, 레이팅 점수 편차(RD) 가 50 일 때, 95% 신뢰구간은 1750 ~ 1950 사이가

됩니다. 이럴때 우리는 이 선수의 실제 경기 성적을 1750 부터 1950 사이가 될 것이라고 95% 확신할 수 있게 됩니다.

그리고, 한 선수가 낮은 RD(편차) 값을 갖는다면, 이는 매우 좁은 형태의 변동 구간을 갖는다고 95% 확신하게 됩니다.

 

그래서 Glicko-2 시스템에서 중요한 것은 바로 이 RD(편차) 값이며, 리그전을 하면 할 수록 이 RD 값은 점점 작아지게

 됩니다. 즉, 그 선수의 레이팅 점수 등락폭이 어느 정도 일정하게 좁혀진다라고 말할 수 있습니다.

만약, 어떤 선수가 리그전 참여를 잘 안하게 되면 이 RD(편차) 값은 오히려 증가할 수도 있습니다.

 

레이팅 변동률(rating volatility, sigma) 수치는 한 선수의 레이팅 점수가 오르 내리는 등락의 정도를 나타낸다.

예를 들어 한 선수가 슬럼프에 빠졌다가 그 후에 어느 누구도 예상치 못할 정도의 우수한 성적을 냈다고 했을 때

즉, 불규칙한 경기 성적을 보였다면, 그 선수의 레이팅 변동률 수치는 매우 높고, 반대로 일관되게 좋은 성적이든

나쁜 성적이든 꾸준한 성적을 보인다면 레이팅 변동률 수치는 상대적으로 작게 됩니다.

 

 

공식

 

레이팅 알고리즘을 적용하기 위해서는 레이팅 기간(보통 리그전)에 진행된 모든 게임의 결과가 필요합니다.

모든 선수들은 레이팅 기간 시작시에 직전 리그전 결과로 산출된 또는 초기값의 레이팅 점수, RD(편차),

volatility(레이팅 변동률) 값을 갖게 되고, 모든 게임 결과는 집계되어 종료시 최종적으로 이 값들을 갱신하게 됩니다.

 

Glicko-2 시스템은 레이팅 기간의 게임이 점점 많아질수록(보통 한 레이팅 기간 동안 한 선수당 적어도 10~15 게임

정도가 바람직) 가장 효과적으로 동작한다고 합니다. 보통 동호회 리그전은 무핸디 풀리그로 인한 시간 제약이 있기

때문에 레이팅 기간의 전체 게임수, 세트수 등은 경기 운영자나 관리자의 재량에 따라 진행하면 됩니다.

 

이 Glicko-2 시스템은 세트 득실수가 공식에 사용되지 않고, 오직 승/패/무승부(사실상 탁구에서는 무의미)만

반영되기 때문에 풀리그를 시간 제약상 3세트 2선승제로 해도 상관은 없습니다. 이 시스템에서 중요한 것은

어떤 레이팅 점수를 갖고 있는 누구와 경기해서 승/패를 했는지가 중요합니다. 물론, 레이팅만을 위하는 게 아니라

상대전적 등을 추가로 관리하려면 당연히 세트 득실수까지 필요하겠죠?

 

Glicko-2 레이팅 scale(규모)는 초기 Glick 시스템의 것과는 좀 다르지만, 공식을 통해 이 두가지 scale 사이에서

왔다갔다 할 수 있습니다.

 

다음의 각 단계는 초기 Glicko 기반의 scale 로 시작하여 공식을 통해 Glicko-2 scale 로 변환하고, 최종적으로 다시

초기 Glicko scale로 변환하여 레이팅 점수를 산출하는 알고리즘입니다.

 

 

1단계

 

레이팅 기간(리그전)이 시작될 때, 각 선수들의 초기 레이팅 점수, RD(편차)를 설정 또는 확인합니다.

Glicko 시스템의 상수값(타우,tau)을 설정합니다. 이 상수값은 volatility(레이팅 변동률) 변화 정도를 결정합니다.
이 상수값은 예측 정확도를 높이기 위해 테스트를 통해 얻어져야 하지만, 보통 0.3 ~ 1.2 사이가 됩니다.
이 값이 작으면 volatility(레이팅 변동률) 수치가 크게(심하게) 변하는 것을 막아줍니다.
즉, 결코 일어날 거 같지 않은 게임 결과가 나왔다면, 이 상수값은 가능한 작은 값으로 설정하면 됩니다.(최소값은 0.2)

(a) 만약 어떤 선수가 아직 레이팅이 정해지지 않은 신규 선수라면, 초기 레이팅 점수는 1500 으로 설정하고, RD(편차)는

     350 으로 설정합니다. 그리고, volatility 는 경우에 따라 다르지만, 보통 0.06 으로 설정합니다.

(b) 만약 기존 선수라면, 그 선수의 가장 최근의 rate, RD, volatility 를 사용합니다.

     

    2단계

     

    각 선수들에 대해 레이팅 점수 r 과 RD(편차) 값을 Glicko-2 scale 로 변환합니다. volatility(레이팅 변동률, sigma)와

    상수값(tau)는 변하지 않습니다.

     

     

     

     

     

    신규 선수라면 Glick scale 기준의 레이팅 점수 r 은 1500 이므로, Glicko-2 scale 로 변환된 레이팅 점수 뮤(mu) 값은

    0 이 되고, RD(편차) 값은 Glico-2 scale 로 변환된 파이(phi)는 RD(편차) 초기값이 350 이므로 2.014762 가 됩니다.

     


     

     

    Glicko

    Glicko-2 

     r → mu

    1500

    0

     RD → phi

    350

    2.014762


     

    sigma = 0.06
    tau = 0.75


    한 선수는 총 m 명의 선수(각각이 변환된 레이팅 점수 mu 1,mu 2,...,mu m과, 변환된 편차 phi 1,phi 2,...,phi m을 가짐)와

    경기를 합니다.


    각 경쟁선수와의 경기결과 점수는 s 1,s 2,...,s m 이라고 한다.(승리는 1, 무승부는 0.5, 패는 0)
    탁구에서 무승부는 있을 수 없으므로 사실상 승리는 1점, 패하면 0점 입니다. 위에서도 언급했지만, 이 Glicko-2 시스템은

    세트 득실수가 사용되지 않고 단순히 경쟁선수(레이팅 점수, 레이팅 편차)에게 승리를 하였는지, 패했는지가 레이팅 점수에

    사용됩니다. 경쟁선수의 volatility(레이팅 변동률, sigma) 는 이 계산에 관여하지 않습니다.

     

    3단계

     

    이제, 경기 결과만으로 선수의 잠정적인 변동값(estimated variance) v 를 계산합니다.
    자신을 제외한 경쟁선수들은 j=1 .. m 으로 표기한 것이며, 자신의 Glicko-2 scale 레이팅 점수는 mu 로 표기합니다.
    아래 수식을 보면 자신의 변환된 레이팅 점수와 경쟁선수의 레이팅 점수가 동일하다면 전체 변동값 v 에는 영향을

    주지 않게 됩니다.

     

     

     

     

     

     

     

    4단계

     

    4단계에서는 이전 리그전 레이팅 점수 대비 이번 경기 결과의 레이팅을 짐작해 볼 수 있는 잠정적인 레이팅 개선치

    (estimated improvement) delta(델타) 값을 구합니다. 아래 식에서 s 값은 각 게임의 승/패 점수를 의미합니다.

     

     

     

     

    5단계

     

    이제 좀 복잡한 과정을 거쳐 새로운 volatility(레이팅 변동률,sigma) 를 계산해야 합니다. 이 계산은 재귀호출로 계산됩니다.

    사실 이 부분의 재귀호출 부분에서 버그가 발견되어 2012년 2월 22일에 보완되었고 지금 현재는 안정적이라고 합니다.

    Glickman 교수가 처음 고안할 때 사용한 알고리즘은 "Newton-Raphson 알고리즘"이었는데, 어떤 경우에는 값을 제대로

    계산하지 못하더라는 걸 알고, 보다 안정적으로 이 값을 구하기 위해 이른바 "Illinois 알고리즘"을 적용하였다고 합니다.

     

     

     

     

    6단계

     

    새로운 rating deviation(phi, 파이)을 업데이트 합니다.

     

     

     

     


    7단계

     

    이제 위에서 계산한 값들을 이용하여 새로운 rating 과 RD 값을 업데이트 합니다.

     

     

     

     


    8단계

     

    7단계에서 나온 Glicko-2 scale rating 과 RD 값을 다시 원래 Glicko scale 로 변환하면 최종적으로 완료됩니다.

     

     

     

    만약, 선수가 레이팅 기간(리그전) 부상이나 사정으로 인해 경기에 참여하지 못하게 되면, 6단계만 적용하게 됩니다.
    이 경우에는 그 선수의 레이팅과 volatility 는 변하지 않으며, 다만 RD 값이 아래 공식에 따라 증가하게 됩니다.

     

     

     

     

     

     

    이제까지 Glicko-2 레이팅 시스템의 핵심 알고리즘에 대해 알아보았습니다.

    어떻게 보면 어렵고 복잡하기도 하고, 어떻게 보면 조금 쉽기도 합니다.

     

    그럼, 여기까지 잘 따라와 주신 분들을 위해 예제를 통해 이 레이팅 시스템으로 본 한 선수의 레이팅 점수를

    알아보도록 하겠습니다.

     

     

    예제

     

    홍길동이라는 생활체육 탁구선수가 있습니다. 아직 리그전에 참여하지 않아서 이 선수의 레이팅 점수는 기본 1500 점입니다.

    그런데, 주말에 동네 탁구장에 가서 3명의 아마추어 동호인과 리그전을 했다고 합니다.

    A 선수는 레이팅 점수가 1400, B 선수는 1550, C 선수가 1700 점이라고 합니다.

    3게임을 한 결과, A 선수에게는 운좋게도 하수였는지 이겼고, 나머지 선수들에게는 모두 졌다고 합니다.

    그리고, 자신의 RD(편차, rating deviation) 는 200, 나머지 선수는 각각 30,100,300 이라고 합니다.

    홍길동 선수의 volatility(레이팅 변동률,sigma) 는 0.06 이고, 시스템 상수인 타우(tau)는 0.5 라고 할 때,

    첫 리그전을 치른 홍길동 선수의 새로운 레이팅 점수는 얼마일까요?

     

    풀이

     

    먼저 주어진 값들을 확인합니다.

     

    홍길동 선수의 Glicko 값들은 다음과 같습니다.

     

    r = 1500

    RD = 200

    sigma = 0.06

    tau = 0.5

    s 1 = 1

    s 2 = 0

    s 3 = 0

     

    우리에게 익숙한 스코어 보드로 표현하면 다음과 같습니다.(세트 득실은 제외)

     

     

     

     

     


    색깔로 칠해진 부분은 경기를 안했다고 가정하였습니다.

     

     

    이 Glicko scale 의 값들을 이제 Glicko-2 scale 의 값들로 변환을 합니다.

     

    mu = 0

    phi = 1.1513

     

    그리고 각 경쟁선수들에 대해 다음과 같은 값들로 표시합니다.

     

     

    j

    mu j

    phi j 

    g(phi j)

    E(mu, mu j, phi j) 

    s j 

     1

    -0.5756

    0.1727 

    0.9955 

     0.639

    1

     2

    0.2878

    0.5756

    0.9531

    0.432

    0

     3

     1.1513

    1.7269

    0.7242

    0.303

    0

     


    이 값들을 이용하여 v 값과 delta 값을 구합니다.

     

    v = ( [ (0.9955)^2(0.639)(1-0.639) + (0.9531)^2(0.432)(1-0.432) + (0.7242)^2(0.303)(1-0.303) ] ) ^ -1 = 1.7785

     

    delta = 1.7785(0.9955(1-0.639) + 0.9531(0-0.432) + 0.7242(0-0.303)) = -0.4834

     

    5단계의 재귀호출 과정을 거쳐 새로운 sigma 값은 0.05999 가 됩니다.

     

    이제 6단계의 새로운 rating deviation(phi, 파이)을 계산하면 1.152862 가 나옵니다.

     

    다음으로 7단계의 Glicko-2 scale 의 새로운 mu 값과 phi 값을 구합니다.

     

    new phi = 0.8722

     

    new mu = -0.2069

     

    마지막으로 위 값을 Glicko scale 로 다시 변환하면 끝나게 됩니다.

     

    new rating = -0.2069(173.7178) + 1500 = 1464.06

    new RD = 0.8722(173.7178) = 151.52

     

    초기에 홍길동 선수의 레이팅 점수는 1500 점이었고, RD 값은 200 이었습니다.

    첫 리그전을 치르고 나니 홍길동 선수는 첫 경기는 이겼지만, 나머지 두경기를 모두 지는 바람에 기본 점수 1500점에서

    내려간 1464.06 으로 점수가 정해지게 됩니다. 물론, 리그전을 시작했기 때문에 RD 값도 역시 당연히 처음 200 보다 작아지게

    되었습니다.

     

    나머지 선수들에 대해서도 이와 같은 방법으로 레이팅 점수를 계산할 수 있습니다.

     

     

    PHP 프로그래밍을 통한 시뮬레이션

     

    자, 그렇다면 이 Glicko-2 레이팅 알고리즘을 알았으니 이게 정상적으로 동작하는지, 또 보다 용이하게 적용하기 위해

    서버 프로그래밍 언어인 PHP를 통해 구현해 보았습니다.

     

    인터넷 상에서 공개된 알고리즘 중에 다행히 제가 아는 PHP 언어의 라이브러리가 있어서 이 라이브러리를 다운 받을수

    있었습니다.

     

    그렇지만, 이게 완전한 소스코드가 아니기에 시뮬레이션이나 웹으로 구현하기 위해서는 이 라이브러리에 몇가지 기능들을

    구현해 주어야 합니다.

     

    예를 들면, 탁구선수 A를 생성하는 부분과 초기 값을 할당해주는 부분, 그리고 각 경쟁선수와의 게임결과(승/패)를

    등록할 때 입력자의 실수를 방지하기 위한 예외처리 기능(특히, A가 B에게 이겨서 score 를 1로 할당해줘야 하는데,

    B가 A에게도 이겼다고 실수로 1로 할당하는 경우가 종종 발생하게 되며, 이를 시스템적으로 먼저 등록한 것을 정상이라고

    간주할지, 아니면 나중에 등록한 것을 정상이라고 간주할지, 아니면 입력자에게 어느 것이 맞는지 확인할 때 까지 입력을

    보류하는 기능), 각 선수들의 리그전 시작전의 상태값 출력, 리그전 후의 변화된 상태값 출력하는 기능 등을 추가로 구현해

    주어야 그나마 아주 기본적으로 이 Glicko-2 레이팅 시스템을 시뮬레이션 해볼수 있게 됩니다.

     

    다음은 위 예제를 프로그램으로 개발하여 시뮬레이션 한 결과입니다. 물론, 위 예제의 풀이에서 보는 것과 동일한 결과를
    가져왔으니 프로그램이 정상적으로 동작한다고 봐야겠죠?

     

    편의상 홍길동은 Alice 로 하였습니다.

     

     

    [root@ home]# /usr/bin/php glicko2_v4.php
    Player          = Alice
    ==================================
    rating          = 1500.00000
    rate deviation  = 200.00000
    mu              = 0.00000
    phi             = 1.15129
    sigma           = 0.06000
    tau(constant)   = 0.50000

     

    Player          = Bob
    ==================================
    rating          = 1400.00000
    rate deviation  = 30.00000
    mu              = -0.57565
    phi             = 0.17269
    sigma           = 0.06000
    tau(constant)   = 0.50000

     

    Player          = Charlie
    ==================================
    rating          = 1550.00000
    rate deviation  = 100.00000
    mu              = 0.28782
    phi             = 0.57565
    sigma           = 0.06000
    tau(constant)   = 0.50000

     

    Player          = David
    ==================================
    rating          = 1700.00000
    rate deviation  = 300.00000
    mu              = 1.15129
    phi             = 1.72694
    sigma           = 0.06000
    tau(constant)   = 0.50000

     

    Player          = Alice
    ==================================
    [1] Alice : Bob,         result = 1.0
    [2] Alice : Charlie,     result = 0.0
    [3] Alice : David,       result = 0.0
    ==================================
    Wins = 1 Loss = 2 Draw = 0 ==> Score = 4
    ==================================

     

    Player          = Alice
    ==================================
    rating          = 1464.05067   <=== 기본 1500 에서 시작함
    rate deviation  = 151.51652  <=== 기본 RD 값이 200 에서 시작함
    mu              = -0.20694
    phi             = 0.87220
    sigma           = 0.06000
    tau(constant)   = 0.50000

     

    Player          = Bob
    ==================================
    [1] Bob : Alice,         result = 0.0
    ==================================
    Wins = 0 Loss = 1 Draw = 0 ==> Score = 1
    ==================================

     

    Player          = Bob
    ==================================
    rating          = 1398.14356   <=== 리그 시작전 1400
    rate deviation  = 31.67022   <=== 리그 시작전 30
    mu              = -0.58633
    phi             = 0.18231
    sigma           = 0.06000
    tau(constant)   = 0.50000

     

    Player          = Charlie
    ==================================
    [1] Charlie : Alice,     result = 1.0
    ==================================
    Wins = 1 Loss = 0 Draw = 0 ==> Score = 2
    ==================================

     

    Player          = Charlie
    ==================================
    rating          = 1570.39474   <=== 리그 시작전 1550
    rate deviation  = 97.70917   <=== 리그 시작전 100
    mu              = 0.40522
    phi             = 0.56246
    sigma           = 0.06000
    tau(constant)   = 0.50000

     

    Player          = David
    ==================================
    [1] David : Alice,       result = 1.0
    ==================================
    Wins = 1 Loss = 0 Draw = 0 ==> Score = 2
    ==================================

     

    Player          = David
    ==================================
    rating          = 1784.42179    <=== 리그 시작전 1700
    rate deviation  = 251.56556   <=== 리그 시작전 300
    mu              = 1.63726
    phi             = 1.44813
    sigma           = 0.06000
    tau(constant)   = 0.50000

     

     

    현장에서 전국 단위로 적용되기 위해 고려되어야 할 사항

     

    지금 현재는 이 알고리즘을 프로그램 레벨에서 정상적으로 동작하는지만 확인하였으며, 현장에서 전국 단위로 실행되기
    위해서는 많은 허들을 풀어야 할 것으로 생각됩니다.

     

    [ 레이팅 점수가 의미하는 실력 수준의 대표성  측면 ]

     

    만약 어떤 선수가 쉬운 상대가 많은 그룹에서만 리그전을 하고 이를 통해 나온 레이팅 점수는 그렇지 않은 그룹에서
    활동하는 선수의 레이팅 점수와 서로 객관적으로 비교할 수 없게 됩니다.

     

    - 이 레이팅 시스템이 일부 동호회 내에서만 적용되게 될 경우, 이 점수는 그 동호회 내에서 각 선수들의 랭킹이나 등급을
      부여하는 데에 소기의 목적은 달성할 수 있으나, 그 동호회를 벗어난 다른 그룹의 레이팅 점수를 동등한 수준에서 선수간
      실력을 대변하지는 못한다고 볼 수 있습니다. 이는 Glicko-2 레이팅 시스템 뿐만 아니라 다른 레이팅 시스템도 마찬가지의
      문제라 생각됩니다.

     

    -  따라서, 레이팅 시스템은 어느 한 동호회나 일부 지역에서만 적용하는 것은 매우 제한적인 등급 관리에 불과하며, 레이팅이
       도입된 그룹 및 단체간 리그전이  반드시 활발히 이루어져야 레이팅과 그에 비례한 실력이나 성적이 의미가 있다고 봅니다.

     

    - 만약, 상, 하위부로 나눠 리그전을 레이팅으로 한다 하더라도, 그룹내 레이팅 기간(리그전)이 너무 길면 그 또한 레이팅 점수
      대비 실력을 객관적으로 말하기 어려워진다고 봅니다. 적어도 상, 하위부 섞어서 하는 리그전을 격주 라도 진행해야 한다고
      생각합니다.


    [ 운영 관리 측면 ]

     

    운영 관리 또한 공신력 있는 전국 규모의 기관에서 가능한 거의 모든 경기를 관리 할 수 있어야 현실화 될 수 있다고 생각됩니다.

     

    - 이런 수고를 일사분란하고 정교하게 하기 위해서는 이를 총괄하는 기관이 반드시 있어야 하고, 각 시도군구별로 위임하에
      해당 지역에서 발생하는 리그전이나 오픈 대회 등을 모두 기록 관리할 수 있도록 해야 합니다.

     

    - 그렇지 않다면 이 레이팅 제도는 결코 현실화되기 어려운 이슈라고 봅니다.

     

     

    올해는 시간이 더 이상 나지 않을 거 같고, 내년에는 이번에 이 알고리즘을 적용하여 프로토타입 형태로 개발해본 프로그램을
    더 확장하여 보다 체계적이고 안정적인 모습의 레이팅 시스템을 구현해 보고자 합니다.

     

    재미없은 긴글을 여기까지 봐주셔서 감사합니다 ^^

     

     

     

    References

     

    1. http://en.wikipedia.org/wiki/Glicko_rating_system

    2. Mark E. Glickman, Boston University, Example of the Glicko-2 system, November 30, 2013

    다음검색
    스크랩 원문 : 고슴도치 탁구클럽
    현재 게시글 추가 기능 열기

    댓글

    댓글 리스트
    • 작성자이헌상 작성자 본인 여부 작성자 | 작성시간 14.12.19 시간이 허락될 때 천천히 음미해 보시면 좋을 것 같습니다.~^^
    댓글 전체보기
    맨위로

    카페 검색

    카페 검색어 입력폼