sunnuntaina, elokuuta 31, 2008

Arvontakoneet: oikeasti satunnaisia vai leikisti satunnaisia?

Otan tähän esimerkin: PVR järjesti viidet ARJ-kisat elokuun 8. päivänä.
Kisakutsu 1
Kisakutsu 2
Kisakutsu 3
Kisakutsu 4
Kisakutsu 5

Kaikissa luokissa on samat osallistujat ja koska he ovat ilmoittautuneet samassa järjestyksessä, oli kaikkien luokkien osallistujalistat ennen tulosten arpomista todennäköisesti identtiset. Tulokset on oletettavasti arvottu samana päivänä ja varmaan kaikki peräkkäin, samalla arpomiskoneella.

Tuloksissa on tiettyä samankaltaisuutta.
Otan tähän muutamia esimerkkejä.
- Pureblood RDN osallistui jokaisena päivänä 6-luokkaan ja sai tällaiset tulokset: 2/8, 1/8, 3/8, 2/8, 5/8
- Glorious Pink Ion osallistui myös 6-luokkaan ja sen tuloslistaus näyttää tältä: 6/8, 8/8, 6/8, 6/8, 7/8
- Hologram GA osallistui luokkaan 7 ja sai tällaiset sijoitukset: 2/11, 4/11, 3/11, 6/11, 5/11
- Luppiksen ratsastama Grindill frá Moldóttur osallistui sekin 7-luokkaan ja tulokset ovat tällaiset: 1/11, 2/11, 1/11, 10/11, 2/11


Mitämitämitä?!
En kai minä vihjaile että kilpailujen pitäjä olisi rukkaillut tuloksia ja suosinut 7-luokassa Grindill frá Moldótturia ja kutosluokassa meidän Purebloodia? En huolta, en vihjaile sellaista. Sen sijaan sitä vihjaan, etteivät arvontakoneet välttämättä ole täysin satunnaisia.
Tietenkin otos näistä kisoista on pieni. Luokat ovat pienet, kahdeksan hevosen luokkaan ei saada kovin laajaa hajontaa sijoituksille eikä viisi kilpailua ole vielä paljon mitään. Ja onhan mahdollista voittaa vaikka lotossa 10 kertaa peräkkäin, se on hiivatin epätodennäköistä, muttei mahdotonta.
En halua tällä esimerkillä mitenkään osoitella PVR:n ylläpitäjää, samansuuntaisia tuloksia olen bongaillut muualtakin. PVR:n kisat nyt sattuivat vain sopivaksi esimerkiksi.


Puhutaanpa hieman arvontakoneiden satunnaisuudesta. Nuo tulokset ovat kieltämättä samankaltaisia, mutta se ei tarkoita välttämättä sitä, että niitä olisi käpälöity tieten tahtoen. Kyse voi olla siitä, ettei käytetty arvontakone olekaan niin satunnainen kuin sen kuvitellaan olevan.

Useimmin käytetyt arvontakoneet eivät itse osaa generoida (l. tuottaa, synnyttää, saada aikaan) täysin satunnaista tulosta itse vaan ne tarvitsevat ns. seedin eli siemenluvun, jonka täytyy olla satunnainen. Jos seed on sama, arvontakoneen antama tulos on sama. Jos seed on samankaltainen, tulos on myös samankaltainen. Seedin täytyy siis tulla jostain muualta ja sen täytyy olla satunnainen. Ja tämä on se vaikea kohta.

Joskus seedinä käytetään kellonaikaa, jonka käyttöjärjestelmä ilmoittaa sekunnin tarkkuudella. Yksinkertaisissa kohteissa tämä on riittävän satunnainen luku, mutta jos suoritetaan arvontoja monta peräkkäin lyhyillä aikaväleillä, ei kellonaika tietysti ehdi muuttua paljon ja saamme samankaltaisen tulosjoukon.

