!!Open Go Rating Initiative
Eli pelaajien vahvuuksia etsimässä...

Olen aikojen kuluessa pohtinut tapoja pelaajien vahvuuden arviointiin matemaattisesti vahvalta pohjalta. Tässä on pääkohdat nykyisestä ajatuksistani ja ajatelmaa niiden pohjalta rakennetuksi vahvuuden arviointisysteemiksi.

Jos tästä ei löydy mitään tappavaa vikaa (lue: go yhteisö ei tyrmää), niin saatan jopa pistää tämän mukaisen systeemin pystyyn myöhemmin.

Tämän ehdotuksen mukaisen systeemin pitäisi voida toimia ilman että se työllistää ketään yksittäistä henkilöä kovin paljoa. Tämä on ehdoton edellytys, jotta systeemi voisi olla pidempään käytössä, systeemien pyörittämiseen kun on tylsää ja vapaaehtoisia ei ole jonossa.

Eli kommentit tervetulleita, mutta please lukekaa koko juttu, ennen kuin vuodatatte koko elämänne tuskan tänne :)

-- Lauri 19.5.2005

----

!Taustaa

Pelaajien vahvuuksien seuraaminen on ensimmäinen askel luokittamisessa. Pelaajien luokittaminen sisältää myös muita näkökulmia, kun pelaajan todennäköisin kulloinenkin vahvuus. Esimerkkinä eräs huomioitava seikka on se, että pelaajia ei tavata alentaa: Tämän takia luokituksen saamiseksi yleensä halutaan, että vahvuuden saavuttamisesta on selkä näyttö, jotta virheen todennäköisyys olisi pieni.

Jokainen joka yrittää käyttää tätä vahvuuden arviointisysteemiä suoraan luokituksien antamiseen, on täten tuomittu kadotukseen :)

Jatkossa tässä puhutaan koko ajan vahvuuden määrittämisestä, ei luokittamisesta. Luokittamiseen liittyvät kysymykset ovat helposti enemmän kiistanalaisia ja niissä näkyy eri osapuolten erilaiset tavoitteiden asettelut. Niiden sotkeminen vahvuuden märittämiseen tekee ongelmasta aivan liian hankalan keskustelun aiheen, niin kuin on monesti nähty:)

Olen tutkinut pelaajien vahvuuksien käyttäytymistä nyt likimain kaksi vuotta. Tutkimus on perustunut GOR ja KGS peliaineistoon. Alla olevat päätelmät olen tehnyt tämän työn tuloksena. En edes yritä tässä antaa raporttia kaikista löydöksistä, tai kuinka olen työn tehnyt, tämä kun ei ole tieteellinen tutkimusraportti. Tutkimustyö ei ole likikään valmis, mutta uskon, että päätulokset ovat jo selvät.

----

!!Vahvuuksien arviointisysteemi

Tavoite

Tavoitteena on saada entistä parempia arvioita pelivahvuudesta erityisesti pelaajille alueella 1k-15k. Tällä alueella pelaajilla on jo selkeä vahvuus, mutta useat edelleen kehittyvät varsin nopeasti.

Systeemi tuottaa alueen ulkopuolella oleville pelaajille yhtä lailla vahvuustietoa, mutta sen tarkkuus ja käyttökelpoisuus on (ainakin aluksi) toissijainen asia.

Pelaajien kulloinenkin vahvuus ilmoitetaan (suuntaa-antavan) tarkkuusarvion kanssa.

Jokaisessa systemissä on pääosaat:
* Tulosten kerääminen
* Vahvuuden laskeminen
* Tulosten julkaisu

Näistä ylivoimaisesti työläin on tulosten kerääminen. Tällä hetkellä ainoa laaja keruu on GOR systeemin yhteydessä tapahtuva turnaustulosten keruu.

Vahvuuden laskeminen on mielenkiintoinen ja haukska, mutta kun systeemi kerran on toiminnassa, tämä on helppo vaihe. 

Tulosten julkaisu on kohtuullisen helppo. Tässä lähinnä työtä aihettaa tulosten dokumentointi.

!Pelitulosten kerääminen

