Juhuslik valik nimekirjast

Kleepige ükskõik milline nimekiri — nimed, ülesanded või ideed — ja laske tööriistal teha aus juhuslik valik. Iga loosimine toimub teie veebilehitsejas lokaalselt, mistõttu teie nimekiri ei lahku kunagi teie seadmest.

Vajutage Genereeri, et loosida
Eraldaja tuvastatakse automaatselt, kuid saate selle allpool ise valida.
Täpsemad valikud

Kas teil on vaja leida auhinnamängu võitja, kutsuda õpilane vastama või otsustada, kes viib prügi välja? See tasuta veebipõhine juhuslike valikute tööriist teeb ausa loosi igast teie sisestatud nimekirjast. Kleepige oma kanded kasti „Elemendid“ — üks igale reale või komadega eraldatult — määrake väljale „Arv“, mitut tulemust soovite, ja vajutage nuppu „Genereeri“. Nimekiri vajab vähemalt kahte kannet ja mahutab kuni 1000 elementi, igaüks pikkusega kuni 200 tähemärki.

Iga loosimine tehakse otse teie veebilehitsejas, kasutades Web Crypto API-t (crypto.getRandomValues), mis pakub teie operatsioonisüsteemi generaatorist pärinevaid krüptograafiliselt tugevaid juhuarve. Teie nimekirja ei saadeta kunagi ühtegi serverisse, seda ei salvestata kuhugi ja meie seda ei näe — see on siin olulisem kui enamiku generaatorite puhul, sest tavaliselt lisatakse kliendinimekirju, klassipäevikuid või kolleegide nimesid. Nupp „Laadi failist“ peab kinni samast lubadusest: teie veebilehitseja loeb faili ja täidab kasti lokaalselt, laadimata midagi internetti üles.

Valikud on loodud päriselt kasutatavate nimekirjade jaoks. Säte „Eraldaja“ on vaikimisi „Automaatne“, mis tunneb ära reavahetused ja komad ning tuvastab ise, kumba teie nimekiri kasutab. Nii töötab tabelist, vestlusest või dokumendist kopeeritud loend ilma, et peaksite seda ise vormindama. Kui teie andmetes on vormingud segamini, lukustage see valikule „Reavahetus“, „Koma“ või „Tühik“. Pange tähele, et „Tühik“ on alati teadlik valik ja pole kunagi automaatne, sest kanded nagu täisnimed sisaldavad ise tühikuid ja nende automaatne eraldamine rikuks rohkem nimekirju kui parandaks. Väli „Arv“ otsustab, mitu kannet loositakse, vahemikus 1 kuni 100. Kas otsite 200 osaleja hulgast kolme võitjat? Kleepige osalejad, seadke „Arv“ väärtusele 3 ja vajutage „Genereeri“. Kaks seadet rakenduvad alles siis, kui arv on 2 või enam, jäädes seniks halliks: lüliti „Kordusteta“, mis määrab, kas sama kannet saab loosida kaks korda, ja „Väljundvorming“, mis määrab, kuidas valikud eraldatakse — „Üks igal real“, „Tühikuga eraldatud“ või „Komaga eraldatud“.

Kastis „Elemendid“ olev nupurida teeb ära muudatused, mida muidu peaksite tegema kuskil mujal. „Laadi failist“ tõmbab nimekirja otse lihtteksti- või CSV-failist. „Juhuslik“ muudab kannete järjekorda kastis, „Sorteeri“ järjestab need tähestikulises ja loomulikus numbrilises järjekorras ning teine klõps pöörab järjekorra ümber, samas kui „Tühjenda“ teeb kasti täiesti tühjaks. Nupp „Täitke näidisandmetega“ lisab lühikese proovinimekirja, et saaksite tööriista ühe klõpsuga katsetada. Valik „Laienda, et see sobiks sisuga“ teeb kasti suuremaks, et näidata pikka nimekirja täies mahus, ja „Ahenda vaikesuurusele“ muudab kasti taas väikeseks. Tulemuste all asetsev „Kopeeri kõik“ kopeerib iga valiku lõikepuhvrisse, „Salvesta faili“ kirjutab need teie seadmesse ning „Ajalugu“ hoiab teie viimased 10 loosimist veebilehitsejas, et varasem tulemus oleks vaid ühe klõpsu kaugusel.

