Náhodný výběr

Vložte jakýkoli seznam — jména, úkoly nebo nápady — a nechte nástroj provést spravedlivý náhodný výběr. Každé losování probíhá přímo ve vašem prohlížeči, takže data nikdy neopustí vaše zařízení.

Klikněte na „Generovat“ pro zobrazení výsledku
Oddělovač se určuje automaticky, ale níže si můžete vybrat vlastní.
Pokročilé možnosti

Potřebujete vylosovat výherce soutěže, vyvolat žáka nebo rozhodnout, kdo vynese koš? Tento bezplatný online náhodný výběr spravedlivě vylosuje položku z jakéhokoli seznamu. Vložte svá data do pole „Položky“ — po jednom na řádek nebo oddělená čárkami — v poli „Počet“ nastavte, kolik jich chcete, a stiskněte „Generovat“. Seznam vyžaduje alespoň dvě položky a pojme jich až 1000, přičemž každá může mít délku až 200 znaků.

Každý výběr probíhá přímo ve vašem prohlížeči pomocí Web Crypto API (crypto.getRandomValues), které poskytuje kryptograficky bezpečné náhodné hodnoty ze systémových procesů náhodnosti. Váš seznam se nikdy neodesílá na server, nikam se neukládá a my ho nikdy neuvidíme — to je zde důležitější než u většiny jiných generátorů, protože lidé většinou vkládají seznamy zákazníků, třídní výkazy nebo jména kolegů. Tlačítko „Načíst ze souboru“ dodržuje stejný slib: prohlížeč soubor sám přečte a pole vyplní lokálně, aniž by se cokoli nahrávalo na internet.

Možnosti jsou navrženy pro seznamy, které lidé skutečně mají. „Oddělovač“ je nastaven na „Automaticky“, což samo rozpozná zalomení řádků a čárky, takže seznam zkopírovaný z tabulky, chatu nebo dokumentu funguje bez úprav. Pokud vaše data formáty míchají, uzamkněte jej na „Nový řádek“, „Čárka“ nebo „Mezera“ — a pamatujte, že „Mezera“ je vždy záměrná volba, nikoliv automatická, protože položky jako celá jména obsahují vlastní mezery a jejich automatické rozdělení by více seznamů zničilo než opravilo. „Počet“ určuje, kolik položek se má vylosovat, od 1 do 100. Losujete tři výherce ze 200 účastníků? Vložte soutěžící, nastavte „Počet“ na 3 a stiskněte „Generovat“. Dvě nastavení platí pouze v případě, že je počet 2 a více, a do té doby zůstávají zašedlá: „Bez opakování“, které rozhoduje, zda může být stejná položka vylosována dvakrát, a „Formát výstupu“, který určuje, jak jsou vybrané položky odděleny — „Po jednom na řádek“, „Odděleno mezerami“ nebo „Odděleno čárkami“.

Řada tlačítek uvnitř pole „Položky“ umožňuje provádět úpravy, které byste jinak museli dělat jinde. „Načíst ze souboru“ vloží seznam přímo z prostého textového souboru nebo CSV. „Zamíchat“ změní pořadí položek v poli, „Seřadit“ je uspořádá abecedně s přirozeným řazením čísel (druhé kliknutí pořadí obrátí) a „Vymazat“ pole vyprázdní. Tlačítko „Vložit příklad“ vloží ukázkový seznam, abyste si nástroj mohli vyzkoušet jedním kliknutím, zatímco „Rozbalit na celý seznam“ pole roztáhne tak, aby ukázalo dlouhý seznam celý, a „Sbalit“ ho vrátí zpět. Pod výsledkem „Kopírovat vše“ uloží všechny vybrané položky do schránky, „Uložit do souboru“ je stáhne do počítače a „Historie“ uchová posledních 10 losování ve vašem prohlížeči, takže předchozí výsledek je vzdálený jen jedno kliknutí.

Jak samotné losování probíhá? Když stisknete „Generovat“, stránka požádá prohlížeč o náhodné hodnoty přes crypto.getRandomValues a použije je k výběru pozic ve vašem seznamu, místo aby spoléhala na pseudonáhodnou funkci JavaScriptu, jako je Math.random(). Převod hrubé 32bitové hodnoty na pozici je krok, kde mnoho nástrojů v tichosti chybuje: použití hodnoty modulo délka seznamu je zřejmý, avšak zkreslující přístup, protože pokud délka seznamu nedělí číslo 2^32 beze zbytku, položky blízko začátku seznamu se budou objevovat o něco častěji než ostatní. Tento nedostatek se nazývá modulo zkreslení (modulo bias) a je spíše měřitelný než teoretický. Tento nástroj místo toho zahodí každou hodnotu, která přesahuje největší přesný násobek délky seznamu, a losuje znovu — technika známá jako zamítací vzorkování (rejection sampling). Stojí to sice několik losování navíc, ale získáte přesnou záruku místo přibližné. Pozice v seznamu nic nemění: první i poslední položka má při každém losování naprosto stejnou pravděpodobnost.

