Na světě existuje celá řada systémů, které se snaží kvantifikovat relativní sílu a pořadí hráčů podle ratingu počítaného z jejich turnajových výsledků a vzájemných zápasů. Mezi nejznámější patří systém ELO bodů, který používají šachisté, a žebříček ATP určující pořadí tenistů. Mezinárodně uznávaný ratingový systém se však doposud nepodařilo prosadit v go, přestože by to nesporně přispělo jak k propagaci hry, tak i k porovnání výkonnosti hráčů v různých částech světa (profesionálů i amatérů). V USA již přitom řadu let funguje ratingový systém zavedený Americkou go asociací a v roce 1995 byl systém podobný ELO přijat dokonce čínskými profesionály. Je zajímavé, že podobný pokus prosazovaný v 80. letech v Japonsku skončil nezdarem, protože narazil na silnou opozici ze strany organizací sdružujících japonské profesionální hráče.
Mnozí čeští goisté hrající go také na internetu určitě znají ratingový systém používaný na IGS, podle něhož je hráči přiřazena ratingová třída po odehrání jistého počtu klasifikovaných partií s hráči, kteří už rating mají. V posledních letech můžeme pozorovat snahy o zavedení ratingového systému také v Evropě, kde se jej pokouší uvést do života hlavně Evropské kulturní go centrum v Amsterdamu. Některé národní asociace (např. ve Francii, v Měmecku nebo taky v Maďarsku) sdružené v EGF se přitom pokusily zavést vlastní ratingové systémy, které jsou však omezeny jen na domácí hráče.
Go Rating (GoR), který v letošním roce začala používat ČAGo, je v
podstatě odvozen z šachového systému ELO bodů, jenž byl vypracován
maďarským matematikem Arpádem Elo. Tento systém vychází z myšlenky,
že při daném rozdílu ratingů dvou hráčů má každý z nich přesně
definovanou pravděpodobnost, že ve vzájemné partii vyhraje.
Označíme-li ratingy obou soupeřů RA a
RB, pak pro hráče A je pravděpodobnost
výhry v dané partii daná příslušnou hodnotou funkce
(1)
SE(D) =
1 / [e-D/a + 1]
kde D=RA-RB
a ve vzorci (1) se vyskytuje konstanta a, o níž se ještě
zmíníme níže. Obdobně hráč B má pravděpodobnost výhry
SE(-D) a přirozeně
platí, že součet obou pravděpodobností je normován na jednotku, tj.
(2)
SE(D) +
SE(-D) = 1
Funkce (1) vyhovuje rovněž požadavku, aby při stejné hodnotě ratingu
obou soupeřů měli oba hráči stejnou pravděpodobnost výhry
(3)
SE(D=0) = 0.5
Dále je nutno definovat, jak se hráči jeho rating mění v závislosti
na výsledcích dosažených v jednotlivých partiích. Změna ratingu je
dána rovnicí
(4)
R(nový) - R(starý) = con *
[ SA - SE(D)]
v níž je výsledek partie označen jako SA a
velikost kladné konstanty con určuje rychlost, s jakou
se rating mění. V případě vítězství hráče se do rovnice (4)
dosadí SA = 1, při prohře
SA = 0 (samozřejmě je možné dosadit i hodnotu
0.5, pokud by partie skončila remízou). Teoreticky se dá
počítat nový rating po každé partii, ale z praktických důvodů
je vhodnější vyhodnotit nový rating na základě všech partií, které
hráč v turnaji odehraje. Předpokládá se tak, že každý hráč
hraje celý turnaj se starým ratingem, a jeho poturnajový rating
se dostane přičtením všech změn daných rovnicí (4), kde za
D dosazujeme rozdíly ratingu
daného hráče a soupeřů, s nimiž v jednotlivých partiích hrál.
Go Rating je koncipován tak, aby existovala alespoň přibližná vazba mezi standardně používanými goistickými třídami a ratingem. Průměrnému hráči třídy 1 dan je přiřazen GoR 2100 a rozdíl mezi jednotlivými třídami představuje 100 bodů. Průměrné 1 kyu by tak mělo mít GoR 2000, 10 kyu GoR 1100, 4 dan GoR 2400 apod. Použitý systém umožňuje i zařazení profesionálních hráčů, pro které by pravděpodobně bylo vhodné přiřazení 1p = 7d = GoR 2700 a rozdíl mezi jednotlivými profesionálními třídami redukovat na přibližně 40 bodů (2p = GoR 2740, ... , 9p = GoR 3020). Všichni hráči vstupují do databáze s ratingem odpovídajícím jejich třídě a jejich GoR se dále vyvíjí podle výsledků, kterých dosahují na sledovaných turnajích. Hodnota GoR = 100 (s níž jsou do databáze zařazováni zcela noví hráči, jimž je přidělena třída 20 kyu) je považována za "dno", pod které nemůže rating hráče klesnout. Pokud je spočítaný poturnajový rating hráče nižší, nastoupí daný hráč do dalšího turnaje s GoR = 100.
Výše definované konstanty a (rovnice 1) a con (rovnice 4) je možno chápat jako volné parametry, na jejichž vhodném nastavení závisí chování (dynamika) celého ratingového systému. Při volbě parametru a se můžeme opřít o statistické výsledky a nastavit jej tak, aby počítaná pravděpodobnost výhry hráče nad soupeřem, který má GoR o 100 bodů nižší, odpovídala přesně statistické pravděpodobnosti výhry tohoto hráče nad soupeřem o jednu třídu slabším. Vzhledem k tomu, že s rostoucí silou hráče tato pravděpodobnost roste (statisticky zpracované výsledky partií z použité turnajové databáze ukazují, že např. 4 dan porazí 3 dana v téměř 70% jejich vzájemných partií, zatímco hráči 1 danu vyhrávají nad 1 kyu již jen s pravděpodobností 60% a při postupu k slabším třídám tato pravděpodobnost dále klesá až k hodnotě o něco málo vyšší než 50%), parametr a by měl záviset na třídě hráče, resp. na jeho GoRu. Bohužel, doposud ještě není statistické zpracování výsledků partií zcela dokončeno (pro některé třídy je statistika příliš nízká a tedy málo věrohodná) a v současné verzi programu, který Go Rating počítá, je použita konstantní hodnota a = 115. Příslušné pravděpodobnosti SE(D) generované rovnicí (1) jsou pro několik zvolených hodnot D uvedeny v Tabulce č. 1.
| D | 20 | 40 | 60 | 80 | 100 | 120 | 140 | 160 | 180 | 200 | 300 | 400 |
| SE(D) | 0.543 | 0.586 | 0.628 | 0.667 | 0.705 | 0.740 | 0.772 | 0.801 | 0.827 | 0.851 | 0.931 | 0.971 |
Hodnota konstanty con by měla být nastavena tak, aby umožňovala rychlý růst ratingu v oblasti slabých tříd a pomalejší změny v oblasti příslušné danovým hráčům. To odpovídá i zkušenosti, že silnější hráči podávají vyrovnanější výkony a jejich GoR by tudíž měl být stabilnější. Vyjdeme-li ze současných klasifikačních tabulek, pak po uhrání 4 bodů na pětikolovém turnaji by rating 20 kyu měl stoupnout přibližně o 300 bodů. Protože pro získání nové danové třídy jsou většinou potřeba minimálně dva takové výsledky, rating danového hráče by ve stejné situaci měl stoupnout jen o 50-60 bodů. Z výše uvedeného vyplývá, že parametr con musí být nerostoucí funkcí ratingu, která má pro GoR = 100 hodnotu přibližně con = 120 a pro GoR > 2000 hodnotu asi 5-6 krát menší. V současné verzi programu jsou hodnoty parametru con nastaveny dle Tabulky č. 2, přičemž se mezi jednotlivými body lineárně interpoluje.
| GoR | con | GoR | con | GoR | con |
| 100 | 116 | 1000 | 70 | 1900 | 31 |
| 200 | 110 | 1100 | 65 | 2000 | 27 |
| 300 | 105 | 1200 | 60 | 2100 | 24 |
| 400 | 100 | 1300 | 55 | 2200 | 21 |
| 500 | 95 | 1400 | 51 | 2300 | 18 |
| 600 | 90 | 1500 | 47 | 2400 | 15 |
| 700 | 85 | 1600 | 43 | 2500 | 13 |
| 800 | 80 | 1700 | 39 | 2600 | 11 |
| 900 | 75 | 1800 | 35 | 2700 | 10 |
Závěrem bych chtěl poznamenat, že ideální ratingový systém zřejmě neexistuje, a proto vždy budou existovat problémy, které nepůjdou v rámci daného systému vyřešit. Asi největším z nich jsou propady ratingu oproti třídám především v oblasti 5-20 kyu. Tento problém asi nebude možné zcela odstranit, protože je do značné míry způsoben existujícím klasifikačním systémem, který "odměňuje" nadprůměrné výsledky hráčů, ale vůbec je netrestá za výsledky špatné. Odchylky ratingu od třídy hráče se projevují i u silnějších hráčů, ale v oblasti nižších ratingů je tento jev umocněn velkou hodnotou parametru con. Jsem si vědom, že současná verze GoRu má ještě i řadu dalších nedostatků, které se budu snažit postupně odstranit. O příslušných změnách budete informováni buď přímo na turnajích nebo na stránkách Iga. Jakékoliv náměty a připomínky z vaší strany jsou vítány.
Poděkování: Autor článku děkuje L. Dvořákovi, díky jehož nezištné pomoci a programátorské práci mohl být GoR uveden do života. Long live GoR!
(pro časopis Igo napsal Aleš Cieplý )