Kuka tahansa voi ilmoittaa tuloksia. Todellakin, kuka tahansa voi ilmoittaa *julkaistuja* turnaustuloksia systeemiin. Näin kenellekään yksilölle ei tule suurta kuormaa asiasta.

Jos turnausjärjestäjä ei halua tuloksia systeemiin, niin ilmoittamalla tästä ne luonnollisesti poistetaan. Monissa pienemmissä (kerho-) turnauksissa "järjestäjä" ei ole kovin selkeä taho, joten järjestäjän nimenomaisen luvan laitto ehdoksi tulosten käyttöön on ongelmallista.

Systeemiin lähetetyt tulokset ovat edelleen saatavilla tarkistuksia varten, sekä esimerkiksi Paavon pulauttimen kaltaisten tarkastelujen tekemistä varten. Eli tuloksia ei tarvitse lähettää / muotoilla useita kertoja eri käyttöjä varten, sikäli kun tällainen edelleen käyttö toimii. Tämä myös mahdollistaa virheellisten tulosten havaitsemisen.

Tuloksien yhteydessä kerätään myös tiedot peliajasta yms. Tämän tiedon avulla voidaan tulevaisuudessa hienosäätää systeemiä. Myöhemmin voidaan myös kaskea erilaisia vahvuuslukuja, jos sellaisen tarvetta ilmenee.

Systeemissä käytetään tausta-aineistona GOR pelidataa.

!Systeemin kehittäminen

Koska tämä on ensimmäinen kerta, kun tällaista systeemiä yritetään, on todennäköistä, että säätöjä systeemiin joudutaan matkan varrella tekemään. Mutta vain aika näyttä millaisia säätöjä todella tarvitaan.

!Yksityisyydestä

Ainoa tieto systeemissä, joka ei ole muualla jo julkinen, on pelaajan (laskemalla) arvioitu vahvuus. Pelitulokset ovat olleet julkisia jo ennen systeemiin tuloa, joten niiden julkisena pitämisessä ei ole ongelmaa, sikäli kun tuloksien julkaisija ei kiellä niiden kopioimista.

Aina jos pelaaja haluaa, ettei hänen vahvuuttaan julkisteta, niin hän voi ilmoittaa tästä. Tällöin pelaajan vahvuustietoa ei julkaista eikä tallenneta.

Avoin kysymys on, julkaistaanko pelaajien vahvuus oletuksena, vai pitääkö pelaajan ilmoittaa itse halunsa saada luokitus näkyville. Haluaisin kuulla go-yhteisön kantaa siihen, kumpi on parempana pidetty tapa. Luonnollisesti muut tavat ovat mahdollisia, mutta kaikki muut tavat helposti siirtävät (ylläpito-) työtä jollekin pienelle osapuolelle varsin paljon.

Lainopillisista neuvoista / ajatuksista / keskustelusta olen nyt kiinnostunut vain lakimiehen tai vastaavan pätevyyden omaava kanssa. Laki yksityisyydestä on itsessään jo tuttu, ja ennakkotapauksia ei ole juuri saatavilla tällä alueella. Eli kommentit jokin tavan laittomuudesta tai laillisuudesta eivät ole kiinnostavia, mutta kommentit tapojen asiallisuudesta ovat toivottavia.

!Toteutus

Pohjimmiltaan systeemi likelyhood-pohjainen. Tämä lähestymistapa sallii luonnollisen käsittelyn tilanteisiin, joissa on hyvin vähän informaatiota. Esimerkki: Mitä tiedämme pelaajan vahvuudesta, kun hän on pelannut yhden pelin 3 vuotta sitten? Monet muut lähestymistavat joutuvat vaikeuksiin tällaisissa tilanteissa.

----

!!Pelaajien vahvuuksista yleensä

Pelaajien vahvuudet määräytyvät heidän voittojen ja tappioiden mukaan. Pelien luonne vaikuttaa (pikapeli jne.) pelitulosten tulkitsemiseen vahvuutta arvioitaessa. Eri pelaajilla pelinopeus vaikuttaa eri lailla, mutta aineiston luonteen takia asian tutkiminen on jäänyt vähemmälle. GOR aineiston peliaikojen erot eivät ilmeisesti juuri tuloksiin vaikuta.

