Náhodný výber zo zoznamu

Vložte akýkoľvek zoznam — mená, úlohy alebo nápady — a nechajte tento nástroj spravodlivo vybrať. Každé losovanie prebieha lokálne v prehliadači, takže váš zoznam nikdy neopustí vaše zariadenie.

Stlačte Generovať pre žrebovanie
Oddeľovač sa určuje automaticky, ale nižšie si môžete vybrať vlastný.
Rozšírené možnosti

Potrebujete vylosovať výhercu súťaže, vyvolať žiaka k tabuli alebo rozhodnúť, kto pôjde vyniesť smeti? Tento bezplatný online náhodný výber zo zoznamu spravodlivo vyberie z akéhokoľvek textu, ktorý do neho vložíte. Vložte svoje záznamy do poľa „Položky“ — jeden na riadok, alebo oddelené čiarkami —, nastavte požadované množstvo pomocou poľa „Počet“ a stlačte „Generovať“. Zoznam potrebuje aspoň dva záznamy a zvládne ich až 1000, pričom každý z nich môže mať dĺžku maximálne 200 znakov.

Každý výber sa vykonáva priamo vo vašom prehliadači prostredníctvom Web Crypto API (crypto.getRandomValues), ktoré poskytuje kryptograficky silné náhodné hodnoty zo základného systému náhodnosti vášho prehliadača. Váš zoznam sa nikdy neodosiela na žiadny server, nezaznamenáva sa a my ho nikdy nevidíme — a na tom tu záleží viac než pri iných generátoroch, pretože ľudia sem zvyčajne vkladajú zoznamy zákazníkov, triedne výkazy alebo mená svojich kolegov. Tlačidlo „Načítať zo súboru“ dodržiava rovnaký sľub: váš vlastný prehliadač načíta súbor a vyplní pole výhradne lokálne, pričom sa nikam nič nenahráva.

Možnosti sú prispôsobené pre formáty zoznamov, ktoré ľudia skutočne majú. Voľba „Oddeľovač“ je nastavená na „Automaticky“, čo samo rozozná zalomenia riadkov od čiarok a zistí, ktorý z nich vaša zostava používa, takže text skopírovaný z tabuľky, četovej správy alebo dokumentu funguje bez akejkoľvek úpravy. Ak vaše dáta formáty miešajú, uzamknite ho na „Zalomenie riadka“, „Čiarka“ alebo „Medzera“ — a pamätajte, že „Medzera“ je vždy vedomou voľbou a nikdy nie automatickou, pretože položky, ako sú celé mená, obsahujú medzery samy o sebe a ich predvolené rozdelenie by pokazilo viac zoznamov, než by opravilo. Políčko „Počet“ určuje, koľko záznamov sa vylosuje, od 1 do 100. Losujete troch výhercov spomedzi 200 súťažiacich? Vložte účastníkov, nastavte „Počet“ na 3 a stlačte „Generovať“. Dva ovládacie prvky sa uplatnia až vtedy, keď je hodnota 2 alebo viac, a dovtedy zostanú sivé: „Bez opakovania“, ktoré rozhoduje, či ten istý záznam môže byť vytiahnutý dvakrát, a „Formát výsledku“, ktoré nastavuje, ako sú výbery oddelené — „Jeden na riadok“, „Oddelené medzerami“ alebo „Oddelené čiarkami“.

Riadok tlačidiel priamo v poli „Položky“ vykonáva úpravy, ktoré by ste inak museli robiť inde. Funkcia „Načítať zo súboru“ natiahne zoznam priamo z obyčajného textového súboru alebo CSV. Tlačidlo „Zamiešať“ náhodne preusporiada záznamy v poli, „Zoradiť“ ich usporiada abecedne s prirodzeným zoraďovaním čísel (a druhé kliknutie to celé otočí), zatiaľ čo „Vymazať“ pole úplne vyprázdni. Tlačidlo „Vložiť príklad“ vloží krátky ukážkový zoznam, aby ste si mohli nástroj vyskúšať jedným kliknutím, zatiaľ čo „Rozbaliť na celý zoznam“ zväčší pole, aby sa dlhý zoznam zobrazil celý, a „Zbaliť“ ho opäť zmenší. Hneď pod výsledkom funkcia „Kopírovať všetko“ pošle každý výber do vašej schránky, „Uložiť do súboru“ ich zapíše na disk a vaša „História“ uchováva vo vašom prehliadači posledných 10 losovaní, takže predchádzajúci výsledok je vždy na dosah jedného kliknutia.