Toinen, hieman jo hienostuneempi keino on tarjolla ainakin Unix-pohjaisissa järjestelmissä. Niistä löytyy eräänlainen "satunnaistiedosto", jonne järjestelmä generoi koko ajan materiaalia (käsittääkseni binäärimuodossa) sitä mukaa kuin järjestelmässä tapahtuu. Siitä tiedostosta saadaan napattua arvontakoneelle seed.
Pidemmällä aikavälillä tämä on myös riittävän satunnainen, mutta ongelmia tulee myös tämän kanssa, jos suoritetaan monta arvontaa peräkkäin. Järjestelmässä ei siinä välissä ehdi tapahtua tarpeeksi, jotta saataisiin riittävästi uutta materiaalia satunnaistiedostoon. Samanlaisia ongelmia tulee helposti silloinkin, jos järjestelmä toistaa jotain tiettyä toimintasarjaa, esimerkiksi varmuuskopiointia joka päivä tiettyyn aikaan tai jos järjestelmässä ei tapahdu juuri mitään.

En kuitenkaan tiedä, millaisia keinoja seedien saamiseksi erilaiset yleisesti käytössä olevat arvontakoneet antavat, joten en voi syyttää ketään huonosti tehdyistä arvontakoneista. Eivätkä ne varmasti olekaan huonosti tehtyjä, vaan niiden satunnaisuus on riittävä silloin kun arvotaan yksi tulos.

Mitä sitten kannattaisi tavallisen virtuaalihevostelijan kannattaisi tehdä, jotta tulokset olisivat reiluja kaikille?

1. Älä arvo useita luokkia peräkkäin, varsinkaan sellaisia, joissa on samat osallistujat. Useissa menetelmissä aika vaikuttaa joko suorasti tai epäsuorasti seediin ja sitä kautta tulokseen.
2. Sekoita osallistujat itse ennen kuin syötät osallistujalistan arvontakoneelle. Suorita arvonta siis teoriassa kahteen kertaan.
3. Käytä eri arvontakoneita ja menetelmiä.
4. Itse paperilapuilla arvottu tulos on yleensä se kaikkein satunnaisin menetelmä, vaikkakin hankalin.

2 kommenttia:

stina kirjoitti...

Mielestäni on ihan hyvä vain, ettei arvontatulokset ole niin hirveän satunnaisia. Tai sanotaanko niin, että nykyisellään ne ovat mielestäni riittävän satunnaisia. (Tosin kaikkenaan pidän kyllä enemmän suhteutetuista, joissa satunnaisuudella on sijansa, mutta se ei ole hallitsevaa.)

Jotenkin on kiva ajatella, että joskus on hevosella hyvä päivä (silloin kun kaikissa luokissa menee ok/hyvin) ja joskus huono (silloin kun menee normaaliin verrattuna huonommin). Sen sijaan, että tulokset olisivat ihan mitä sattuu. Miten sitäkään selittää päiväkirjaan? "Kyllä tämä huippukilparatsuni on ihan hyvä; voitti kerran, kerran oli ok, kerran melkein viimeinen ja kerran viimeinen"? Tai jos helpot luokat menevät ihan seinille ja vaikeassa tulee voitto, (osittain) samojen osallistujien yli? Sattuuhan sitä, muttei jatkuvasti. Eikä edes kovin usein.

Eli mielestäni on hyvä vaan, että samoista kilpailuista tulee samansuuntaisia tuloksia!

(Paitsi silloin kun nämä yhdet pöljät kaakit vetelevät järjestään nollia.)

Anonyymi kirjoitti...

Itselläni on miltei jokaisessa järjestämässäni kisassa semmoinen olo, kun vilkaisen kärkeä niin oho omat polleni ne siellä.
Varmaan joku luulee, että fuskaan.
Varsinkin, kun järjestin kisoja paljon aina 100 hevosen luokkia useita ennen vrl:n taukoa.
Toivonmukaan tällaississa tapauksissa ei kukaan hyökkää päälle ja syytä huijauksesta.

Noita syitä mitä luettelit miten voi välttää samankaltaisia tuloksia luokissa niin joo voi vaihtaa arvontakonetta. Itselläni yleensä 12 luokkaa per kilpailu niin ei hirveästi kiinnosta pomppia arvontakoneesta toiseen. Ja ennen arvontaa tuskin viitsin sekotella järjestystä. Käsinkään en ala arpomaan.
Eli aika surkeet apuohjeet annoit. :D