Vahvuudet muuttuvat ajan myötä toisilla nopeasti, toisilla hitaasti.

!Miten mitata (minkään) systeemin tarkkuutta?
Viime kädessä ainoa kunnon mittari vahvuuksien tarkkuudelle on sen kyky ennustaa pelien tuloksia oikein. Tässä mittaustavassa ei tarvita mitään ”ulkoa annettua” totuutta, kuten ”oikeita” vahvuuksia. ”Ennusteiden” tarkkuutta voidaan mitata jättämällä pieni osa pelatuista peleistä pois vahvuuden määrityksestä ja tarkastelemalla systeemin antamien vahvuuksien vastaavuutta pois jätettyjen pelien tuloksiin. Yksityiskohdat jätetään harjoitustehtäväksi lukijalle:)

Mitkä sitten ovat suurimmat epätarkkuuden lähteet pelaajien vahvuuksien märittämisessä?

!Pelien määrä
Kaikki tuntemieni luokitussysteemien tarkkuutta rajoittaa merkittävästi luokituksen pohjana olevien pelien vähyys. Joillakin pelaajilla voi olla pelejä paljon lyhyessä ajassa, jolloin heidän taso voi olla varsin tarkka, mutta suurimmalla osalla pelaajista pelien määrä ei riitä alkuunkaan tarkkaan luokitukseen. 

Eri luokitussysteemien erot tarvittavien pelien määrässä eivät ole kovin isot. Eli luokitussysteemien kehittäminen ei auta tähän ongelmaan kovin paljoa, vaikka kyllä jossakin määrin.

Pelien määrän lisääminen on hyvä (ellei paras) tapa tarkentaa luokituksien tarkkuutta.

Pelien lisäksi huomioon voidaan ottaa (soveltuvan pienellä painolla jne.) esimerkiksi pelaajan saama luokitus, koska se esimerkiksi 10kyu:n alueella kertoo (kerho-) peleistä, joita ei ole käytännöllistä edes yrittää saada vahvuuden laskentaan mukaan.

Pelaajien kehittyminen on systeemin tarkkuuden kannalta aina ongelmallista, vaikka muuten hyvin toivottavaa… Tässä suhteessa luokitussysteemeissä on suuria eroja, koska asiaan ei ole juuri paneuduttu. Merkittävä osa systeemin kehitystyöstä on mennyt tämän kysymyksen käsittelyyn.


!Pelaajien taskuuntuminen

Monet luokitussysteemit toimivat huonosti, kun tietty pelaajapopulaatio pelaa sisäisiä pelejä paljon, mutta hyvin vähän muita pelaajia vastaa. Erityisesti ongelma tulee näkyville, kun tällainen erillinen pelaajapopulaatio kehittyy nopeasti.

Pahimmillaan taskuuntuminen voi ilmetä niin, että tietty joukko pelaajia ovat pelanneet keskenään paljon, mutta eivät ole lainkaan hävinnyt (tai voittanut) pelejä muita vastaan.

Mikään systeemi ei voi korjata ääritapauksia, mutta hyvät järjestelmät toimivat kokolailla järkevästi vielä varsin taskuuntuneissakin tilanteissa. Esimerkiksi silloin, kun kerhosta muutama pelaaja pelaa säännöllisesti kerhon ulkopuolella ja kerhossa, hyvä systeemi pystyy toimimaan kohtuullisesti vielä vaikka kerhossa taso nousisi kohtuu nopeasti.

Valitettavasti yksikään tuntemani käsin laskettava luokitussysteemi ei ole hyvä taskuuntumisen käsittelyssä.

!Vahvuuden "epäloogisuudet"

Pelaajan pelituloksia ei välttämättä voida selittää yhdellä vahvuuden kaltaisella tunnusluvulla. Esimerkiksi tietokoneohjelmien vahvuus on hankala käsite, koska ihmisvastustaja oppii pelaamaan konetta vastaan nopeasti paremmin.

