!!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

Laitoin sitten pystyyn ensimmäisen kyhäelmän luokitussysteemin toteutusta...

Sivut [http://rating.gowrite.net/] ovat huonoa kieltä ja sekaisin, eli kaikki kommentit olisivat tervetulleita. Vahvuusarviot ovat toistaseksi EXCEL taulukkona, en vielä ehtinyt vääntää niitä HTML / ASCII mutoon. Tämä korjautunee lähipäivinä.

Sikäli kun jollakulla on uusia tuloksia (ja kokeilumistä), niin niiden lisääminen olisi mukavaa. Hommassa tulee varmaan erilaisia pikku ongemia, ja haluaisin kuulla niistä, jotta voin ne poistaa.

Luokituksien päivitys sisältää vielä kässtyötä, joten teen sitä varmaan noin kerran viikkossa / kun uusia tuoloksia tulee. Lähiaikoina pävitän luokituksia EGC tuloksilla ensimmäisen ja toisen viikon jälkeen.

-- Lauri 29.7.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 muuttumisnopeudesta

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.

Yhdenkään järjestelmän toimita ei ole riippumatonta pelaajien (tyypillisestä) kehitysnopeuksista. Järjestelmien suunnittelussa pyritään sekä vakaan pelaajan tason tarkaan määrittämiseen ja toisaalta muuttuvan pelaajan muutoksiin reagointiin, ja nämä tavoitteet ovat jossain määrin ristiriitaiset. 

Järjestelmiää tehtäessä syntyy aina jonkinlainan kompromissi reagointinopeuden ja tarkuuden välillä ja tämä sisältää jonkinlaisen ajatuksen siitä, miten pelaajat kehittyvät (mallin antamassa kehyksessä).

Yksi ero muutosnopeuden käsittelyssä tulee siinä, onko muutosnopeuden käsittely säädettävissä itsenäisesti, vain onko se kytketty kiinteästi systeemin rakenteeseen.

!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.

!!Pelaajan vahvuuden tarkkuus
Pelaajan arvioidun vahvuuden tarkuus onkin kiero juttu. Jotta tarkkuudesta puhumiseen saa järkeä, on syytä ensin ymmärtää hieman erilaisista vaihtoehdoista.

!Kahden pelaajan vahvuuseron tarkuus
Kahden pelaajan vahvuuseron tarkuus on selkeä suure. Sitä voidaan testata kysymällä tyyliin "mitkä ovat mahdollisia pelien voittosuhteita pelaajien välillä". Eli tuloksena voisi olla että (olemassa olevan tiedon valossa) toinen voitaa 70-80% tasa-alkupeleistä. Helppoa, muttei kovin hyödyllistä. 

!Pelaajan vahvuuden "absoluuttinen" tarkuus
Järjestelmällä on (yleensä) jonkin tapa, jolla sen asteikon absoluuttinen taso on määräytynyt. Nyt pelaajan mahdollisia vahvuuksia voidaan testata tapaan, "mitkä absoluutiset vahvuudet olisivat pelaajalle mahdollisia". Tapa toimii, mutta absoluuttinen asteikkon kiinnitystapa vaikuttaa tuloksiin. Jos kiinnitystapa on hyvin toimiva, saadaan mielekkäitä tuloksia.

!Välimuodot
Yllä olevan kahden ääritavan lisäksi on mahdollista virittää erilaisia ryhmävertailuja, muttä näissä pitää aina lukia "pienellä painettu" teksti, koska tulokset heijastelevat vertailun määrittelytapaa.

!Vahvuusarvioiden virheiden korrelaatio
Kun vahvuuksien tarkuutta arvioidaan jollekkin yksittäiselle pelaajalle, ei voi olettaa, että hänen vastustajien tarkuus tunnataan tarkasti, vaan myös vastustajien vahvuuden tarkuus vaikuttaa. Tämä ilmiö voi olla erityisen voimakas kun puhutaan taskuuntuneeista pelaajista, koska tällöin pelaajien vahvuuden arviointivirheet ovat voimakkaan korreloituneita (eli virheet ovat todennäköisesti samansuuntaisia).

Ääriesimerkki tästä kaksi pelaajaa, jotka ovat pelanneet keskenään paljon pelejä, mutta eivät juuri muiden kanssa. Tässä tilanteessa pelaajien tasoero tunnetaan tarkasti, mutta absoluuttinen vahvuuden tarkuus on väkisin huono. Nyt absoluuttista tarkuutta laskettaessa jos toisen pelaajan vahvuus oletettaisiin tarkasti tunnetuksi, niin toisenkin vahvuus tunnetaan tarkasti. 

----

!!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

Markku, kiitoksia mielenkiintoisesta linkistä. Jännä huomio: eivät nuokaan ole pelaajien kehitysnopeutta juuri tutkineet, toteavat vain systeemin "liukuvaksi keskiarvoksi". Vai enkö vain huomannut?

!Kehitysnopeuden ja alkupisteen huomiomistavoista

Minusta tavat, joissa on jokin "kynnys" nopea / hidas kehitys, ovat epäilyttäviä. Ei ihmisissä ole sisällä sellaista kynnystä (tai jos on, niin haluisin nähdä analyysin, jolla se on löydetty).

Usein hommaan liitetään fiilispohjaisia vaatimuksia (taso ei saa aluksikaan muutua paljoa, jos tulee ei-ennustettu tulos). Nämä vaatimukset näyttävät ovat seuraus osin siitä, että systeemit eivät anna tarkkuustietoa. Tarkuusarvion puute sitten yritetään paikata tekemällä muutoksia varovaisesti. Tuloksena on yleensö liian hitaasti muuttuvat luokituskset.

!Omasta puuhastelusta

Nykyinen käyttämäni malli laskee pelaajalle tasoa joka kuukaudelle.
Eli periaatteessa saadaan näkyviin kippura, mutta KGS:stä poiketen kippuran
vanhatkin pisteet elävät, kun uutta tietoa saadaan.

Tämän kuukausittaisen laskennan ansioista pelaajien kehitysnopeuden huomiominen
päästään tekemään hallitulla tavalla, eli kehitysnopeuden käytöstä päästään 
tutkimaan ilman liian suuria häiriöitä muiden tekijöiden takia. 
Käytännössä likelihood pohjaisessa mallissa syntyy likelihood-jakauma kehitysnopeudelle. 

(Yleisemmin: likelihood jakauma saadan pelaajan koko kehityshistorialle. Tällöin voidaan huomioida myös "vakaat" tai "muuttuvat" pelaajat jakaumassa.)

-- Lauri

Käsittääkseni ranskalaiset eivät ole tutkineet pelaajien kehittymisnopeuksia. Positiivista silti on, että he poimivat joukosta ne, joiden vahvuusluku on muuttunut laskettavassa turnauksessa "liian" nopeasti ja laskevat heille uuden vahvuusluvun turnauksen perusteella ennen kuin koko turnaus lasketaan alusta asti uudelleen. 

Näin minä ainakin ymmärsin tuon systeemin. Ranskalaisten selostus ei ollut selkein mahdollinen.

(Tuosta ranskalaisten systeemistä huomauttaisin, että jos pelaajan luokitus on arvioitu  väärin - esim. 4 kiveä liian heikoksi - niin "pre-processing" -algoritmin" konvergenssiin ajaminen kyllä useimmissa tapauksissa nostanee tuollaista luokitusta niin korkealle kuin on oikeutettua kyseisen turnauksen perusteella vaikuttamatta muiden luokituksiin kohtuuttomasti. Toki se 100 pisteen (~ 1 luokitus) muutosraja, jonka jälkeen luokitusta aletaan "esiprosessoida" on mielivaltainen. Ilmeisesti Laurin tarkoitus kehittää systeemi, joka jollain tavalla ennustaa pelaajan todennäköistä kehitystä, jolloin sovellettuna ranskalaisten käyttämään systeemin, voitaisiin säätää tuota rajaa tarvittaessa pienemmäksikin.)

-- Markku 14.6. 2005

Jos puetaan ongelma pelaajan kehitysnopeuden likelihood-jakauman muotoon:

Tarve tuohon "resettiin" (olkoon tapa mikä tahansa) johtuu siitä, 
että malli (ilman reseittiä) pitää tapahtunutta kehitystä liian epäuskottavana.

Korjaus on muuttaa kyseisen kaltaisen muutoksen uskottavuutta...
(Korjaus voi olla esimerkiksi: Muutos ei ole tule neliöllisesti epätodennäköisemmäksi nousunopeuden mukana, vaan ainoastaan lineaarisesti tms.)

Lisäongelma monissa systeemeissä on systeemin "ajantaju". 
Useimmat systeemit olettavat, että pelaajan tason muutoksen määrä on (löysästi puhuen) verrannollinen systeemissä tarkasteltavalla välillä pelattuihin peleihin.  Tämä on kohtuullisen kunnolla pielessä oleva oletus, koska pelaajat kehittyvät kokolailla riippumatta siitä, kuinka paljon he pelaavat GOR -pelejä. Pelaajien tason muutoksen määrä on paremminkin verrannollinen aikaan.

(Jos systemi ei käytä todellista aikaa yhtään mihinkään, niin se ei voi myöskään mitenkään käyttää sitä pelaajien muutosnopeuksien uskottavuutta arvioitaessa.)

GOR-aineiston osalta muutosta/aika riipuvan uskottavuuden käyttö antaa tuntuvasti tarkempia ennusteita pelituloksille, kuin pelkästään pelien määrästä riippuva uskottavuus. Taustalla olevia tekijöitä voi olla esimerkiksi se, että vain satunnaisesti vaihteleva murto-osa pelaajien peleistä on mukana GOR:ssa, joten pelaajan GOR-pelien määrä korreloi vain lievästi pelaajan kehittymisen kanssa. 

(KGS peliaineiston osalta tilanne ei ole yhtä selvä, vaan molemmat riipuvuudet on ilmeisesti syytä otaa mukaan. KGS:n osalta tulokseni eivät ole valmiita.  Ero gor ja KGS:n välillä voi olla se, että KGS:n tapauksessa on paljon pelaajia, joille KGS pelit muodostavat merkittävän osan heidän kaikista peleistä, eli pelien määrä korreloi voimakkaammin oppimisen kanssa. Mene ja tiedä.)

-- Lauri, päivitetty 27.6.2005

Jotta tätä systeemiä pääsisi oikeasti kokeilemaan suomalaisilla turnaustuloksilla, pitää melkoinen joukko turnaustuloksia syöttää sisään. Syöttäminen on käytännössä copy-paste teko tuloslistasta, jonka jälkeen korjataan nimien kirjoitusvirheet ja käydään läpi uudet pelaajat yms. Lisäksi pitää laittaa sisään peliajat ja hieman muuta oheistietoa.

Minulla rupunen ohjelma tuohon syöttöhommaa (Java:lla), se tekee koko joukon parsintaa ja tarkistuksia tuloslistoille. Nyt ohjelmaa pitäisi kokeilla, tässä olisi muutamasta vapaaehtoisesta hyötyä. Ohjelmasta tulee luultavasti kasa ongelmia esille heti kun joku muu kuin minä käyttää sitä, joten laaja testikäyttö ei ole aluksi järkevää. Jos testaamisesta kiinnostuneita masokisteja on, niin antakaa kuulua.

-- Lauri 27.6.2005

Hep.


-- Markku, 27.6. 2005

Ei niin että tietäisin millä kielellä ja mille käyttikselle tuo on tehty, mutta uskoisin että tuohon ei ole vaikea luoda skriptejä. Eli jos voin auttaa niin ilman muuta.

-- DonOlli

Minulta saat kyllä ihan valmista dataakin siistissä tekstitiedostomuodossa, jossa pelaajat, turnaus, pelaajien luokitukset ja tarvittaessa päivämäärä ovat yhdellä rivillä.

-- Markku, 28.6. 2005

 
Taisin esittää hieman huonosti asiani: Minulla on jo *luokitusalgoritmin* testausta varten ihan riittävät datat (oleellisesti nuo samat kuin Markulla, plus paavon pulauttimesta osa). Mutta kuten tämän taustan selityksessä koitan tuoda esille, luokitussysteemin toiminnalle on keskeistä maksimoida pelien määrä, johon luokitus perustuu.

Jotta uusden systeemi toiminta nyt ja *jatkossa* olisi hyvä, pitää siihen siis saada enemmän turnauksia kuin GOR:ssa, tai edes paavon pulauttimessa nyt on (sieltä puuttuu kaikki pienemmän kerhoturnauksen). Jos homma on yhden henkilön varassa, se pyörii aikanasa, ja lopahtaa helposti, koska turnausdatassa olevien kummajaisten (ulkomaisten nimien kirjoitusvihreiden yms) korjaaminen ottaa aikaa (ilman työkalua). Jotta tämä ei jäisi kenenkään yksittäisen ihmisen nakiksi, tarvitaan softa, jolla homman voi tehdä myös Joku{{tm}} kohtuullisella laadulla. Ja softan testaaminen niin, että Joku voi sitä oikeasti käyttää edellyttää työtä. 

-- Lauri 28.6.2005

No niin, jotta saataisiin asiat eteenpäin mahdollisimman pian, voinet kertoa miten seuraavaksi toimitaan. Voin aloittaa testaustyön vaikka jo tänään.

-- Markku, 28.6. 2005

Laitan tarkempaa meiliä huomenna (tänään menee ilta kerhossa).

-- Lauri 28.6.2005


Excel-taulukon kuvauksessa on teksti:
"Rating, where likelihood dropped to 0.75 from ML.  Comparable to 75% confidence", tarkoittaako tuo
siis pistettä likelihood-funktion L pistettä x, jossa L(x)=0.75*L(ML) ? Sehän ei automaattisesti
tarkoita 75% todennäköisyyttä. Seuraako tämä siis mallin muista ominaisuuksista, vai ymmärsinkö tekstin
väärin?

-- Kari 29.6.2005

Ok, ilmeisesti vain ymmärsin lukemani väärin, sanamuoto oli aavistuksen hämmentävä.

-- Kari 29.6.2005

Systeemi ilmeisesti käyttää gor-voittotodennäköisyyksiä? Mukana näyttää olevan tasoitusturnauksia. Kuinka
tasoituspelit huomioidaan? Tasoituspelien mukaanotto on ongelmallista. Kuinka systeemi huomioi ajan?

-- Kari 29.6.2005

Ensinnä tosta 0.75ML: Tulkistasi L(x)=0.75*L(ML) on oikea.

Ja toisaalta likelihood-funtiolla ei edes ole kertymä-tulkintaa, joten kertymään ei voi asiallisesti laskea... Ero tässä on se, että likelihood-jakauma ei ole todennäköisyysjakauma, koska prior-todennäköisyyttä eri vahvuuksille ei ole mukana.

Hyvä esimerkki kertymän ongelmista on (20k) pelaaja, joka voittaa 20k:n ja häviää 7danille. Hänen luokituksen 95% luottamusrajat (kaikkia luokituksia yhtä todennäköisinä piteän) on jotakuinkin 17kyu-5dan, mutta tämä ei liene asiallinen korotusperuste...

Luoktuksessa esiintyvät jakaumat toimivat nätisti näiden likelihood-rajojen kanssa niiden luonteen takia (siitä ehkä lisää myöhemmin).

Mallin kaikki parametrit on optimoitu yllä olevan kirjoituksen mukaan, siis maksimoimaan kyky ennustaa pelituloksia. Eli ne eivät ole muualta otettuja. Optimointi jatkuu vielä, mutta suuria muutoksia tuskin tulee.

Ajan huomioon otto on myös yllä olevan kirjoituksen mukaan tehty.

Mallissa on sen verran paljon detaljeja, että en sitä jaksa ruveta perkaamaan, erityisesti kun siitä ei mallin tekemisen kannalta ole mitään iloa. Ainoa ilo olisi muiden mielenkiinnon tyydyttäminen. (ja sekö minua kiinnostaisi? :)

Mikä sinusta on tasoituspeleissä ongelmallista?

-- Lauri 29.5.2005

Kuinka niin likelihood-funktiolle ei ole kertymä-tulkintaa? Minusta kertymän käyttö olisi huomattavasti parempi tarkkuuden
mittari kuin tuo ylläoleva, joka ei oikeastaan kerro tarkkuudesta vielä paljoakaan. Kertymän antamaa luotettavuusväliä voi hyvin
käyttää korotusperusteena.

Mielestäni järjestelmän käyttämä algoritmi pitää julkistaa eksplisiittisesti jossain, jotta se on kaikille selkeä. 
Onko mallissa jotain parametrejä, ja kuinka ne on valittu?

Tasoitusgo ja oikea go ovat eri pelejä.

-- Kari 29.6.2005

Luottamusvälit toimivat todennäköisyysjakaumille vain, kun jakaumat ovat nätin yksihuippuisia ja symmetrisiä. Usein näin ei ole vahvuuden todennäköisyysjakaumissa.

Tuossa yllä olevassa esimerkissäni korotat 20k:n 17k:ksi, 95% luottamus kun on kunnossa?
Jos et korota, niin miksi et usko luottamusväliä?

Miksi ykrityishenkilön pitää julkaista harrastuksestaan tuollaista?
Jos muistakin go:pelaajista systeemi pitää julkaista, niin sitten pistän homman koipusiin odottamaan sitä aikaa, että ehkä ehdin / jaksan. Sikäli kun Karin mielipide jää ainoaksi asiassa, niin lienee paras että suljen sivut.

-- Lauri 29.5.2005

Anteeksi jos sait käsityksen että suhtaudun projektiisi negatiivisesti. Mielestäni se on hyvää työtä, mutta jos sitä halutaan
käyttää pohjana jonkilaiselle virallisemmalle systeemille, niin pitää aloittaa keskustelua siitä, mitä parannuksia tarvitaan.
Jos taas aikomuksesi on vain yksityishenkilönä kehitellä, niin sitten se pitää hyvin selkeästi tuoda esille, jotta ihmiset
eivät sekoita sitä mihinkään viralliseen. Yleisesti ottaen kannatan työtäsi erittäin paljon.

Itse asiassa tuo 17k korottaminen on oikea ratkaisu mallin mukaan (virhe alle 5% todennäköisyydellä). Se miksi tämä riitelee
intuition kanssa johtuu siitä, että malli olettaa luokittamattomien pelaajien jakautuneen tasaisesti koko luokitusskaalalle ja
intuitiivisesti tiedämme että luokittamaton pelaaja, jolta tunnetaan vain yksi pelitulos, on todennäköisesti aloittelija.
Tiedämme myös mallin ulkopuolelta, että luokitukset ovat suurinpiirtein normaalijakautuneita tai ainakin kaukana tasajakaumasta.
Kyseinen ongelma on erittäin helppo ratkaista siten, että vaadimme luokittamiseen esim. vähintään 3 peliä. Tämän jälkeen ko. ongelma
on pienentynyt merkittävästi.


-- Kari 29.6.2005

Miksi oletuksena on virallinen systeemi? Virallisuushan tulee kun joku virallinen taho ilmoittaa, että tämä on nyt virallinen asia.

-- Gardan 29.7.2005

Kyse ei ollut virallisuudesta, vaan siitä, mitä monet ihmiset ajattelevat virallisena, mikä ei ole sama joukko asioita kuin
viralliset asiat.

-- Kari 29.7.2005

Kari, 
"Tasoitusgo ja oikea go ovat eri pelejä." 
Oletko sitä todella sitä mieltä, että kyu pelaajat pitää luokittaa pelkkien tasa-alkujen perusteella?
Ainakin HGK olisi vaikeuksissa...
Yllä olevassa testissä olen aiemmin käynyt asiaa läpi, missä kohdassa olet eri mieltä?

"Itse asiassa tuo 17k korottaminen on oikea ratkaisu mallin mukaan (virhe alle 5% todennäköisyydellä)."
Eli luottamusrajat eivät anna luttamukselle rajoja, joita voi todella käyttää.

Tämä on juuri se ongelma, jonka takia todennäköisyysjakauman kertymään ei luokituksessa voi juuri käyttää.
On parempi käyttää likelihood:n pistearvoja, niihin ei liity vastaavaa ongelmaa.

Kari, eniten tässä minua vitutaa sinun asenteesi. Voisit ottaa edes hieman rakentavan asenteen, sen sijaan, että vaadin ja heität perustelemattomia väitteitä. Tämä hyvin palauttaa mieleeni, miksi näiden kahden vuoden aikana tästä työstö mitään kirjoittanut. 

-- Lauri 29.5.2005


Olen edelleenkin sitä mieltä, että kertymäfunktio on huomattavasti oikeampi pohja virhearvioille.
Esittämäsi ongelma voidaan joko korjata laittamalla lisävaatimuksia tulosriville (vähintään yksi häviö tarpeeksi lähellä
kohdetasoa jne..) tai sitten lisäämällä malliin tietoa. Koska mallin monimutkaistaminen on monessakin suhteessa hankalaa
(en pura kaikkea auki, jotta keskustelu pysyisi edes suurinpiirtein pääasioissa tässä vaiheessa), näyttäisi että
lisävaatimukset tulosriville ovat helpoin tapa korjata ongelma. Sitä paitsi on niitä tilanteita, joissa tyhjästä putkahtaa
pelivahvuudeltaan dan-tason kiinalainen jolla on 20k+ 7d- tulosrivi. Tässä tapauksessa luokittamisvirhe tapahtuisi alaspäin.

Ja olen muuten varmaan näissäkin keskusteluissa kommentoinut, että kyu-tason korottamisen tulisi olla vaikkapa täysin vapaata.

-- Kari

Eli jos oikein ymmärrän, niin et tuottaisi lainkaan virhearviota niille, joitka eivät täytä noita ehtoja?
Minusta parasta on laskea asiallinen virhearvio kaikille, mutta mieltymyksensä kullakin. 

Miksi lainkaan kommentoit tätä systeemiä, jos kerran myös täysin vapaa olisi sinusta hyvä?
Ovatko kommenttisi ovat tässä mielessä asian sivusta?

-- Lauri