Přepínač „Bez opakování“ odděluje dva zcela odlišné druhy losování, pro které má statistika vlastní pojmy. Když je zapnutý, nástroj zamíchá kopii vašeho seznamu pomocí algoritmu Fisher-Yates a vybere položky seshora — to je to samé jako losování lístků z klobouku bez jejich vracení, takže nikdo není vybrán dvakrát a každá skupina dané velikosti je stejně pravděpodobná. Říká se tomu výběr bez vracení (sampling without replacement) a přesně to chcete pro výherce cen, týmy nebo pořadí tahů. Když je vypnutý, každý výběr probíhá nezávisle z celého seznamu, takže se stejná položka může objevit vícekrát — to je výběr s vracením (sampling with replacement), který potřebujete, když všichni zůstávají ve hře v každém kole, jako u opakovaných tahů loterie nebo rychlého statistického vzorku. Žádný z těchto režimů není spravedlivější než ten druhý; jen odpovídají na různé otázky.

Spravedlivé losování nemá vypadat spravedlivě. Vylosujte pět jmen z deseti a pravidelně uvidíte dvě položky, které v původním seznamu stály vedle sebe, nebo stejné jméno dvakrát po sobě, pokud je povoleno opakování. To vše je naprosto běžné. Každé losování je nezávislé: předchozí výběry nemají sebemenší vliv na ty pozdější a nikdo nikdy nemá na výhru „nárok“. Instinkt, který tvrdí opak, je omyl hazardního hráče (gambler's fallacy) a je to ten samý instinkt, kvůli kterému jsme my sami špatní v náhodném výběru — když jsme požádáni, abychom vybírali náhodně, vyhýbáme se první a poslední položce, neopakujeme stejné jméno a své volby rozmisťujeme mnohem rovnoměrněji, než to dělá náhoda. Výsledek, který vypadá podezřele úhledně, je lidským otiskem prstu; skutečná náhoda vytváří shluky.

Proč zvolit tento nástroj pro náhodný výběr?

Náhodný výběr se objevuje všude tam, kde musí rozhodnutí ustát případné dotazy. Učitelé v Česku vyvolávají žáky bez upřednostňování a dělí třídu do projektových skupin. Streameři a marketéři losují výherce před publikem, které musí výsledku věřit. Manažeři rozdělují úkoly, do kterých se nikdo nehrne, a týmy určují pořadí prezentací nebo to, kdo drží pohotovost. Výzkumníci si tahají náhodný vzorek záznamů k auditu. Rodiny ukončují dohadování o tom, na co se budou dívat, a hladová parta vybírá restauraci. Společným jmenovatelem je výběr, který může kdokoliv zpětně vysvětlit: losování používá kryptografickou náhodnost, odehrává se výhradně na vašem zařízení a „Historie“ uchová výsledek, kdyby se na něj někdo později zeptal.

Tento nástroj má několik upřímných omezení, o kterých je dobré vědět. Nemůže vylosovat více unikátních položek, než kolik váš seznam obsahuje — tři výherci vyžadují alespoň tři jména — a zastaví se na 1000 položkách o 200 znacích, přičemž v jednom losování zvládne až 100 výběrů. Tlačítka „Zamíchat“ a „Seřadit“ fungují po řádcích, takže seznam oddělený čárkami vložený na jeden řádek se přeskládá, až když je rozdělen na jednu položku na řádek. Obě navíc mění uspořádání v poli, a ne v samotném losování, které je naprosto spravedlivé bez ohledu na to, v jakém pořadí vaše položky jsou. Každá položka má také od návrhu naprosto stejnou váhu, takže při losování, kde má mít jedno jméno dvojnásobnou šanci, musí být v seznamu uvedeno dvakrát. V rámci těchto limitů je záruka silná — každá jednotlivá položka ve vašem seznamu má naprosto stejnou šanci, a to při každém losování.

FAQ

Jak vylosuji náhodné jméno ze seznamu?

Vložte jména do pole „Položky“ — jedno na řádek, nebo oddělená čárkami či mezerami — nechte „Počet“ na 1 a stiskněte „Generovat“. Jedno jméno bude okamžitě vylosováno. Pokud potřebujete více jmen najednou, zvyšte „Počet“ na požadovanou hodnotu.

Je výběr opravdu spravedlivý?

Ano. Každý výběr využívá Web Crypto API (crypto.getRandomValues) vašeho prohlížeče společně se zamítacím vzorkováním (rejection sampling), což odstraňuje modulo zkreslení, které by jednodušší řešení přineslo. Každá položka má naprosto stejnou pravděpodobnost bez ohledu na svou pozici v seznamu a k vylosování několika unikátních položek se používá Fisher-Yates míchání, takže i každá skupina dané velikosti je stejně pravděpodobná.

Nahrává se můj seznam na váš server?

Ne. Celé losování probíhá lokálně ve vašem prohlížeči: seznam, výběry i historie nikdy neopustí vaše zařízení, takže je bezpečné vkládat jména, e-maily nebo jakákoli citlivá data. Tlačítko „Načíst ze souboru“ je také lokální — váš prohlížeč si soubor sám přečte a nic se nikam neodesílá.

Mohu vložit seznam oddělený čárkou nebo mezerou místo jedné položky na řádek?

Ano. „Oddělovač“ je nastaven na „Automaticky“, což samo rozpozná zalomení řádků a čárky, takže seznam zkopírovaný z tabulky, zprávy v chatu nebo dokumentu bude fungovat tak, jak je. Seznam oddělený mezerami vyžaduje jeden krok navíc — nastavte „Oddělovač“ na „Mezera“ — protože položky, jako jsou celá jména, samy o sobě obsahují mezery a nikdy nejsou na těchto místech děleny automaticky. Pokud vaše data míchají formáty, uzamkněte „Oddělovač“ na „Nový řádek“ nebo „Čárka“.

Co dělá přepínač „Bez opakování“?

Když je režim „Bez opakování“ zapnutý, každá vylosovaná položka je jiná — jako byste tahali lístky z klobouku a nevraceli je zpět, což je přesně to, co chcete pro výherce cen nebo rozdělení do týmů. Když je vypnutý, stejná položka může být vybrána vícekrát, čemuž statistici říkají výběr s vracením.

Proč jsou ovládací prvky „Bez opakování“ a „Formát výstupu“ zašedlé?

Protože obě funkce platí pouze tehdy, když losujete více než jednu položku, jak říká nápověda vedle nich: „Platí pouze, pokud je počet větší než 1.“ Zvyšte „Počet“ na 2 nebo více a obě se zpřístupní; při počtu 1 se zkrátka nekoná žádné opakování a není co oddělovat.

Co dělá možnost „Formát výstupu“?

Nastavuje to, jak se zobrazuje a kopíruje více výběrů: „Po jednom na řádek“, „Odděleno mezerami“ pro rychlou zprávu do chatu, nebo „Odděleno čárkami“ pro vložení do tabulky či skriptu. Volba bude k dispozici, jakmile je „Počet“ 2 nebo více.

Co dělají tlačítka „Zamíchat“ a „Seřadit“?

Tlačítko „Zamíchat“ změní pořadí položek uvnitř pole „Položky“ a „Seřadit“ je seřadí abecedně s přirozeným řazením čísel — opětovné kliknutí pak pořadí otočí. Obě tlačítka mění pouze to, jak je váš seznam napsán, nikoliv to, jak funguje losování: výběr je naprosto spravedlivý nezávisle na tom, v jakém pořadí položky jsou.

Kolik položek může seznam obsahovat a kolik jich mohu vybrat najednou?

Seznam pojme od 2 do 1000 položek, z nichž každá má až 200 znaků, a jedno losování vrátí až 100 výběrů. Prázdné řádky a okolní mezery jsou ignorovány, takže seznam vložený z tabulky nebo dokumentu funguje tak, jak je.

Je tento nástroj vhodný pro losování výherců soutěží nebo tomboly?

Ano, je to jedno z jeho nejčastějších použití. Vložte účastníky, nastavte „Počet“ na množství cen, ponechte „Bez opakování“ zapnuté, aby nikdo nevyhrál dvakrát, a stiskněte „Generovat“. Protože losování využívá kryptograficky bezpečnou náhodnost a běží zcela na vašem zařízení, dá se celý proces snadno vysvětlit a „Historie“ zachová výsledek, pokud jej některý z účastníků později zpochybní.

Mohu ho použít k rozdělení lidí do týmů?

Ano. Nastavte „Počet“ na velikost prvního týmu a stiskněte „Generovat“ — vylosovaná jména tvoří první tým. Odstraňte je ze seznamu a postup zopakujte pro další tým. Nechte volbu „Bez opakování“ zapnutou, aby nikdo neskončil ve dvou týmech najednou.

Proč padlo stejné jméno dvakrát po sobě?

Protože se nezávislá losování opakují, tak totiž náhoda vypadá. Každé losování ignoruje všechna předchozí kola, takže v seznamu deseti jmen má to samé jméno šanci padnout dvakrát po sobě s pravděpodobností 1 ku 10 pokaždé — je to běžné, není to chyba. Zapněte si „Bez opakování“, pokud potřebujete, aby byl každý výběr v rámci jednoho losování unikátní.

Pamatuje si tento nástroj mé výběry a je to zdarma?

Funkce „Historie“ uchová posledních 10 losování ve vašem vlastním prohlížeči, takže můžete obnovit, zkopírovat nebo odstranit předchozí výsledek a kdykoli to celé vymazat. Nástroj je zcela zdarma a bez registrace, a protože se nic nikam nepřenáší, nemohli bychom vaše výběry vidět ani uložit, i kdybychom chtěli.