Kuidas valik tegelikult tehakse? Kui vajutate „Genereeri“, küsib veebileht lehitsejalt juhuslikke väärtusi funktsiooni crypto.getRandomValues kaudu ja kasutab neid teie nimekirjast positsioonide valimiseks, selle asemel et toetuda JavaScripti pseudojuhuslikule funktsioonile Math.random(). Toore 32-bitise väärtuse asukohaks muutmine on koht, kus algoritmid sageli märkamatult eksivad: väärtuse jagamine nimekirja pikkusega ja jäägi (modulo) võtmine on kõige ilmsem, ent samas kallutatud lähenemine. Põhjus on selles, et kui 2^32 ei jagu täpselt nimekirja pikkusega, tulevad nimekirja alguses olevad kanded veidi sagedamini esile kui teised. Seda viga nimetatakse modulokallutatuseks (modulo bias) ja see on mõõdetav, mitte lihtsalt teoreetiline. Meie tööriist aga tühistab kõik väärtused, mis ületavad nimekirja pikkuse suurimat täpset kordajat, ja loosib uuesti — tehnikat nimetatakse tagasilükkamisega valikuks (rejection sampling). See nõuab mõne lisaloosimise tegemist, kuid pakub ligikaudse garantii asemel täpset. Asukoht nimekirjas ei muuda midagi: esimene ja viimane kanne omavad igal loosimisel täpselt sama tõenäosust.

Lüliti „Kordusteta“ eraldab kahte täiesti erinevat tüüpi loosimist, mille jaoks on statistikas eraldi nimed. Kui see on sisse lülitatud, segab tööriist teie nimekirja koopia Fisher-Yatesi algoritmiga ja võtab kanded ülevalt — justnagu tõmbaks piletid mütsist välja neid tagasi panemata, nii et kedagi ei valita kaks korda ja iga selle suurusega rühm on võrdselt tõenäoline. Seda nimetatakse tagasipanekuta valikuks (sampling without replacement) ja see on täpselt see, mida vajate auhindade jagamisel, meeskondade moodustamisel ja järjekorra määramisel. Kui see on välja lülitatud, tehakse iga valik sõltumatult kogu nimekirjast, seega võib sama kanne tulla esile rohkem kui üks kord — see on tagasipanekuga valik (sampling with replacement), mida vajate siis, kui kõik jäävad igas voorus valikusse, näiteks korduvate loosimiste või kiire statistilise valimi puhul. Kumbki režiim pole teisest ausam; need lihtsalt vastavad erinevatele vajadustele.