Ako sa výber vlastne robí? Keď stlačíte „Generovať“, stránka požiada prehliadač o náhodné hodnoty cez crypto.getRandomValues a použije ich na výber pozícií vo vašom zozname, namiesto toho, aby sa spoliehala na pseudonáhodnú JavaScriptovú funkciu ako Math.random(). Premena surovej 32-bitovej hodnoty na konkrétnu pozíciu je presne ten moment, kedy online nástroje potichu zlyhávajú: výpočet modula z hodnoty a dĺžky zoznamu je zjavným a zároveň skresleným prístupom, pretože pokiaľ sa 2^32 nedelí bezo zvyšku dĺžkou zoznamu, záznamy blízko začiatku zoznamu sa objavia o niečo častejšie ako tie ostatné. Táto chyba sa nazýva modulo bias (skreslenie modula) a je skôr merateľná než len teoretická. Tento nástroj namiesto toho zahodí akúkoľvek hodnotu presahujúcu najväčší presný násobok dĺžky zoznamu a losuje znova — ide o techniku nazývanú rejection sampling (vzorkovanie s odmietnutím). Stojí to niekoľko ťahov navyše, ale zabezpečuje to presnú záruku namiesto tej približnej. Pozícia v zozname nič nemení: prvý a posledný záznam majú pri každom ťahu absolútne rovnakú pravdepodobnosť.

Prepínač „Bez opakovania“ oddeľuje dva skutočne odlišné druhy losovania, a štatistika má pre každý z nich iný názov. Keď je prepínač zapnutý, nástroj zamieša kópiu vášho zoznamu pomocou algoritmu Fisher-Yates a odoberie záznamy z vrchu — presne to isté, ako keď ťaháte lístky z klobúka a nevraciate ich späť, takže nikto nie je vybraný dvakrát a každá skupina tejto veľkosti má rovnakú šancu. Ide o výber bez nahradenia (sampling without replacement), a presne to potrebujete pri losovaní výhercov cien, tímov a pri určovaní poradia. Keď je prepínač vypnutý, každý výber prebieha úplne nezávisle z celého zoznamu, takže rovnaký záznam sa môže objaviť viackrát — ide o výber s nahradením (sampling with replacement), čo potrebujete vtedy, keď všetci zostávajú oprávnení v každom kole, napríklad pri opakovaných losovaniach alebo pri rýchlej štatistickej vzorke. Ani jeden z režimov nie je spravodlivejší než ten druhý; len riešia odlišné zadania.

