SpinKit
KotiTutustu › Ovatko satunnaispyörät reiluja?

Ovatko verkon satunnaispyörät oikeasti reiluja?

Pyörä voi näyttää reilulta ja olla silti vedetty kotiinpäin — näin kerrot eron.

Jos pyörä päättää, kuka voittaa palkinnon, kuka menee ensin tai kuka saa viimeisen paikan, on kohtuullista kysyä, onko homma oikeasti reilu. Rehellinen vastaus: hyvä on, ja voit tarkistaa. Tämä opas selittää selkeällä suomella, miten verkkopyörät valitsevat voittajan, mitä ”satunnainen” oikeasti tarkoittaa tietokoneella ja käytännön merkit, jotka erottavat luotettavan valitsimen hämärästä.

Mitä ”reilu” oikeasti tarkoittaa

Reiluus tiivistyy kahteen asiaan. Ensinnäkin jokaisella kelvollisella kohdalla on se mahdollisuus, joka sillä kuuluu olla — ei enempää, ei vähempää. Toiseksi tulosta ei päätetä etukäteen eikä hiljaa työnnetä tiettyyn vastaukseen. Reilu pyörä ei välttämättä tarkoita, että jokainen kohta on yhtä todennäköinen; se tarkoittaa, että todennäköisyydet ovat mitä tahansa, mitä niiden on ilmoitettu olevan, eikä kulissien takana tapahdu mitään, mikä ohittaisi ne.

Se ero merkitsee, koska ”reilu” ja ”yhtäläinen” eivät ole sama asia. Arvonta voi olla täydellisen reilu suosiessaan tahallaan joitakin kohtia, kunhan se suosiminen on avointa. Epäreiluus tulee piilotetusta vaikutuksesta, ei epätasaisista todennäköisyyksistä.

Mitä ”satunnainen” tarkoittaa tietokoneella

Tietokoneet eivät osaa olla spontaaneja, joten ne teeskentelevät satunnaisuutta matematiikalla. Yleisin tapa on pseudosatunnainen lukugeneraattori (PRNG): fiksua kaavaa, joka alkaa luvusta nimeltä ”siemen” ja jauhaa virran arvoja, jotka näyttävät satunnaisilta. Ne kelpaavat satunnaisiksi useimpiin tarkoituksiin, mutta on koukku — koska se on vain kaava, kuka tahansa, joka tietää siemenen ja menetelmän, voisi periaatteessa laskea tismalleen, mitä tulee seuraavaksi. Se näyttää arvaamattomalta vain ulkopuolelta.

Selaimet tarjoavat myös toisen, vahvemman vaihtoehdon: kryptografisesti turvallisen generaattorin, joka on tarjolla Web Crypto APIn kautta (crypto.getRandomValues). Tämä on suunniteltu nimenomaan arvaamattomaksi — et voi takaisinmallintaa seuraavaa arvoa niistä, jotka olet jo nähnyt. Se on sama satunnaisuuden luokka, jota käytetään salasanojen ja turvallisten yhteyksien suojaamiseen, ja juuri siksi se on parempi valinta arvontoihin, joista ihmiset oikeasti välittävät. SpinKit käyttää selaimen kryptografista generaattoria valintoihinsa perus-PRNG:n sijaan juuri siksi, ettei tulosta voi ennustaa tai ohjata.

”Modulo-vinouman” ansa

On yksi hienovarainen kompastuskivi, joka kannattaa tuntea. Jotta iso satunnaisluku muuttuu muotoon ”valitse yksi näistä kahdeksasta nimestä”, koodin pitää litistää se oikeaan väliin. Naiivi tapa tehdä se voi hyvin hieman suosia joitakin kohtia toisten yli — pieni, vino heilahdus, jota et koskaan huomaisi yhdellä pyöräytyksellä mutta joka on aito monen mittaan. Huolelliset valitsimet korjaavat sen, jotta jokainen paikka pysyy tasaisesti painotettuna. SpinKit korjaa tämän, joten alla oleva matematiikka ei hiljaa kallista tulosta.

