Go Rating

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.

Tabulka č.1: Hodnoty pravděpodobnosti výhry pro daný rozdíl ratingů.

D 20 40 60 80 100 120 140 160 180 200 300 400
SE(D) 0.5430.5860.6280.667 0.7050.7400.7720.801 0.8270.8510.9310.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.

Tabulka č. 2: Závislost parametru con na ratingu hráče.

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

Protože pro hráče s nižším ratingem má parametr con větší hodnotu než pro hráče s ratingem vyšším, každému hráči jeho GoR v jistém smyslu roste "rychleji" než klesá. Pokud by spolu hráli dva zcela vyrovnaní soupeři a jejich GoR byl přepočítáván po každé partii, dá se ukázat, že oběma rating sice pomalu, ale přece jen postupně poroste. Tento efekt je přímým důsledkem zvolené parametrizace (zejména klesajícího charakteru parametru con jako funkce ratingu) a umožňuje kompenzovat tzv. efekt nových hráčů. Kdyby totiž parametr con byl konstantní funkcí ratingu, při každé partii by se zachovával součet ratingů obou soupeřů a tedy i celkový součet ratingů všech hráčů. Vstup nových hráčů do databáze, začínajících na hodnotě GoR = 100, by tak snižoval průměrný rating připadající na jednoho hráče a ve svém důsledku by tedy vedl k postupnému snížení ratingu "starších" hráčů.

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ý )