Spravodlivé losovanie nemá vyzerať spravodlivo. Vytiahnite päť mien z desiatich a pravidelne uvidíte dva výbery, ktoré v pôvodnom zozname sedeli vedľa seba, alebo to isté meno dvakrát po sebe hneď ako povolíte opakovania — a každé z toho je úplne prirodzené. Každý ťah je nezávislý: predchádzajúce výbery nemajú absolútne žiadny vplyv na tie neskoršie a nikto sa nikdy nestáva „dlžníkom“ výhry. Inštinkt, ktorý tvrdí opak, je omyl hazardného hráča (gambler's fallacy), a je to ten istý inštinkt, kvôli ktorému sme my sami veľmi zlí pri náhodnom výbere — keď máme vyberať náhodne, vyhýbame sa prvému a poslednému záznamu, vyhýbame sa opakovaniu mena a rozložíme naše voľby oveľa rovnomernejšie, než by to kedy urobila náhoda. Výsledok, ktorý vyzerá podozrivo úhľadne, je odtlačkom človeka; skutočná náhodnosť vytvára zhluky.

Prečo si vybrať tento nástroj na náhodný výber zo zoznamu?

Náhodný výber prichádza na rad všade tam, kde rozhodnutie musí prežiť prípadné spochybnenie. Učitelia na Slovensku vyvolávajú žiakov k tabuli bez obľúbencov a spravodlivo delia triedu na projektové skupiny. Streameri a marketéri losujú výhercov súťaží a tomboly pred publikom, ktoré musí uveriť výsledku. Manažéri rozdávajú úlohy, na ktoré sa nikto nehlási dobrovoľne, a tímy riešia poradie prezentácií alebo to, kto má pohotovosť. Výskumníci odoberajú náhodnú vzorku záznamov na audit. Rodiny ukončujú hádky o tom, čo si pozrieť, a hladná partia vyberá reštauráciu. Spoločným znakom je výber, ktorý potom dokáže vysvetliť ktokoľvek: losovanie využíva kryptografickú náhodnosť, prebieha úplne na vašom zariadení a vaša „História“ uchová výsledok, ak by sa naň niekto neskôr pýtal.

Tento nástroj má niekoľko úprimných obmedzení, ktoré stoja za zmienku. Nedokáže vybrať viac unikátnych záznamov, ako obsahuje váš zoznam — traja víťazi potrebujú aspoň tri mená — a zastaví sa na 1000 záznamoch, každý s dĺžkou 200 znakov, pričom v jednom ťahu povolí maximálne 100 výberov. Tlačidlá „Zamiešať“ a „Zoradiť“ fungujú riadok po riadku, takže zoznam oddelený čiarkami vložený do jedného riadka bude preusporiadaný až vtedy, keď to bude jeden záznam na riadok; a obe tieto funkcie preusporiadajú len pole a nie samotné losovanie, ktoré zostáva rovnako spravodlivé bez ohľadu na to, v akom poradí sa vaše záznamy nachádzajú. Navyše, každý záznam nesie zámerne presne rovnakú váhu, takže losovanie, pri ktorom by jedno meno malo platiť dvojnásobne, bude vyžadovať, aby toto meno bolo v zozname uvedené dvakrát. V rámci týchto hraníc je to naozaj silná záruka — každý jeden záznam vo vašom zozname má v úplne každom losovaní absolútne rovnakú šancu.

FAQ

Ako náhodne vyberiem meno zo zoznamu?

Vložte mená do poľa „Položky“ — jedno na riadok, alebo oddelené čiarkami či medzerami —, nechajte „Počet“ na 1 a stlačte „Generovať“. Okamžite sa vylosuje jedno jediné meno. Pre viac mien naraz stačí zvýšiť „Počet“ na číslo, ktoré potrebujete.

Je výber naozaj spravodlivý?

Áno. Každý výber využíva Web Crypto API (crypto.getRandomValues) vášho prehliadača spolu s rejection sampling, čo odstraňuje modulo bias, ktorý by zaviedla naivná implementácia. Každý záznam má presne rovnakú pravdepodobnosť bez ohľadu na jeho pozíciu v zozname, a výber viacerých rôznych záznamov používa Fisher-Yates miešanie, takže každá skupina tejto veľkosti je rovnako pravdepodobná.

Nahráva sa môj zoznam na váš server?

Nie. Celé losovanie prebieha lokálne vo vašom prehliadači: zoznam, výbery a história nikdy neopustia vaše zariadenie, takže mená, e-maily alebo akýkoľvek iný súkromný zoznam môžete bez obáv vložiť. Funkcia „Načítať zo súboru“ je taktiež úplne lokálna — váš prehliadač si súbor prečíta sám a nič sa nenahráva.

Môžem vložiť zoznam oddelený čiarkami alebo medzerami namiesto jedného záznamu na riadok?

Áno. Voľba „Oddeľovač“ je predvolená na „Automaticky“, čo samo rozoznáva zalomenia riadkov od čiarok, takže zoznam skopírovaný z tabuľky, správy alebo dokumentu funguje priamo tak, ako je. Zoznam oddelený medzerami potrebuje jeden krok navyše — nastavte „Oddeľovač“ na „Medzera“ —, pretože položky ako celé mená samy o sebe obsahujú medzery a nikdy sa podľa nich nerozdelia automaticky. Zablokujte „Oddeľovač“ na „Zalomenie riadka“ alebo „Čiarka“ len vtedy, ak vaše dáta miešajú formáty.

Čo robí prepínač „Bez opakovania“?

Ak je voľba „Bez opakovania“ zapnutá, každý vylosovaný záznam je iný — presne ako keď ťaháte lístky z klobúka a nevraciate ich späť, čo je to, čo potrebujete pre výhercov cien alebo tímy. Keď ju vypnete, ten istý záznam sa môže objaviť viac ako raz, čo štatistici nazývajú výber s nahradením.

Prečo sú prvky „Bez opakovania“ a „Formát výsledku“ sivé a neaktívne?

Pretože oba platia iba vtedy, keď losujete viac než jeden záznam, presne ako hovorí aj pomôcka pri nich: „Platí iba vtedy, ak je počet väčší ako 1.“ Zvýšte hodnotu „Počet“ na 2 alebo vyššie a obe sa sprístupnia; pri hodnote 1 nie je čo opakovať a nie je čo oddeľovať.

Na čo slúži voľba „Formát výsledku“?

Určuje, ako sa viaceré výbery zobrazia a skopírujú: „Jeden na riadok“, „Oddelené medzerami“ pre rýchlu správu v čete, alebo „Oddelené čiarkami“ pre vloženie do tabuľky či skriptu. Stane sa aktívnou hneď, ako „Počet“ dosiahne 2 alebo viac.

Čo robia tlačidlá „Zamiešať“ a „Zoradiť“?

Funkcia „Zamiešať“ mení poradie položiek priamo vo vnútri poľa „Položky“, a voľba „Zoradiť“ ich usporiada abecedne s tým, že čísla sú zoradené prirodzene — opätovné kliknutie na ňu poradie prevráti. Obe menia iba to, ako je váš zoznam zapísaný, nie to, ako funguje samotné losovanie: tento nástroj je rovnako spravodlivý bez ohľadu na to, v akom poradí sa záznamy nachádzajú.

Koľko položiek môže zoznam obsahovať a koľko ich môžem vybrať naraz?

Zoznam znesie od 2 do 1000 záznamov, každý s dĺžkou do 200 znakov, pričom jedno losovanie vráti najviac 100 výberov. Prázdne riadky a medzery na okrajoch sú ignorované, takže zoznam vložený z tabuľky alebo dokumentu bude fungovať tak, ako je.

Je tento nástroj vhodný na výber víťazov v súťažiach a tombolách?

Áno, a je to jedno z jeho najbežnejších použití. Vložte účastníkov, nastavte „Počet“ na počet cien, ponechajte zapnutú funkciu „Bez opakovania“, aby nikto nevyhral dvakrát, a stlačte „Generovať“. Keďže losovanie využíva kryptograficky bezpečnú náhodnosť a beží výhradne na vašom zariadení, celý proces sa ľahko vysvetľuje a vaša „História“ uchováva výsledok pre prípad, že by ho niektorý z účastníkov neskôr spochybnil.

Môžem ho použiť na rozdelenie ľudí do tímov?

Áno. Nastavte „Počet“ na veľkosť prvého tímu a stlačte „Generovať“ — vylosované mená tvoria prvý tím. Odstráňte ich zo zoznamu a zopakujte postup pre ďalší tím. Nechajte funkciu „Bez opakovania“ zapnutú, aby ste sa uistili, že nikto neskončí v dvoch tímoch naraz.

Prečo sa to isté meno objavilo dvakrát po sebe?

Pretože nezávislé losovania sa opakujú, a presne takto vyzerá skutočná náhodnosť. Každý ťah úplne ignoruje všetky ťahy pred ním, takže v zozname desiatich mien má výskyt rovnakého mena dvakrát po sebe šancu 1 ku 10 zakaždým — čo je bežný jav, nie porucha. Zapnite si funkciu „Bez opakovania“, ak potrebujete, aby bol každý výber v rámci jedného losovania odlišný.

Pamätá si výber moje losovania a je zadarmo?

Funkcia „História“ uchováva vašich posledných 10 ťahov priamo vo vašom vlastnom prehliadači, takže kedykoľvek môžete obnoviť, kopírovať alebo odstrániť skorší výsledok a všetko kompletne vymazať, keď len budete chcieť. Tento nástroj je úplne zadarmo, nevyžaduje si žiadnu registráciu a keďže sa nič neprenáša, nemohli by sme vidieť alebo uchovať vaše výbery, aj keby sme chceli.