Mi ez az eszköz?
A véletlenszám-generátor egy tartományból választ számokat, ahol minden értéknek egyenlő esélye van. Az emberek tombola- és nyereményjáték-nyertesek kihúzására, csapatok véletlenszerű kiosztására, lottószámok választására, felmérésekhez véletlen minták létrehozására, játékokhoz nagyméretű kockák dobására, és elfogulatlan döntések meghozatalára használják.
A minőség jobban számít, mint amilyennek látszik: a naiv generátorok finoman elfogultak a tartomány egyes részei felé. Ez az eszköz a crypto.getRandomValues()-t, a W3C Web Cryptography specifikáció által szabványosított böngésző API-t használja, amely megköveteli az implementációktól, hogy "kriptográfiailag erős véletlen értékeket generáljanak". Ez erősebb garancia, mint a Math.random(), amelyről a böngészőknek kifejezetten nem kell kiszámíthatatlannak vagy elfogulatlannak lenniük. A rejtési mintavétellel (rejection sampling) — a tankönyvi módszerrel a tartománytorzítás eltávolítására — kombinálva a választott tartomány minden száma pontosan olyan valószínű lesz, mint bármely másik.
Miért érdemes használni?
- Bármilyen tartomány, negatív számokkal is, akár 10 000 szám egyszerre.
- "Ismétlés nélkül" mód igazságos húzásokhoz — mint számozott golyók húzása egy zsákból.
- Opcionális rendezés olvasható listákhoz.
- Bizonyíthatóan igazságos: kriptográfiailag biztonságos és elfogulatlan, valódi nyereményjátékokhoz is alkalmas.
- Privát és azonnali — az eszközödön jön létre, semmi nem kerül naplózásra.
Használati útmutató
- Állítsd be a minimumot és a maximumot (mindkettő beleértve).
- Válaszd ki, hány számra van szükséged.
- Jelöld be az "ismétlés nélkül" opciót az ismétlés nélküli húzáshoz, és a "rendezés" opciót, ha rendezett listát szeretnél.
- Kattints a "Számok generálása" gombra — egyetlen szám nagyban jelenik meg, listák soronként egy számmal.
- Kattints az "Összes másolása" gombra listákhoz.
Példa
Bemenet
Min: 1, Max: 50, Darabszám: 6, ismétlés nélkül, rendezveKimenet
3
11
24
30
42
49Egy klasszikus lottószerű húzás: hat egyedi szám 1–50 közül, rendezve.
Gyakorlati tippek
- Listára van szükséged, nem egyetlen számra? Állítsd a darabszámot 1 fölé — az eszköz soronként egy számot ír ki, készen arra, hogy beillessz egy táblázat oszlopába.
- Társasjátékhoz vagy asztali szerepjátékhoz dobsz? Állítsd a min/max értéket a kockának megfelelően (1–6, 1–20), és generálj több dobást egyszerre, ahelyett hogy ismételten a "generálás" gombra kattintanál.
- Kis felmérési mintát húzol egy 500 válaszadót tartalmazó számozott listából? Állítsd a tartományt 1–500-ra, kapcsold be az "ismétlés nélkül" opciót, és húzz annyi azonosítót, amennyire szükséged van — senkit nem választanak ki kétszer.
- Egy nyertes kiválasztása egy pool-ból ugyanúgy működik, mint egy lista generálása: állítsd a darabszámot 1-re, a tartományt pedig a résztvevők számára.
- Lottószerű számgeneráláshoz (mondjuk 6 szám 1–49 közül) az "ismétlés nélkül" plusz rendezés tükrözi, ahogyan a valódi lottóhúzásokat felolvassák.
Véletlen szám vs. véletlen számlista
Egyetlen véletlen szám és egy véletlen számlista ugyanabból a generátorból származik — az egyetlen különbség a kért darabszám. Állítsd a darabszámot 1-re egyetlen szám generálásához, vagy növeld meg, és ez egyben véletlen számlista generátorként is működik, soronként egy értéket írva ki a táblázatba való könnyű beillesztéshez. Mindkét mód ugyanabból a kriptográfiailag biztonságos, elfogulatlan forrásból húz.
Ha egyedi azonosítókra van szükséged számok helyett egy húzáshoz, egy UUID jobban illik a célra — arra tervezték, hogy soha ne ütközzön rendszerek között, nem csak egy köteg határain belül.
Népszerű tartományok: 1-6, 1-10, 1-30, 1-100 és több
A legtöbb embernek néhány klasszikus tartomány egyikében van szüksége véletlen számra, ezért az eszköznek egykattintásos előbeállításai vannak ezekhez. Az 1–6 egy szabványos kockadobás (asztali szerepjátékokhoz használj 1–20-at); az 1–8 és 1–30 gyakori osztálytermi választásokhoz és kisebb tombolákhoz; az 1–10 és 1–100 a mindennapi "válassz egy számot" tartományok; az 1–1000 nagyobb pool-okhoz működik.
Minden előbeállítás csak egy parancsikon — kitölti a minimumot és maximumot, és azonnal generál. 1 és 20, 5 és 50, vagy -10 és 10 közötti véletlen számra van szükséged? Add meg bármilyen határt, negatív számokat is beleértve. A húzás mindkét végpontot mindig magában foglalja.
A "számgenerátor" (number randomizer) és a "véletlenszám-generátor" ugyanaz: állítsd be a tartományt, kattints a generálásra, és elfogulatlan választást kapsz. Ismételt húzásokhoz (mondjuk bingószámok kihúzása 1–90-ből) kapcsold be az "ismétlés nélkül" opciót, hogy minden szám csak egyszer legyen kihúzva.
Gyakori kérdések
Valóban véletlenszerűek a számok?
A crypto.getRandomValues()-ből, az operációs rendszered kriptográfiai véletlenforrásából származnak, rejtési mintavétellel alkalmazva a tartománytorzítás eltávolítására. Húzásokhoz, játékokhoz és mintavételhez ez a lehető legigazságosabb. Ha kifejezetten kriptográfiai kulcsokhoz vagy hitelesítési titkokhoz van szükséged véletlenszerűségre, ne húzásokhoz vagy játékokhoz, használj dedikált jelszó- vagy kulcsgenerátort — ugyanaz az alapul szolgáló véletlenforrás, de az adott felhasználási eset egyéb követelményeire épített (hossz, karakterkészletek, véletlen naplózás elkerülése).
A minimum és a maximum benne van az eredményekben?
Igen, mindkét végpont bele van foglalva. Egy 1–10 tartomány mind az 1-et, mind a 10-et eredményezheti.
Mit csinál pontosan az "ismétlés nélkül" opció?
A tartomány minden száma legfeljebb egyszer jelenhet meg, mint amikor számozott golyókat húzunk egy zsákból anélkül, hogy visszatennénk őket. A darabszám tehát nem haladhatja meg a tartomány méretét — az eszköz jelzi, ha ez történik.
Használhatom ezt egy nyereményjáték nyertesének igazságos kiválasztására?
Igen. Számozd meg a résztvevőidet 1-től N-ig, generálj egy számot ebben a tartományban, és az eredmény elfogulatlan választás lesz. Több nyertes esetén használd az "ismétlés nélkül" opciót, hogy senki ne nyerjen kétszer.
Miért jelent meg kétszer ugyanaz a szám a listámban?
Az "ismétlés nélkül" nélkül minden húzás független — az ismétlődések normálisak, és valójában a valódi véletlenszerűség bizonyítékai (egy kocka is dobhat kétszer ugyanolyan értéket). Kapcsold be az "ismétlés nélkül" opciót, ha minden számra csak egyszer van szükséged.
Hogyan generáljak véletlen számot 1 és 100 között?
Kattints az 1–100 előbeállításra (vagy állítsd a Minimumot 1-re, a Maximumot 100-ra), és nyomd meg a "Számok generálása" gombot. Az 1-től 100-ig terjedő minden egész számnak pontosan 1/100 esélye van. Ugyanez működik bármilyen tartományra — 1-től 10-ig, 1-től 30-ig, 1-től 1000-ig, vagy egyéni határok.
Dobhatok ezzel kockát (1-6 közötti véletlen szám)?
Igen — használd az 1–6 (kocka) előbeállítást. Több kockához egyszerre növeld a darabszámot: pl. 4 darabszám 1–6 tartománnyal négy kockát dob egy kattintással. D20-hoz állítsd a tartományt 1–20-ra.
Hogyan futtassak egy véletlenszám-húzást, például bingóhoz vagy tombolához?
Állítsd a tartományt a teljes készletedre — 1–90 bingóhoz, 1-től a jegyszámodig tombolához —, kapcsold be az "ismétlés nélkül" opciót, és generáld le a teljes listát egyszerre. A lista sorrendben való felolvasása matematikailag ugyanaz, mint egyenként húzni a számokat visszatevés nélkül, csak gyorsabb.