wtorek, 26 lutego 2013

Statystyka, szachowy ranking i jego zmiany: drobne matematyczne cuda szachowe okiem amatora (1)

Co prawda obiecałem sobie, że nie będę publikował nic na czym się dostatecznie dobrze nie znam, jednak walory edukacyjno-motywujące są dla mnie znacznie ważniejsze niż moje kalectwo w danych tematach. Liczę na wyrozumiałość ze strony grona osób zajmujących się nauką (zwłaszcza statystyką i przetwarzaniem danych) i bardzo mocne przymrużenie obu oczu przy czytaniu poniższego wpisu. Dziękuję.

Czy ranking nie kłamie? Jak interpretować i odczytywać dane statystyczne, które widnieją na różnych wykresach? Dlaczego ranking jest podatny na manipulację? Jak tego unikać? Czy ktoś gra silno (solidnie) czy ma jedynie wysoki ranking? Czy jest możliwe posiadanie zawyżonego lub zaniżonego rankingu? O co w tym wszystkich chodzi?

Pytań jest wiele. Dziś spróbuję odpowiedzieć na jedno z nich. Mianowicie pokażę w jaki sposób można stosunkowo niewielkim wysiłkiem sprawić sobie dość ładnie wyglądający ranking. A zatem do dzieła!

Co by się stało gdyby 2 graczy zagrało ze sobą mecz składający się co najmniej ze 100 partii? Jakie wnioski można byłoby wyciągnąć z danych mówiących o ilości wygranych i remisów? Przypomnijmy symbole i ich znaczenie w tym kontekście. Plusem (+) oznaczamy partie wygrane, z kolei minusem (-) przegrane. W przypadku remisu pojawia się magiczny znaczek równości (=). Czyli przykładowo rozegrano 162 partie, zwycięzca uzyskał 148.5 pkt. Jak wyglądają magiczne znaczki? Otóż można to zapisać w ten oto sposób: +144 (zwycięstw), -9 (porażek), =9 (remisów). A jak wysoki procent zwycięstw daje taki wynik? Otóż dodajemy do siebie wszystkie zwycięstwa (warte po 1 pkt) oraz remisy (każdy po 0,5 pkt) i następnie dzielimy tę sumę przez liczbę partii (tutaj 162). Wychodzi zatem wskaźnik zwycięstw (w skrócie "wz") w wysokości 91.7%.

Teraz zastanówmy się o ile silniejszy był zawodnik A (zwycięzca) od gracza B (pokonanego). Jak można to oszacować? Otóż w tym celu posługujemy się tabelą, którą opracowali matematycy (o statystycznym zacięciu). Po angielsku nazywa się to "Elo rating vs. winning probabilities" i można sobie o tym poczytać w tym miejscu: http://www.ascotti.org/programming/chess/elo.htm


Tabela wartości (procentowych) zwycięstw (wz) w stosunku do różnicy poziomu między zawodnikami

Powyżej zobaczymy tabelę w której mamy następujące dane: w lewej kolumnie (.99, .67, czy .12) oznaczenie dotyczące procentu zwycięstw (nasz wskaźnik "wz" w ujęciu procentowym). Przykładowo .99 oznacza 99%, zaś .67 dokładnie 67%. Z kolei po prawej stronie obok tego wskaźnika mamy wartość dodatnią bądź ujemną (jeśli wskaźnik jest wysoki to będzie zawsze dodatnia, a jak niski to ujemna). Oznacza on odniesienie silniejszego gracza względem słabszego. I tak ".92 +401" oznacza, że gracz A, który uzyskuje 92% wskaźnik zwycięstw nad przeciwnikiem B, może być (przynajmniej statystycznie) traktowany jako silniejszy o +401 punktów. Przykładowo jeśli gracz B ma ranking 1580, wówczas jego przeciwnik ma mieć ranking powiększony o 401, czyli aż 1981. Słowem? Wystarczy znać wartość procentową zwycięstw (lub ilość partii rozegranych z wynikiem końcowym), aby można było oszacować o ile punktów jeden gracz jest silniejszy od drugiego.

Czy same te dane są wystarczające? Otóż nie. Należy jeszcze uwzględnić następujące zmienne (elementy), które będą zapewniały jak największą wiarygodność tego wskaźnika (a następnie wyciągane z nich wnioski). Przede wszystkim musimy spełnić takie kryteria jak:

a) minimalna ilość partii - nie mniejsza niż 20. Poniżej tej wartości będzie ciężko uznać, iż wynik nie był w dużej (tzn. istotnej statystycznie) mierze przypadkowy. Natomiast od 100 partii w górę można być niemal całkowicie pewnym, iż nie ma w nim więcej niż 1-2% przypadku. Jest to bowiem praktycznie zbyt duża ilość partii, aby przypadek mógł odgrywać jakąkolwiek istotną statystycznie rolę.