Käytännössä ihmisten ollessa kyseessä nämä ongelmat voivat tulla näkyviin yksittäistapauksissa mutta niiden merkitys näyttää tällöinkin varsin pieneltä. Ongelma voidaan ajatella myös niin, että pelaajan vahvuuden määrittämistarkkuudella on yläraja. Käsitykseni on, että näiden ongelmien aiheuttama epävarmuus on kertaluokkaa pienempi kuin pelimäärän pienuudesta johtuva virhe.

Myös virheet tasoituksien todellisessa merkityksessä, kuten myös komin, ovat käytännön kannalta marginaalisia ongelmia.

!!Absoluuttinen asteikko

Absoluuttisen asteikon kiinnittäminen on lähinnä käytännöllinen ongelma. Jos absoluuttinen taso ei ole vakaa, on vahvuuksien vertailu muihin vahvuuden mittareihin hankalaa.

Toisaalta absoluuttisen tason "väärälle" tasolle kiinnittäminen ei ole suuri ongelma, koska käytännössä ihmiset jo nyt ovat tottuneet ottamaan huomioon eri vahvuusasteikkojen erot.

----

!!Kommentteja yleisesti alueen tutkimuksiin

!Kehäpäätelmät ja epäselvyydet tuloksissa
Vahvuuksien tutkimuksessa on tavannut toistua yksi virhe yli muiden, tässä esimerkin kautta:

Kun luokitussysteemiä suunniteltaessa tutkitaan, kuinka usein heikompi voittaa kun vahvuusero on 1 kivi, tilastoidaan pelejä esimerkiksi 1k ja 2k pelaajien välillä.

Pohjalla on oletus, että pelaajat ovat oikein luokitettuja (eli vahvuus on 1k ja 2k), eli luokitussysteemi toimii! Tämän oletuksen pohjalta sitten yritetään tehdä "parempi" luokitussysteemi, vaikka olemassa oleva samalla oletetaan oikeaksi...

1k ja 2k pelaajien tasoero on 0...2 kiveä jopa täysin "tarkoilla" luokituksilla, koska luokitukset ovat kokonaislukuja. Kun luokituksissa on lisäksi epätarkkuutta, tasoero voi vaihdella esimerkiksi välillä -1...3 kiveä, tai vieläkin enemmän.

Tehdyt virheet eivät välttämättä ole pahoja, mutta toisaalta virheiden suuruusluokkaa ei yleensä edes yritetä määrittää. Esimerkiksi jos pelaajien luokitukset ovat peräisin eri maista, niin syntyvä virhe voi olla jo melkoinen.

Kun tuloksia sitten julkaistaan, niin aika harvoin kommentoidaan kunnolla sitä, millä oletuksilla tai missä tilanteessa tulokset todella pätevät. Tämä tekee vaikeaksi tehdä lisätutkimusta edellisien tuloksien pohjalta. Kommentointi on työlästä ja kukaan ei saa hommasta palkkaa...

!Pelaajien kehittyminen ja kehitysnopeus
Pelaajien kehitysnopeutta ja sen vaikutukset sivutaan yleensä lähes kokonaan.

Tyypillisesti kaikissa tarkasteluissa pelaajien oletetaan pysyvän vakio tasolla ja tarkastelu kohdistuu tasapainotilanteeseen ja sen saavuttamiseen. Pelaajien tason muuttumisnopeus otetaan sitten mukaan varsinaisiin systeemeihin varsin mielivaltaisesti ilman sen suurempaa analyysiä. Esimerkiksi GOR systeemi on suunniteltu toimimaan oikein tasapainotilassa ja pelaajien kehittymisen tarkastelu on kokolailla tekemättä.

Käytännössä luokitussysteemit eivät ole tasapainotilanteessa. Toisaalta ymmärrän kyllä syyn, miksi muutoksen tarkastelua ei tehdä: Tarkastelut ovat hankalia tehdä (asiallisesti).

----
!! Jorinaa

On hyvä, että nämä asiat on kerrankin listattu yhteen paikkaan selkeästi. Hankkeella on henkinen tukeni. Mielestäni defaultiksi kuuluu vahvuusluvun julkaiseminen, sillä se on (kaikessa urheilussa ja erityisesti go:ssa) aina ollut käytäntö. Lisäksi vahvuuslukunsa halunnee pitää salassa erittäin pieni vähemmistö. --[Bass]