Aus loosimine ei tohigi ausana näida. Loosige kümnest nimest viis ja te näete regulaarselt kaht valikut, mis olid algses nimekirjas üksteise kõrval, või sama nime kaks korda järjest, kui kordused on lubatud — ja igaüks neist juhtumitest on täiesti tavaline. Iga loosimine on sõltumatu: varasematel valikutel pole mingit mõju hilisematele ning keegi ei ole kunagi võidu „ootel“ pelgalt seetõttu, et on aeg. Instinkt, mis väidab vastupidist, on mänguri eksitus (gambler's fallacy). See on sama instinkt, mis muudab meid endid halbadeks juhuslikeks valijateks — kui meil palutakse suvaliselt valida, väldime esimest ja viimast kannet, püüame nime mitte korrata ning hajutame oma valikud palju ühtlasemalt, kui juhus seda kunagi teeks. Kahtlaselt korrapärane tulemus on inimese sõrmejälg; tõeline juhuslikkus tekitab kobaraid.

Miks valida see juhuslike valikute tööriist?

Juhuslik valik tuleb mängu kõikjal, kus tehtud otsus peab vastu pidama küsimustele. Eesti õpetajad küsivad õpilasi soosikuid valimata ja jagavad klassi projektirühmadesse. Striimijad ja turundajad loosivad auhinnamängude võitjaid publiku ees, kes peab tulemust uskuma. Juhid jagavad ülesandeid, mida keegi vabatahtlikult ei soovi, ja meeskonnad lepivad kokku esitluste järjekorras. Uurijad võtavad kontrollimiseks juhusliku valimi kirjetest. Perekonnad lõpetavad vaidluse selle üle, mida vaadata, ja näljane seltskond valib restorani. Ühine joon on valik, mida igaüks suudab hiljem selgitada: loosimine kasutab krüptograafilist juhuslikkust, see toimub täielikult teie seadmes ning „Ajalugu“ hoiab tulemuse alles, kui keegi peaks hiljem selle kohta küsima.

Sellel tööriistal on mõned ausad piirangud, mida tasub teada. Tööriist ei saa loosida rohkem unikaalseid kandeid, kui teie nimekiri sisaldab — kolme võitja jaoks on vaja vähemalt kolme nime — ja piiriks on 1000 kannet pikkusega 200 tähemärki igaüks, kusjuures ühel loosimisel saab teha kuni 100 valikut. Nupud „Juhuslik“ ja „Sorteeri“ töötavad rea kaupa, nii et ühele reale kleebitud ja komadega eraldatud nimekiri seatakse uude järjekorda alles siis, kui igal real on üks element; mõlemad muudavad kasti sisu, mitte loosimist ennast, mis on täpselt sama aus olenemata teie kannete järjekorrast. Iga kanne kannab samuti disainipäraselt täpselt sama kaalu, seega loosimise puhul, kus üks nimi peaks andma topelthääle, tuleb see nimi ka kaks korda sisestada. Nende piirangute piires on garantii tugev — igal teie nimekirja kandel on täpselt sama võimalus iga üksiku loosimise puhul.

FAQ

Kuidas loosida nimekirjast juhuslik nimi?

Kleepige nimed kasti „Elemendid“ — üks igale reale või eraldatuna komade või tühikutega —, jätke „Arv“ väärtusele 1 ja vajutage „Genereeri“. Üks nimi loositakse kohe. Et valida mitu nime korraga, suurendage välja „Arv“ väärtust vastavalt vajadusele.

Kas loosimine on päriselt aus?

Jah. Iga valik kasutab teie veebilehitseja Web Crypto API-t (crypto.getRandomValues) koos tehnikaga rejection sampling (tagasilükkamisega valik), mis eemaldab modulokallutatuse, mille lihtne teostus muidu kaasa tooks. Igal kandel on täpselt sama tõenäosus sõltumata selle asukohast nimekirjas ning mitme erineva kande loosimisel kasutatakse Fisher-Yatesi segamisalgoritmi, et iga selle suurusega rühm oleks samuti võrdselt tõenäoline.

Kas minu nimekiri laaditakse teie serverisse üles?

Ei. Kogu loosimine toimub lokaalselt teie veebilehitsejas: nimekiri, valikud ja ajalugu ei lahku kunagi teie seadmest, seega on turvaline kleepida nii nimesid, e-posti aadresse kui ka isiklikke andmeid. Nupp „Laadi failist“ on samuti lokaalne — teie veebilehitseja loeb faili ise ja midagi ei laadita üles.

Kas saan kleepida koma või tühikuga eraldatud nimekirja, mitte iga elementi eraldi reale?

Jah. „Eraldaja“ on seatud valikule „Automaatne“, mis eristab iseseisvalt reavahetusi ja komasid, nii et tabelist, vestlusest või dokumendist kopeeritud nimekiri töötab sellisena, nagu see on. Tühikuga eraldatud nimekiri vajab ühte lisasammu — seadke „Eraldaja“ valikule „Tühik“ —, sest sellised kanded nagu täisnimed sisaldavad ise tühikuid ja neid ei jagata kunagi automaatselt pooleks. Kui teie andmetes on vormingud segamini, lukustage „Eraldaja“ väärtusele „Reavahetus“ või „Koma“.

Mida teeb lüliti „Kordusteta“?

Kui „Kordusteta“ on sisse lülitatud, on iga loositud kanne erinev — justkui piletite väljatõmbamine mütsist ilma neid tagasi panemata, mis on see, mida soovite auhindade loosimisel või meeskondade jagamisel. Väljalülitatult saab sama kannet loosida mitu korda, mida statistikud nimetavad tagasipanekuga valikuks.

Miks on valikud „Kordusteta“ ja „Väljundvorming“ hallid?

Sest mõlemad rakenduvad alles siis, kui loosite rohkem kui ühe kande, nagu ütleb nende kõrval asuv vihje: „Rakendub ainult siis, kui arv on suurem kui 1.“ Suurendage „Arv“ kahe või enamani ja mõlemad muutuvad kättesaadavaks; väärtuse 1 juures pole midagi kopeerida ega eraldada.

Mida teeb säte „Väljundvorming“?

See määrab, kuidas mitu valikut kuvatakse ja kopeeritakse: „Üks igal real“, „Tühikuga eraldatud“ kiireks vestlussõnumiks või „Komaga eraldatud“ tabelisse või skripti kleepimiseks. See muutub kättesaadavaks, kui „Arv“ on vähemalt 2.

Mida teevad nupud „Juhuslik“ ja „Sorteeri“?

„Juhuslik“ muudab kannete järjekorda kastis „Elemendid“ ja „Sorteeri“ seab need tähestikujärjekorda koos loomuliku numbrite järjestusega — uuesti sorteerimisele klõpsamine pöörab järjekorra ümber. Mõlemad muudavad seda, kuidas teie nimekiri on kirjutatud, mitte seda, kuidas loosimine töötab: tööriist on ühtemoodi aus olenemata kannete järjekorrast.

Mitu elementi saab nimekirjas olla ja mitu saan korraga valida?

Nimekiri mahutab 2 kuni 1000 kannet, igaüks kuni 200 tähemärki, ja üks loosimine toob tagasi kuni 100 valikut. Tühje ridu ja äärtes olevaid tühikuid ignoreeritakse, nii et tabelist või dokumendist kleebitud nimekiri töötab täpselt sellisena, nagu see on.

Kas see sobib auhinnamängude võitjate loosimiseks?

Jah, ja see on üks selle levinuimaid kasutusalasid. Kleepige osalejad, seadke „Arv“ auhindade arvule, hoidke lüliti „Kordusteta“ sees, et keegi ei võidaks kaks korda, ja vajutage „Genereeri“. Kuna loosimine kasutab krüptograafiliselt turvalist juhuslikkust ja jookseb täielikult teie seadmes, on protsessi lihtne selgitada, ja „Ajalugu“ säilitab tulemuse, kui mõni osaleja selle hiljem kahtluse alla seab.

Kas ma saan seda kasutada inimeste meeskondadesse jagamiseks?

Jah. Määrake „Arv“ esimese meeskonna suuruseks ja vajutage „Genereeri“ — loositud nimed moodustavad esimese meeskonna. Eemaldage need nimekirjast ja korrake toimingut järgmise meeskonna jaoks. Hoidke valik „Kordusteta“ sees, et keegi ei satuks kahte meeskonda korraga.

Miks tuli sama nimi esile kaks korda järjest?

Kuna sõltumatud loosimised korduvad ja just selline juhuslikkus välja näebki. Iga loosimine ignoreerib kõiki eelnevaid, seega kümne nimega loendis on tõenäosus, et sama nimi tuleb kaks korda järjest, igal korral 1:10 — see on tavaline, mitte katki. Lülitage „Kordusteta“ sisse, kui vajate, et iga valik ühe loosimise piires oleks erinev.

Kas tööriist mäletab minu valikuid ja kas see on tasuta?

„Ajalugu“ hoiab teie 10 viimast loosimist teie enda veebilehitsejas, et saaksite varasema tulemuse taastada, kopeerida või kustutada ning kogu nimekirja tühjendada millal iganes soovite. Tööriist on täiesti tasuta ega nõua registreerimist ning kuna midagi ei edastata, ei saaks me teie valikuid näha ega salvestada isegi siis, kui me seda tahaksime.