b) jednolitość partii - czyli wszystkie powinny być rozgrywane w takim samym (lub bardzo podobnym) tempie. To proste. Chodzi o to, aby partie było jednakowe pod względem czasu do namysłu dla obu graczy. Idealnie gdy wszystkie są takie same, a w praktyce można dopuścić pewne wyjątki polegające na tym, że partie są bardzo zbliżone do siebie. Chociażby tak. Rozegrano 100 partii, z tego 90 z nich tempem po 20 minut na zawodnika, zaś pozostałe z nich po 15 minut. Im mniejsze różnice między zmianą czasu do namysłu między grupami partii, tym większa wiarygodność.

c) partie powinny być rozgrywane naprzemiennie - raz białym kolorem, a następnie czarnym. W ten sposób dostaniemy wynik dla każdego gracza który rozegrał tę samą liczbę partię kolorem białym jak i czarnym. Ważne jest także to, aby stale (co partię) zmieniać kolor albo jeśli nie ma takiej możliwości to rozegrać hurtem połowę partii jednym kolorem, a następnie pozostałą część - kolorem przeciwnym.

d) warunki dla obu graczy powinny być identyczne. Tutaj chodzi głównie o to, aby każdy miał takie same szanse na wygrywanie jak i na przegrywanie. Jeśli jednemu z przeciwników będzie przeszkadzała żona lub dziecko, zaś drugi będzie miał "święty spokój" w czasie rozgrywek, wówczas wyniki partii nie mogą być uznawane za wiarygodne. Tak samo w przypadku, gdy jeden z graczy ma techniczne warunki znacznie gorsze niż jego przeciwnik. Prostym przykładem będzie słabe połączenie internetowe powodujące tzw. lagi czy chociażby niesprawna myszka, zbyt mała (niewyraźna) szachownica, bierki czy też inne istotne elementy związane z grą w szachy.

e) postawa w stosunku do meczu (badania) - obaj zawodnicy powinni w każdej z partii starać się dawać z siebie wszystko (popularne określenie "cisnąć na wygraną ile fabryka daje"). Nawet jeśli styl gry jest ryzykowny lub też przeciwnik wykorzystuje słabości nie związane bezpośrednio z umiejętnościami szachowymi. Warto dodać, że chodzi przede wszystkim o to, aby zbadać różnicę w sile (poziomie) gry w warunkach optymalnych. A za takie możemy uznać te w których obaj przeciwnicy pokazują pełnię swoich możliwości. Pamiętajmy, że wliczamy w to także strategię meczową, która przykładowo może zakładać to, że dany gracz będzie "zapierał na remis", dotąd aż uzna to za skuteczną metodę pozwalającą na wygranie meczu.

Wszystko ładnie, pięknie, tyle że to rozważania teoretyczne, prawda? Świetnie byłoby gdybyśmy pokazali jak to się ma na praktycznym przykładzie. No to proszę bardzo! W ramach "eksperymentu naukowego" przeprowadziłem test polegający na symulacji takiego meczu z jednym z zawodników (nota bene kolega, który czasami stawiał tak potężny opór, że wydawało mi się jakbym przepychał się i walczył z czołgiem).

Test ten rozpoczął się w dniu 2011-06-05, natomiast zakończył się dokładnie w 2013-02-24. To dość długi okres, bo aż blisko dwa lata. Niemniej bardzo ważnym elementem było to, że był to tak zwany eksperyment naturalny. Otóż badany nie miał najmniejszego pojęcia o tym, że uczestniczy w badaniu - w przeciwnym razie wyniki byłyby mocno zniekształcone (możliwość manipulacji, aby pokazać się z lepszej strony lub stresu związanego z tym, aby "nie dać plamy").

Statystyka z rozegranego "meczu" - pokazano przegląd końcowego wyniku z hipotetycznym przeciwnikiem. Tutaj na 162 partie (+144, -9, =9) uzyskano 148,5 pkt, co daje wynik procentowy blisko 92%. To z kolei odpowiada statystycznie różnicy +401 pkt na korzyść zwycięzcy

W ramach meczu rozegrano 162 partie następującymi tempami: 2 partie P60+10 (60+10 oznacza, że każdy zawodnik ma 60 minut na partię i za każdy wykonany ruch dostaje dodatkowe 10 sekund; niewykorzystane dodatkowe sekundy sumują się w pozostałym czasem); 4 partie P45+45, 13 gier P45+15, 16 partii 30+30, 44 gry P30+15, 28 gier P30+10, 4 partie P20+10, 3 partie P15+15, 43 partie P15+10 (oraz pomijane w dalszych rozważaniach: 1 partia P15+5, 3 partie P10+10 i jedyna partia bez dodawanego czasu P15+0). Białym kolorem rozegrałem 74 partie, zaś czarnym pozostałe 88. Było także kilka "bloków jednokolorowych" (gdzie dany gracz grał pod rząd więcej niż 2 partie).