Painotus on silti reilua — kun se on näkyvää

Pyörä, jossa yhdellä kohdalla on isompi sektori kuin muilla, ei ole rikki. Isompi sektori tarkoittaa vain korkeampaa mahdollisuutta, ja se on täysin oikeutettua, kun painot ovat näkyvissä ja kaikki ovat sopineet niihin. Klassinen esimerkki on arpajaiset: sen, joka ostaa viisi lippua, pitäisi saada viisinkertainen mahdollisuus siihen nähden, joka ostaa yhden. Kukaan ei kutsu sitä vedetyksi kotiinpäin, koska syy epätasaisiin todennäköisyyksiin on selvästi nähtävissä.

Mikä tekee painotuksesta huijaamista, on sen piilottaminen. Jos sektori näyttää samankokoiselta kuin muut mutta on salaa todennäköisempi voittamaan, tai jos todennäköisyyksiä on kallitettu ilman että kenellekään on kerrottu, se on epärehellinen versio. Testi on yksinkertainen: näetkö, miksi yksi kohta on todennäköisempi kuin toinen? Jos kyllä, se on reilua. Jos suosiminen on näkymätöntä, se ei ole.

What makes a wheel trustworthy: it shows the full list of entries, every entry visibly has a slice, you can watch the spin happen, the odds are explained, and the same option doesn't keep "happening" to win. Unpredictable randomness underneath, transparency on top.

Riippumattomat pyöräytykset vs. nimien poisto

Ihmiset epäilevät usein vilppiä, kun sama nimi nousee kahdesti peräkkäin. Mutta jos jokainen pyöräytys on riippumaton — pyörä ei muista viimeistä tulosta — toisto on vain onnea, ei epäreiluutta. Reilu kolikko voi laskeutua kruunaan viidesti putkeen; kolikossa ei ole mitään vikaa.

Nimen poisto sen noston jälkeen on täysin eri tila, ja sekin on reilua — se vain muuttaa todennäköisyyksiä tahallaan. Ota voittaja pois, ja jäljellä olevista kohdista kukin tulee todennäköisemmäksi, mikä on juuri sitä, mitä haluat ei-toistoja-arvontaan, jossa kaikkien pitäisi saada vuoro ennen kuin kukaan menee kahdesti. Molemmat käyttäytymiset ovat oikeutettuja; merkitsee, että tiedät, kumpaa käytät ja miksi.

Miten teet järkitarkistuksen mille tahansa valitsimelle

Sinun ei tarvitse lukea koodia arvioidaksesi pyörää. Muutama näkyvä tarkistus vie pitkälle:

Ja punaiset liput ovat yhtä kertovia: pyörä, jonka tulokset näyttävät aina suosivan samaa vaihtoehtoa, valitsin, jossa ei ole tapaa nähdä kohtia lainkaan, tai ”pyöräytä uudestaan”, joka jatkuu kunnes tietty vastaus — vaikkapa sponsori — sattuu voittamaan. Mikä tahansa niistä tarkoittaa, että tulosta hallitaan sen sijaan, että se arvottaisiin.

Pohjimmiltaan

Verkkopyörät voivat ehdottomasti olla reiluja, mutta ”näyttää pyörältä” ei ole todiste. Luotettava valitsin käyttää aidosti arvaamatonta satunnaisuutta, korjaa pienet vinoumat, jotka hiipivät matematiikkaan, ja näyttää sinulle kaiken — kohdat, sektorit, pyöräytyksen ja todennäköisyydet — jotta voit varmistaa tuloksen sen sijaan, että vain uskoisit sen. Pyörä, joka on rakennettu niin, antaa tuloksen, jota koko ryhmä voi katsoa ja hyväksyä. Jos et koskaan näe, miten voittaja valittiin, se on vastauksesi. Lisää luotettavien arvontojen vetämisestä löydät muista oppaistamme.