Tuo vastaa minun käsitystä. Jos joku haluaa kommentoida vähemmän julkisesti, niin minulla voi myös laittaa mailia. 

Minulle on tullut muutama kysymys kehittämäni systeemin matemaattisesta toiminnasta, sitä kun ole yllä lainkaan puitu. Systeemi ei ole salainen, mutta toisaalta asiallinen selitys on se verran pitkä, että ei vaan jaksa tässä. Laitoin ylle lyhyen maininnan systeemistä. Jos asia enemmän kiinostaa niin pistäkää mailia, tai nykikää hihasta. 

-- Lauri 2.6.2005

Selvästi huomaa, että Laurilla on ollut vilpitöntä halua kehittää asioita parempaan suuntaan. Tämä on hieno asia.

Laurin tekstin aiheena on vahvuuden arviointisysteemi. Ymmärtääkseni kysymys on jonkinlaisesta rating-systeemistä eikä nykyisin käytössä olevanlaisesta arvonimi-luokituksista, joita myös parituksiin käytetään. Enemmän kuin rating-järjestelmässä luokitusjärjestelmän yksi tärkeimmistä ominaisuuksista on tasapuolisuus eri henkilöiltä korotuksiin vaadituissa meriiteissä. Rating-järjestelmässä, jossa ratingit voivat vaihdella huomattavastikin ajan myötä ja kumpaankin suuntaan, globaali optimointi tms. voi perustellummin ajaa em. näkökohdan ohi.

-- Markku 2.6. 2005

Numeerinen luokitussysteemi, niin. Arvonimiluokituksilla ei oikeastaan saisi olla mitään tekemistä numeerisessa luokitussysteemissä, koska se (kuten Lauri ylle ehkä hieman sekavasti kirjoitti) johtaa kehäpäätelmiin, esimerkiksi näin:

* arvonimiluokituksesta arvioidaan numeerinen luokitus
* numeerisesta luokituksesta ja pelituloksista saadaan arvio siitä että mikä on arvonimien välinen ero
* arvonimien lasketusta erosta ei välitetä vaan ero oletetaan vakioksi
* ihmisten arvonimiluokitukset pakotetaan tämän arvonimiskaalan mukaiseksi hieman numeerisen järjestelmän antamien tulosten suuntaan muokattuina

Ja tätä sitten pyöritetään loputtomiin, huomaamatta että hommassa on perustavanlaatuinen ongelma. Yhä edelleen arvonimien välinen todellinen ero on tuntematon, ja käytetyt luokitukset ihmisen subjektiivisesta arviosta kiinni. Näin ollen on kyseenalaista onko numeerisesta systeemistä suurtakaan iloa. Numeerisesta järjestelmästä ehkä saatava tieto siitä, että mikä se oikea taitotasojen ero olisi, ja että mitkä pelaajien taitotasot ovat, heitetään kankkulan kaivoon. Ja tämä vain siksi, että pidetään kiinni arvonimiluokituksista. Pahinta tällainen on silloin, kun pelit pelataan tasoituspeleinä, jolloin nuo oletetut taitotasot eroineen ovat jo mukana ''kaikissa'' pelituloksissa -- siis ei pelkästäan systeemissä vaan myös pelituloksissa joilla systeemiä yritetään korjata!

Ja kuten Lauri yllä edelleen kirjoittaa, tällaisia virheitä ei yleensä ole edes yritetty huomioida, saati että niiden vaikutusta arvioida.

Toisin sanoen, jos puhutaan kunnollisesta luokitussysteemistä, kannattaa unohtaa arvonimiluokitusten käyttö kunnes tiedetään mitä taustaoletuksia sillä systeemiin tuodaan. Tämä pitää sisällään arvonimiluokitusten käytön esmes paritukseen tai korotusmeriitteihin... Jälkimmäinen on itse asiassa tässä yhteydessä täysin absurdi ajatus: miksi ihmeessä käyttää toimivaa järjestelmää meriitteinä sellaiseen joka vain sotkee toimivan järjestelmän käyttöä? Ja edellinenkin sälyttää liki kaiken merkityksen arvonimiluokituksille, eli numeerinen luokitussysteemi jää hyödyntämättä.

