This is version . It is not the current version, and thus it cannot be edited.
[Back to current version]   [Restore this version]

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

-- 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 Jokutm 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 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 19.5.2005

Add new attachment

In order to upload a new attachment to this page, please use the following box to find the file, then click on “Upload”.
« This particular version was published on 29-Jul-2005 13:42 by LauriPaatero.