Satunnaislukugeneraattori
Generoi satunnaislukuja tietyllä alueella. Täydellinen peleihin, päätöksiin ja tilastoihin. Ilmainen online-matematiikkatyökalu – välittömät tulokset.
Mikä on satunnainen lukujen generointi?
Satunnainen lukujen generointi (RNG) on työkalu tai algoritmi, joka tuottaa lukemia ilman mitään havaittavaa mallia — jokainen tuloste on tilastollisesti itsenäinen edeltävistä tulosteista, ja jokainen arvo on yhtä todennäköinen ilmestyessään. Satunnaisia lukuja on perustavaa tilastolle, pelien kehittämiselle, kryptografiaan, tieteelliselle simulaatiolle ja tietokoneohjelmointiin.
True satunnaisuus tulee fysikaalisista ilmiöistä, jotka ovat itsestään ennustettavissa: radioaktiivisen hajoamisen, ilmakehän äänet, sähköpiirien lämpöään ja kvanttimurtumat. Käyttöjärjestelmien satunnaisuusgeneraattorit mitataan näitä ilmiöitä tuottaakseen todellisia satunnaisia bittijonoja. Palvelut kuten random.org keräävät ilmakehän ääniä radiovastaanottimista tarjoakseen todellisia satunaisia lukuja.
Tietokonegeneroimat satunnaiset luvut ovat teknisesti pseudosatunnaisia — ne ovat määrätietoisia jonoja, jotka näyttävät satunnaisilta mutta ovat täysin määrätietoisia algoritmin alkuperäisarvolla, jota kutsutaan siemeneksi. Jos samalla siemenarvolla käytetään samaa pseudosatunnaisen lukujen generointijärjestelmää, se tuottaa saman järjestelmän. Tämä on todella hyödyllistä tieteellisille simulaatioille: aseta siemenarvo, tallenna se, ja voit myöhemmin toistaa tulokset.
Miten pseudosatunnaisia lukujen generointijärjestelmät toimivat
Modernit PRNG:t käyttävät matemaattisia algoritmeja tuottamaan jonoja erinomaisilla tilastollisilla ominaisuuksilla. Yleisimmän algoritmin on Mersenne Twister (MT19937), jonka Matsumoto ja Nishimura kehittivät vuonna 1997. Se on 2^19937 − 1 (noin 6 000 sijaintia) ennen toistumista, läpäisee kaikki standardit tilastolliset testit satunnaisuudesta ja on oletusarvoisena satunnaisuusgeneraattorina Pythonissa, PHP:ssä, Rubyssä, R:ssä ja monissa muissa kielissä.
Uusimmat algoritmit ovat xoshiro/xoroshiro (erittäin nopea, pieni tila) ja PCG (Permuted Congruential Generator) (erinomainen tilastollinen laatu pienellä tilalla). Kryptografisille sovelluksille nämä standardit PRNG:t eivät riitä — kryptografisesti turvalliset PRNG:t (CSPRNG:t) ovat vaadittavia, koska standardit PRNG:t voidaan ennustaa, jos hyökkääjä tietää tarpeeksi tulosteita.
Web-selaimet tarjoavat kryptografisesti turvallisen PRNG:n crypto.getRandomValues() -API:n kautta, jota tämä laskuri käyttää satunnaislukuja generoimiseen. Tämä on huomattavasti turvallisempi kuin Math.random(), joka käyttää yksinkertaista PRNG:ää ja ei ole koskaan tarkoitettu turvallisiin sovelluksiin.
| Algoritmi | Kausi | Nopeus | Kryptografinen? | Käytetty |
|---|---|---|---|---|
| Math.random() | Implementointi-riippuva | Erinomainen | Ei | Browser JS (ei-kryptografia) |
| Mersenne Twister | 2^19937 − 1 | Nopea | Ei | Python, R, MATLAB |
| xoshiro256** | 2^256 − 1 | Erinomainen | Ei | Rust, .NET, Julia |
| PCG-64 | 2^128 | Nopea | Ei | NumPy, monissa kielissä |
| ChaCha20 | — | Nopea | Kyllä | Linux /dev/urandom, TLS |
| Fortuna | — | Keskimäärin | Kyllä | macOS, iOS, Windows |
Yleiset käytöt satunnaisille luvuille
Pelit ja viihde: Noppaheitto, korttien sekoitus, prosessoidun tasapainotus, varastojen arpajaiset, NPC:n käyttäytymisen satunnaisuus. Koko kokemus roguelike-pelien (Nethack, Spelunky, Hades) perustuu korkealaatuiseen satunnaisuuteen, joka tuntuu oikealta ja ennustettavasta.
Arpajaiset ja arpajaiset: Satunnainen valinta palkinnoista, lahjoitusten arpajaisista, tuomariston valinta, varausottelut, ja mikään rajoitettu resurssi ei ole karsittu kilpailijoita vastaan. Todellinen satunnaisuus välttää biasin.
Tieteelliset simulaatiot (Monte Carlo -menetelmät): Satunnaiset luvut ajavat Monte Carlo -simulaatioita, jotka käyttävät toistuvaa satunnaisvalintausta arvioimaan monimutkaisia matemaattisia tuloksia. Sovellukset sisältävät esimerkiksi piin arviointia, rahoitustuotteiden hintojen arviointia, ydinreaktioiden mallintamista, sään ennustamista ja lääkeinteraktioiden tutkimusta.
Tilastot ja tutkimus: Satunnaisvalinta tutkimuksissa, satunnainen jako kliinisissä kokeissa (satunnainen kontrolloitu kokeet), bootstrap-samplaus luottamusvälien määrittämiseksi, ja krossivalvonta koneoppimisessa kaikki vaativat satunnaisia lukuja.
Kryptografia ja turvallisuus: Salausavaimen luominen salaukselle, satunnaisia session-merkkejä, CAPTCHA-haasteet, yksittäisten salasanojen (OTP/2FA) luominen, salasanan salausarvojen lisääminen, ja noncet kryptografisissa protokollissa kaikki vaativat korkealaatuista satunnaisuutta. Heikkolaatuinen satunnaisuus kryptografisissa sovelluksissa voi olla katastrofaalinen — se on johtanut todellisiin turvallisuusrikkovaisiin tapauksiin.
Tietokoneohjelmointi: Testidata luominen, kuormitustestaus, fuzzing (bugien löytäminen syöttämällä satunnaisia syötteitä ohjelmistoon), A/B-testausjakoa, sekoitusalgoritmit (kuten Spotifyn "sekoitus"-ominaisuus), ja simulaatio testaus.
Tasa-arvo ja tilastolliset odotukset
Tasa-arvoisen satunnaislukujen generaattorin antaa jokaiselle arvolle yhtä suuren todennäköisyyden. Kymmenkärjellä (1–6) jokainen numero tulisi esiintyä noin 1/6 ≈ 16,67% aikaa useammin montaheitolla. Mutta lyhyillä sarjoilla poikkeamat ovat normaalia ja odotettua – tämä on mitä todennäköisyys kertoo meille.
Lausuma suuresta lukumäärästä sanoo, että suurena trialit kasvavat, havaitut esiintymisfrequenssit muuttuvat teoreettisiin todennäköisyyksiin. Heitä kymmenen kertaa ja sinä näet {1,3,5,6,2,1,4,3,2,6,5,4} – ei juuri 2 kertaa jokaisella numerolla. Heitä 60 000 kertaa ja sinä näet hyvin lähellä 10 000 kertaa jokaisella numerolla. Tämä yhtäläisyys on lausuman takana, mutta lyhyen ajan patterit eivät ole.
Arpaakohtalaisuuden harhautuma on väärinkäsitys siitä, että menneet tulokset vaikuttavat tuleviin tapauksiin itsenäisissä satunnaisissa tapahtumissa. Viisi pääskyä peräkkäin ei tee "päätä" "kääntymään". Jokainen heitto on itsenäinen; raha ei muista mitään. Samoin satunnaislukujen generaattori, joka on tuonut 7:n, ei ole vähemmän todennäköistä tuottamaan 7:ää uudelleen seuraavalla kutsulla.
| Alue | Todennäköisyys per arvo | Odottava esiintyvyys (1000 kertaa) | Yleinen käyttötapaus |
|---|---|---|---|
| 1–2 | 50% | 500 | Arpaheittojen simulointi |
| 1–6 | 16,67% | 167 | Kuutonheittojen simulointi |
| 1–10 | 10% | 100 | Desimikymmenkenttä |
| 1–52 | 1,92% | 19 | Pakka |
| 1–100 | 1% | 10 | Prosenttiluku/yleinen käyttö |
| 1–1 000 000 | 0,0001% | 0,001 | Arpajaislipun simulointi |
Satunnaislukujen generaointi tiedeessä: Monte Carlo -menetelmät
Monte Carlo -menetelmät käyttävät satunnaisia näytteitä ratkaisemaan ongelmia, jotka ovat analytiikassa vaikeita tai mahdollisia. Nimi on peräisin Monacosta (joskus selkeästä syystä), ja nämä menetelmät muuttavat vaikeita deterministisiä ongelmia satunnaisiin ratkaistaviksi.
Piin arvioiminen: Satunnaisesti luo pisteitä yksikkösuorakkeella (x, y, joka on yksilöllinen [0,1]). Laske, kuinka monta on yksikköympyrässä (x² + y² ≤ 1). Suhde on π/4. Yhden miljoonan satunnaisella pistellä, voit arvioida π:ää noin 3–4 desimaalipaikkaan. Tämä ei ole hyvä tapa laskia π, mutta se osoittaa satunnaisuuden voiman.
Finanssimalli: Black-Scholes -arvopaperin hinta-arvio ja Value at Risk -laskelmat simuloi tuhansia mahdollisia tulevia hinta-reittejä satunnaisilla lukemilla. Jokainen simulointireitti edustaa yhtä mahdollista tulevaisuutta. Tulosten jakautuminen miljoonien simulointien kautta antaa arvojen jakautumisjakson todennäköisyysjakauman.
Lääkekehitys: Monte Carlo -simuloinnit mallintavat lääkeainereaktion, ennustavat, kuinka todennäköistä kandidaattilääke on sitoutumassa kohdeproteiiniin. Tämä vähentää laboratoriotutkimusten määrää, pelastamalla miljardien dollareja lääkekehityksessä.
Generoiden satunnaisia lukua (Ilman uusintaa)
Usein tarvitaan satunnaisia lukua, jotka eivät toistu – esimerkiksi korteissa sekoittaminen, osallistujien ryhmittäminen tai arpaajaislipun valinta. Tätä kutsutaan ilman uusintaa näytteiden ottamiseksi (toisin kuin näytteiden ottaminen uusintana, jossa sama arvo voi esiintyä useammin).
Standardsääntö tämän toteuttamiseksi on Fisher-Yates -sekoitus (tunnetaan myös nimellä Knuth -sekoitus). N:llä elementtien joukolla: aloita viimeisimmästä elementistä, vaihda se satunnaisesti valitun elementin kanssa koko joukosta (myös itseään), siirry toiseksi viimeiseen elementtiin, vaihda satunnaisesti valitun elementin kanssa niistä jäljellä olevista, ja jatka. Tulos on yhtäläinen satunnaisuuspermutationti O(n) aikaa.
Generoidakseen k:ta satunnaisia lukua alueelta [min, max]: Luo kaikki arvot alueella, soveltaa Fisher-Yates, ottaa ensimmäiset k arvoja. Tämä varmistaa, että k:n arvojen yhdistelmät ovat yhtäläisiä – todellinen yhdistelmä ilman uusintaa.
Sattumanvaraisia lukemia päivittäisissä päätöksissä
Sattumanvaraiset lukijen generoijat ovat yllättävän hyödyllisiä päivittäisissä päätöksissä:
Tasapainot: Kun kaksi yhtä hyvää vaihtoehtoa on olemassa, sattumanvarainen luku voi tehdä päätöksen ilman yliharkkaa ajattelua. Tutkimukset ehdottavat, että kun ihmiset ajattelevat liian pitkään todella samanarvoisista valinnoista, he tuottavat biasseja, jotka tekevät heidän tuloksensa onnellisemmiksi, jos he olisivat valinneet sattumanvaraisesti.
Aikatauluttaminen ja suunnittelu: Sattumanvarainen vuorovaikutussuunnitelma varmistaa oikeudenmukaisuuden ajan kuluessa. Kuka valitsee ensimmäisenä fantasiakierroksessa, kuka saa haluamansa siirtymäajan, mikä aihe aiheutuu ensin keskustelussa — sattumanvarainen jakelu poistaa suosimusta ja käsitystä epäoikeudenmukaisuudesta.
Oppiminen ja harjoittelu: Opiskelijat, jotka käyttävät flashcardia, hyötyvät sattumanvaraisesta järjestyksestä — se estää oppimisen "ympäristömerkinnät" (tietävän vastauksen kortti 15, koska vastasit kortti 14). Sattumanvarainen sekoitus harjoitusongelmia vahvistaa pitkäaikaista muistia verrattuna blokeihin harjoitteluun.
Luovuuden herättäminen: Kirjailijat, taiteilijat ja muusikot käyttävät sattumanvaraisia sananlaskijoita, ohjelmoituja ja sattumanvaraisia rajoituksia ylittääkseen luovuuden esteet. Sattumanvaraisesti asetetut rajoitukset usein pakottavat odottamattomia ja mielenkiintoisia luovia ratkaisuja.
Usein kysytyt kysymykset
Onko tämä generoija todella satunnainen?
Se käyttää selaimen crypto.getRandomValues() -API:ta, joka on kryptografisesti turvallinen pseudosatunnainen lukujen laskija (CSPRNG). Pelien, päätösten, tilastojen ja arpajaisien tapauksessa tämä on erottamaton todellisesta satunnaisuudesta. Todellista satunnaisuutta (fysikaalisista ilmiöistä) käytetään hardware-RNG:itä tai palveluita kuten random.org.
Voinko generoida satunnaisia numeroita ilman toistumisia?
Kyllä — tämä on nimeltään näytteenotto ilman korvaamista. Laskuri käyttää Fisher-Yatesin sekoituskäytäntöä: luo kaikki arvot annetussa välillä, sekoita ne satunnaisesti, palauta ensimmäiset N. Tämä varmistaa, että jokainen arvo ilmenee enintään kerran ja jokainen yhdistelmä on yhtä todennäköinen.
Mikä on todennäköisyys saada saman numeron kaksi kertaa peräkkäin?
Korvaamattomassa tilassa (standardimoodissa), arvojen määrässä N, todennäköisyys saada saman arvon kaksi kertaa peräkkäin on 1/N. Arvojen määräksi 1–100: 1% per parit. Monilla piirroilla toistumisia on odotettavissa ja normaalia. Ilman toistumisia -tilassa, peräkkäiset kertaluokat ovat mahdollisia suunnilleen suunnilleen.
Voinko käyttää tätä loton numerojen valinnassa?
Absoluuttisesti. Aseta arvojen määrä vastaamaan lotossa (esim. 1–49) ja käytä "ilman toistumisia" -tilaa valitakseen yksilölliset numerot. Jokainen yhdistelmä on yhtä todennäköinen — mikään numero tai yhdistelmä ei ole enemmän tai vähemmän todennäköinen voittamaan. Itse lotossa on satunnainen, joten mikään valintamenetelmä ei ole enemmän tai vähemmän todennäköinen.
Mitä on siemen satunnaislukujen laskimessa?
Siemen on alkuarvo satunnaislukujen laskimelle. Saman siemenkäyttö tuottaa aina saman sarjan. Tämä on hyödyllistä toistettavissa simuloinneissa — aseta siemen, suorita simulointi, tallenna siemen, ja voit toistaa saman satunnaislukusarjan myöhemmin varmuuden tai virheenkorjaamiseksi.
Voinko valita satunnaisen elementin listasta?
Numeroi elementit 1:stä N:ään, sitten luo satunnainen kokonaisluku 1:stä N:ään. Käytetty elementti on satunnainen valinta. Esimerkiksi, valita satunnainen 7 henkilöä, luo satunnainen kokonaisluku 1:stä 7:ään. Jokainen henkilö on yhtä todennäköinen valintaan.
Onko JavaScriptissä Math.random() todella satunnainen?
Ei. Math.random() on yksinkertainen PRNG, jolla ei ole turvallisuusvaatimuksia. Se on riittävä pelien ja ei-turvallisten sovellusten käyttöön, mutta ei koskaan käytetä kryptografisissa tarkoituksissa (avaimen luominen, tokenit, salasanan luominen). Turvallisuussovelluksissa aina käytetään crypto.getRandomValues() tai palvelinpuoleinen CSPRNG.
Mikä on ero PRNG:in ja CSPRNG:n välillä?
PRNG (Pseudorandom Number Generator) on määrätietoinen ja nopea, mutta ennustettavissa, jos tiedät riittävän paljon sen tilasta. CSPRNG (Cryptographically Secure PRNG) lisää ominaisuuden, että tulokset ovat laskennallisesti erottamattomia todellisesta satunnaisuudesta, vaikka hyökkääjä havaitsee jotain tuloksia. CSPRNG:it ovat vaadittavissa salasanoille, avaimille ja tokenille.
Mitä on Monte Carlo-simulointi?
Monte Carlo-simulointi käyttää suuria määriä satunnaisia näytteitä arvioidakseen monimutkaisia suureita. Esimerkki: arvio π:sta satunnaisesti sijoittamalla pistettä neliön sisällä olevaan ympyrään — pistemäärä ympyrässä suhteessa koko neliön pistemäärään konvergoi π/4. Monte Carlo -menetelmät käytetään rahoituksessa, fysiikassa, insinööritieteissä ja tilastotieteessä.
Voivatko satunnaislukugeneraattorit olla vääristyneitä?
Huonoa laatuun kuuluvat generoijat voivat osoittaa vääristymää — jotkut arvot ilmenevät useammin kuin muut, tai seuraavien arvojen välillä on korrelaatioita. Laadun mittaamiseen käytetään tilastollisia testejä (NIST Test Suite, TestU01 BigCrush). Nykyiset algoritmit kuten Mersenne Twister, PCG ja xoshiro ovat kaikki standardit testit ja ovat vääristymättömiä käytännössä.
Sattuisia lukemia pelien ja prosessoidun luomisen osuudessa
Videopelejä rakennetaan sattumalta. Sattumanomaisten tiilien luominen Minecraftin maailman luomisessa, vihollisten AI:n sekoitus, korkealaatuinen satunnaisuus luovat uudelleen pelattavia, epävarmoja kokemuksia. Prosessoidun sisällön luominen (PCG) käyttää sattumia matemaattisilla rajoituksilla luodakseen laajoja sisältöjä vähäisellä käsityövoimalla — 18 kvintiljoonaa planeettaa No Man's Skyssä luotiin kaikki prosessoidusti sattumien siemenistä.
Roguelikkeja kuten Nethack, Spelunky ja Hades määrittelevät genreä prosessoidun tasotason luomisella. Joka kerta generoidaan erilainen labyrintti, vihollisten sijoitus ja esineiden jakelu. Peli siemenää sattumia siten, että pelituntuma tuntuu oikealta (RNG ei satuttaisi kuoleman heti) kun taas pysyy epävarmana. Monet roguelikkeet näyttävät siemeniä, jotta pelaajat voivat pelata saman runon uudelleen tai jakaa kiinnostavia siemeniä toisille.
Pöytäpelit ovat käyttäneet fyysistä satunnaisuutta (kolikot, sekoitettu korteisto, pyörivä pyörä) vuosisatoja. Digitaaliset vastineet ovat tarkoituksessaan emuloivat näitä jakautumisia tarkasti. Standardi d6 kuulauksessa käytetään yhdenmuotoista jakautumista {1,2,3,4,5,6}. Kortin nouto sekoitetusta pakkauksesta käyttää satunnaisen järjestyksen sattumaa. Jotkut pelit käyttävät kuulauksia (heitä useampia kuulia, ottaa korkein) tai kuulia, joilla on etu- tai haitta – vaativat huolellista tilastollista suunnittelua saavuttakseen tarkoituksenmukaiset todennäköisyysjakautumiset.
Luominen muista jakautumisista yhdenmuotoisista satunnoista
Useimmat RNG:t tuottavat lukuja yhdenmuotoisesti jakautuneiden välillä 0 ja 1 (tai lukujen välillä). Usein tarvitaan satunnaisia lukuja, jotka seuraavat muita jakautumisia – normaalia, eksponentiaalista, Poissonia jne. Näitä voidaan saada yhdenmuotoisista satunnoista käyttäen muuntamismenetelmiä.
Box-Mullerin muuntaja generoi normaalisti jakautuneita satunnaisia lukuja kahdesta yhdenmuotoisesta satunnoista U₁ ja U₂: Z₁ = √(−2ln(U₁)) × cos(2πU₂) ja Z₂ = √(−2ln(U₁)) × sin(2πU₂). Molemmat Z₁ ja Z₂ seuraavat standardinormaalia jakautumista N(0,1). Avoimme Z × σ + μ saada N(μ,σ²).
Inversio muuntomenetelmä käyttää kertymäfunktion (CDF) käänteistä. Eksponentiaalisen jakautumisen kohdalla λ:lla: X = −ln(1−U)/λ, missä U on yhdenmuotoisessa [0,1] välillä. Tämä muuntaa suoraan yhdenmuotoisen satunnon eksponentiaaliseksi. Menetelmä toimii minkä tahansa jakautumisen kanssa, jolla on analytiikkaa kääntämällä CDF.
Statististen Testien Käyttäminen Satunnaisuuden Todistamiseen
Miten varmistamme, että satunnaislukujen generointi on todella satunnainen? Statistiset testit tarkistavat, näyttääkö lukujen sarja piirteitä, jotka olisivat epätodennäköisiä todella satunnaisessa sarjassa. NIST:n Statistinen Testipaketti sisältää 15 testiä, jotka käytetään arvioimaan satunnaislukujen generointia kriittisissä sovelluksissa. Tärkeimmät testit ovat:
Frekvenssitesti (Monobit): Tarkistaa, näyttääkö 0:ien ja 1:sten esiintyminen yhtä usein sarakkeen binäärimuodossa. Epätasapainoinen raha, joka laskee pääskyksi 60 %:ssa tapauksista, epäonnistuu tässä testissä.
Runs Test: Tarkistaa, montako peräkkäistä samanlaisia bittiä (runs) esiintyy. Liian pitkät samanlaiset bittijonot viittaavat epätodennäköiseen malliin. Todella satunnainen sarja on ennustettavissa runojen pituuksien jakautumisessa.
Serial Test: Tarkistaa, esiintyykö parit, kolmikot tai nelikot arvojen kanssa yhtä usein. Jos generointi tuottaa sarjan 1,2,3,4,5,6,1,2,3,4,5,6... se onnistuu frekvenssitestissä, mutta epäonnistuu serial testissä – parit ovat epätodennäköisiä.
| Statistinen Testi | Mitä Se Tarkistaa | NIST Testipaketti? |
|---|---|---|
| Frequency (Monobit) | Epätasapainoinen 0/1-frekvenssi | Yes |
| Runs Test | Liian monta/few peräkkäistä samanlaisia arvoja | Yes |
| Autokorrelaatio | Arvojen korrelaatio edellisten arvojen kanssa | Yes |
| Chi-Square | Epätasaisen jakautumisen oletus | Yes (frekvenssitesti) |
| Birthday Spacing | Liian tasaiset välinet arvojen välillä | Via TestU01 |
| Diehard | Useita mallitestejä | Erillinen testipaketti |
TestU01 "BigCrush" -testipaketti on pidetty tarkoituksenmukaisimpana käytännöllisenä testinä – se suorittaa 106 testiä ja hylkää monet algoritmit, jotka onnistuvat pienemmillä testipaketeilla. Nykyiset algoritmit kuten PCG ja xoshiro onnistuvat BigCrushissa; vanhemmat algoritmit kuten lineaarinen kongruenssilaskuri, jota käytettiin varhaisissa C-kirjastoissa, epäonnistuvat useissa testeissä ja eivät ole sovellettavissa laadukkaille sovelluksille.
Käyttäminen Tämän Satunnaislukujen Generaattorin Käytössä
Aseta minimi- ja maksimiarvot määrittämään lukusarjan raja. Aseta "montako" saadaksesi useita lukua kerralla. Ota "ei toistu" -vaihtoehto käyttöön saadaksesi yksilölliset lukujen listan (näytteidenä ottaminen ilman uusintaa) – sopii lottoarvojen valintaan, korttipelin piirtoihin tai ryhmien jakamiseen ilman toistoa. Generoitu sarja käyttää sivun kriptografista satunnaislukua saadaksesi korkealaatuisia tuloksia, jotka ovat sopivia kaikille ei-turvallisuussovelluksille. Loton käytössä, generoi lukumäärä, joka vastaa valintamäärää, loton määritellyssä lukusarjassa. Rahanjakoon käytössä, määrittele järjestysnumerot näytteille ja piirrä vastaava numero. Tulokset generoidaan uudelleen joka kerralla, kun painat nappia – aiemmat tulokset eivät tallenneta tai seurata.