Odotan mielenkiinnolla nähdäkseni jonain päivänä lisää Laurin tuloksista. 

-- DonOlli, 3.6.

Ainoa mielestäni hyväksyttävä tapa myöntää arvonimiluokituksia on, että määritellään arvonimikorotuksille pelituloskriteerit toisia arvonimiluokitettuja vastaan. Näin voidaan tehdä, koska arvonimet eivät viittaa mihinkään muuhun kuin toisiin arvonimiin. Ainoa vaihtoehto jonkinlaisille yhteisesti sovituille arvonimiluokituskriteereille on käytännössä mielivaltaan perustuva systeemi, joka vääjäämättä korruptoituu tykkäämis- ja valtapeleiksi. Ei ole lainkaan sattumaa, että lähes kaikissa urheilulajeissa, jotka eivät ole puhtaasti arvostelulajeja, luokittaminen perustuu sääntöihin (vrt. shakin arvonimikiinnitykset).

Muuten olen ollut jo pitkään sitä mieltä (eli samaa mieltä kuin Olli?), että arvonimiluokitukset pitäisi erottaa ajankohtaisen pelivahvuuden arvioinnista ja turnausparittamisesta niin suuressa määrin kuin mahdollista. Siksi minulle olikin suuri ilo olla osallisena Suomen go-liiton SM-uudistushankkeessa, jossa luotiin karsintoihin 16 pelaajan sveitsiläinen 2. vaihe.

-- Markku, 3.6. 2005

Pyyntö kaikille keskusteluun osallisille: Älkää aloittako keskustelua arvonimiluokituksista, se on täysin off-topic tällä sivulla. Nyt puhutaan vahvuuden arvioinnista, ei arvonimistä. 

Tuolle arvonimikeskustelulle on riittävän monta sivua jo olemassa, joissa pohditaan esimerkiksi suomalaisten [Luokitusten Parantelua].

-- Lauri, 3.6. 2005

Kuulostaa pirun hyvältä tämä projekti ja vaikuttaa siltä että yritystä on. 

Käsittääkseni tässä tavoitellaan nyt jotain samansuuntaista, kuin esimerkiksi KGS:n pelivahvuutta kuvaava käppyrä (josta KGS johtaa suoraan oman käsityksensä luokituksesta). Kehittyvät pelaajat ovat olleet ongelma KGS:ssäkin ja vähän muissakin vastaavissa automaateissa. Shakkiservereillä on omat laskukaavansa pelivahvuudelle, joista osa ainakin minun mielestäni on toiminut ihan hyvin, joten en pidä onnistumista mitenkään mahdottomana. 

-- Antti V, 14.6.2005

Kannattaa huomata, että kehittyvien pelaajien ongelma on ratkaistavissa monilla tavoilla, joista GoR:iin kuuluvat reset-korotukset ovat suunnilleen huonoin, jonka keksin.

[Ranskan luokitusjärjestelmä|http://ffg.jeudego.org/ECHELLE/algo.html] on hyvin samankaltainen kuin GoR, mutta siinä nopeasti kehittyvien tai taukoa pitäneiden pelaajien ongelma on ratkaistu seuraavalla tavalla: 

\\"Two situations lead to a special processing:
\\ - The players who are unknown by the rating list. Their initial rating isset to their \\registering rank (1d = 50, 1k = -50). If after processing all games, the rating \\variation of an unknown player is greater than 50 points, then the initial rating is \\considered as incorrect (too optimistic or too pessimistic), an adjustment \\pre-processing is performed
\\- Known players whose level has significantly changed. This situationis typically met \\with beginners or players having not participated in a tournament for a long time. As \\for unknown players, an adjustment pre-processing is performed.For them, the threshold \\is set to 100."

The adjustement algorithm :A complete calculation is performed. Then, for all palyers whose variation exceeds the threshold, the straring rating is corrected by variation - theshold.This algorithm is repeated, if necessary, until convergence. Convergence is supposed to be reached when rating variation between tho iterations stay beneath 10."

Hyvää teoreettista taustatietoa vahvuudenarviointisysteemeistä: [Back to Basics in Chess Ratings|http://www.ratingtheory.com].

-- Markku, 14.6. 2005