W skrócie ujmując: wszystkie partie miały czas dodawany przynajmniej 10 lub 15 sekund. Najczęściej królowały takie tempa jak: P30+15 (44 gry), P15+10 (43 partie), P30+10 (28 gier), 30+30 (16 partii), P45+15 (13 gier), co daje łącznie 144 partie (pominięto pozostałe 18).

Natomiast uzyskano wynik o którym była mowa powyżej (tak, w naszych rozważaniach teoretycznych). Mianowicie +144 (zwycięstw), -9 (porażek), =9 (remisów) daje wskaźnik zwycięstw (w skrócie "wz") w wysokości 91.7% (zaokrąglamy do 92%). Zatem różnica (statystyczna) gracza A nad przeciwnikiem B, może być (przynajmniej statystycznie) traktowana jako wartość +401 punktów. Przykładowo jeśli gracz B ma ranking 1580, wówczas jego przeciwnik ma mieć ranking powiększony o 401, czyli aż 1981.

Warto zaznaczyć, że rzeczywistości mój przeciwnik posiada od kilku miesięcy 3 kategorię, zaś ja od kilku dobrych lat 2. Często wykorzystywałem swoje doświadczenie, spryt i szachowe niespodzianki, tak aby ratować się w bardzo trudnych sytuacjach. W innym wypadku niemożliwym byłoby uzyskanie tak imponującego statystycznie wskaźnika zwycięstw, gdyż realnie dzieli nas mniej więcej około 1,5 klasy gry (ok. 220-250 oczek), a nie jak można zbyt szybko uwierzyć: +401 punktów (wynikających z odczytywanego wartości dla 92% wskaźnika zwycięstw).

W rzeczywistości na FICS zakres rankingowy mojego przeciwnika waha się w ostatnim czasie pomiędzy 1620 a 1680 (średni 1645), natomiast mój pomiędzy 1940 a 2000 (średni 1970). Widać zatem wyraźnie, że różnica statystyczna powinna wynosić między nami 325 punktów. I jak łatwo odczytać z tabeli - najbliższa różnica dla wartości +322 pkt to .87, co oznacza wskaźnik zwycięstw na poziomie jedynie 87%. Skąd zatem ta rozbieżność kilku procent w otrzymanym wyniku statystycznym (92%) a realną różnicą (87%)? Przede wszystkim odpowiada za to dość mocno "mieszane" tempo gry (pkt b), nieco lepsze warunki gry - zwłaszcza na początku, gdy mój przeciwnik nie miał biegłości w obsługiwaniu programu do rozgrywania partii przez Internet (pkt e), początkowe granie partii niekoniecznie "na maxa" oraz istotnie mniejsza liczba partii białym kolorem (pkt c). Wszystko to po zsumowaniu bez problemu powinno wyjaśnić powstałą wyżej rozbieżność. Wierzę, iż podane przeze mnie rozumowanie i interpretacje mogą zostać przyjęte jako "dość rozsądne". Ostrzegam szczególnie przed tym, aby zawsze krytycznie przyjmować (interpretować) uzyskiwane wyniki jak też w jak największym stopniu eliminować wszelkie możliwe istotne błędy. W przeciwnym wypadku dostaniemy tak zwane artefakty (co oznacza to słowo - można sprawdzić w Wikipedii).

Oczywiście jest to tylko pewne dość duże przybliżenie istotnego tematu, który opiera się o statystykę. Niemniej mam nadzieję, że pomimo zastosowania dość dużych uproszczeń udało mi się pokazać w jaki sposób może to wyglądać w praktyce. Przepraszam wszystkich statystyków i osoby pasjonujące się tą niezwykłą dziedziną za przekazywanie "dziwnych wniosków" na podstawie dość mało krytycznie wyszukanych danych. Niemniej dla amatorów szachowych konieczna była "realnie uproszczona, żywa wersja".

Na koniec drobna zagadka i pozdrowienia dla jednej z osób, która nie wierzy w cuda. Mam nadzieję, że uda się sprawić, aby doszło do czegoś co statystycznie jest trudno wytłumaczalne ;). Pozdrawiam serdecznie niedowiarka i liczę na to, że pamięć i refleks będą na tyle dobre, aby nie zaspać... gdy pociąg wskaże niebezpieczną prędkość kosmiczną!




Just 5 months and that high train?! Are you kidding me??! It's simply unbelievable. Twenty one hundred?! Did I really hear that correctly? It's impossible - it would have been a miracle if he would be able to do it - even just once! No way! Please don't fix (FICS) me up that way my dear friend! It's not that funny as you think!!!