Véletlenszám 1-től 5-ig. Excel véletlenszám-generátor függvényekben és adatelemzésben. Kidolgozzuk a saját GPSC algoritmusunkat

Egy áttekinthető és kényelmes online számgenerátor, amely a közelmúltban népszerűvé vált. A legnagyobb megoszlást a közösségi hálózatokon, a felhasználók között kiosztott nyeremények során kapta.

Más területeken is népszerű. Szintén vannak jelszavaink és számaink.

Online véletlenszám-generátorunk.

A véletlenszerűsítő generátorunknak nem kell letöltenie a személyes számítógépére. Minden az online számgenerátor módban történik. Csak adja meg a paramétereket, például: online számok tartománya, amelyben a számok véletlenszerűen kerülnek kiválasztásra. Adja meg a kiválasztandó számok számát is.

Például van egy Vkontakte csoportja. Egy csoportban 5 díjat sorsol ki azon résztvevők között, akik újra közzéteszik a bejegyzést. Egy speciális pályázat segítségével kaptuk meg a résztvevők névsorát. Mindegyikhez sorszámot rendeltek az online számokhoz.

Most megyünk online generátorunkhoz, és jelezzük a számok tartományát (résztvevők számát). Például beállítottuk, hogy 5 számra van szükség online, mivel 5 nyereményünk van. Most nyomjuk meg a generálás gombot. Ezután 5 véletlenszerű számot kapunk online, 1-től 112-ig terjedő tartományban. Az online generált 5 szám megfelel annak az öt résztvevőnek a sorszámának, akik a sorsolás nyertesei lettek. Minden egyszerű és kényelmes.

A véletlenszám-generátor másik előnye, hogy minden online szám véletlenszerűen generálódik. Azaz nem lehet befolyásolni, sem kiszámolni, hogy melyik szám lesz ezután. Amitől őszinte és megbízható, illetve az ingyenes generátorunk segítségével nyereményeket sorsoló adminisztráció becsületes és tisztességes a versenyzőkkel szemben. És ha kétségei vannak a megoldással kapcsolatban, használhatja a mi megoldásunkat

Miért a véletlenszám generátor a legjobb?

A tény az, hogy számgenerátor online bármely eszközön elérhető és mindig online. Őszintén bármilyen számot generálhat bármely ötlete számára. És ugyanez a projekt számára is használható véletlenszám generátor online. Különösen, ha meg kell határoznia a játék nyertesét, vagy egy másik számra online. A tény az, hogy véletlenszám generátor bármilyen számot teljesen véletlenszerűen generál algoritmusok nélkül. Ez alapvetően a számoknál is így van.

Véletlenszám-generátor online ingyen!

Véletlenszám-generátor online ingyen mindenki számára. Nem kell letöltenie vagy vásárolnia véletlenszám generátor online sorsolásra. Csak fel kell lépnie weboldalunkra, és véletlenszerűen meg kell kapnia a kívánt eredményt. Nálunk nem csak véletlenszám generátor de sokaknak is szükségük van rá, akik biztosan segítenek a lottón nyerni. Egy igazi online véletlenszám-generátor a lottójátékokhoz abszolút véletlen. Amit oldalunk tud Önnek nyújtani.

Véletlen szám online

Ha véletlen számot keres online, akkor ezt az erőforrást csak az Ön számára hoztuk létre. Folyamatosan fejlesztjük algoritmusainkat. Itt igazi leszel véletlenszám generátor. Véletlenszerű generátorként bármilyen igényt kielégít, teljesen ingyenesen és bármikor. Generáljon velünk véletlenszerű számokat online. Mindig győződjön meg arról, hogy minden generált szám teljesen véletlenszerű.

Véletlenszám generátor

A véletlenszám-generátorunk véletlenszerűen, teljesen véletlenszerűen választja ki a számokat. Nem számít, melyik nap vagy óra van a számítógépén. Ez egy igazi vak választás. A véletlen generátor egyszerűen véletlenszerűen megkeveri az összes számot. Aztán véletlenszerűen kiválasztja közülük az Ön által megadott számú véletlenszerű számot. Néha a számok megismételhetők, ami bizonyítja a véletlenszám-generátor teljes véletlenszerűségét.

Véletlenszerű online

A sorsolásnál a véletlenszerűség a legbiztosabb lehetőség. Az online generátor valóban véletlenszerű választás. Védve van a véletlen szám kiválasztását befolyásoló hatásoktól. A nyertes véletlenszerű online kiválasztásának folyamatának videófelvétele. Ez minden, amire szüksége van. Játsszon tisztességes online csínyeket online számgenerátorunkkal. Nyerteseket és elégedett játékosokat kap. És örülünk, hogy véletlenszerű generátorunkkal kedveskedhettünk Önöknek.

A bemutatott online véletlenszám-generátor a JavaScriptbe épített programozott pszeudo-véletlenszám-generátoron alapul, egyenletes eloszlásban. Egész számok jönnek létre. Alapértelmezés szerint 10 véletlenszerű szám jelenik meg a 100...999 tartományban, a számok szóközzel vannak elválasztva.

A véletlenszám-generátor alapbeállításai:

  • Számok mennyisége
  • Számtartomány
  • Elválasztó típus
  • Az ismétlődések (számok duplája) eltávolításának funkciójának be- és kikapcsolása

A teljes létszámot formálisan 1000-re korlátozzák, a maximális szám 1 milliárd. Elválasztó lehetőségek: szóköz, vessző, pontosvessző.

Most már pontosan tudja, hol és hogyan szerezhet be véletlenszerű számok szabad sorozatát egy adott tartományban az interneten.

Véletlenszám-generátor használati esetei

A véletlenszám-generátor (RNG a JS-en egységes elosztással) hasznos lesz az SMM-specialistáknak, valamint az Instagram, Facebook, Vkontakte, Odnoklassniki közösségi hálózatok csoportjainak és közösségeinek tulajdonosai számára, hogy meghatározzák a lottójátékok, versenyek és nyereménysorsolások nyerteseit.

A véletlenszám-generátor lehetővé teszi, hogy tetszőleges számú résztvevő között nyereményeket sorsoljon ki adott számú nyertessel. A versenyek újraküldések és megjegyzések nélkül is lebonyolíthatók - Ön maga állítja be a résztvevők számát és a véletlen számok generálásának intervallumát. Ezen az oldalon online és ingyenesen kaphat véletlenszerű számokat, és nem kell semmilyen alkalmazást telepítenie okostelefonjára vagy programot a számítógépére.

Valamint egy online véletlenszám generátor használható érmefeldobás szimulálására ill dobókocka. De egyébként ezekre az esetekre külön szakszolgálatunk van.

Gondolkozott már azon, hogyan működik a Math.random()? Mi az a véletlen szám, és hogyan kapjuk meg? És képzeljen el egy kérdést az interjún – írja be a véletlenszám-generátort néhány kódsorba. És hát mi ez, baleset, és megjósolható-e?

Nagyon lenyűgöznek a különféle informatikai rejtvények és rejtvények, és a véletlenszám-generátor is az egyik ilyen rejtvény. Általában a távirati csatornámon mindenféle rejtvényt és különféle feladatokat rendezek ki az interjúkból. A véletlenszám-generátorral kapcsolatos feladat nagy népszerűségre tett szert, és szerettem volna megörökíteni az egyik mérvadó információforrás mélyén - vagyis itt a Habrén.

Ez az anyag hasznos lesz mindazon front-end fejlesztőknek és Node.js fejlesztőknek, akik a technológia élvonalában járnak, és szeretnének bekerülni a blokklánc projektbe/indításba, ahol még a front-end fejlesztőknek is feltesznek kérdéseket a biztonságról és a kriptográfiáról: legalábbis alapszinten.

Pszeudo véletlenszám generátor és véletlenszám generátor

Ahhoz, hogy valami véletlenszerűséget kapjunk, szükségünk van egy entrópia-forrásra, valamiféle káosz forrására, amelyből véletlenszerűséget generálunk.

Ezt a forrást használják az entrópia felhalmozására, majd a kezdeti érték (kezdeti érték, mag) megszerzésére, amely a véletlenszám-generátorokhoz (RNG) szükséges a véletlenszámok generálásához.

A Pszeudo-Véletlenszám-generátor egyetlen magértéket használ, ezért ál-véletlensége, míg a Véletlenszám-generátor mindig egy véletlenszámot generál, kezdve egy jó minőségű véletlenszerű értékkel, amelyet különféle entrópiaforrásokból vesznek.

Az entrópia – a rendezetlenség mértéke. Az információs entrópia az információ bizonytalanságának vagy kiszámíthatatlanságának mértéke.
Kiderült, hogy egy pszeudo-véletlen sorozat létrehozásához szükségünk van egy algoritmusra, amely egy bizonyos képlet alapján generál valamilyen sorozatot. De egy ilyen sorrend megjósolható. Azonban képzeljük el, hogyan írhatnánk meg saját véletlenszám-generátorunkat, ha nem lenne Math.random()

A PRNG-nek van néhány reprodukálható algoritmusa.
Az RNG - teljesen számokat kap minden zajból, a számítási képesség pedig nullára hajlamos. Ugyanakkor az RNG-nek vannak bizonyos algoritmusai az eloszlás kiegyenlítésére.

Saját PRNG algoritmusunk feltalálása

Az álvéletlenszám-generátor (PRNG) olyan számsort generáló algoritmus, amelynek elemei szinte függetlenek egymástól, és egy adott (általában egységes) eloszlásnak engedelmeskednek.
Felvehetjük néhány szám sorozatát, és kivehetjük belőlük a szám modulusát. A legegyszerűbb példa, ami eszembe jut. Át kell gondolnunk, hogy milyen sorrendet vegyünk, és miből a modult. Ha csak közvetlenül 0-ról N-re és a 2-es modulra, akkor 1 és 0 generátort kap:

Függvény* rand() ( const n = 100; const mod = 2; legyen i = 0; while (igaz) ( i % mod; ha (i++ > n) i = 0; ) ) legyen i = 0; for (legyen x of rand()) ( if (i++ > 100) break; console.log(x); )
Ez a függvény egy 01010101010101 sorozatot generál nekünk... és még csak nem is nevezhetjük álvéletlennek. Ahhoz, hogy egy generátor véletlenszerű legyen, át kell mennie a következő bit tesztjén. De nekünk nincs ilyen feladatunk. Ennek ellenére még tesztek nélkül is megjósolhatjuk a következő sorozatot, ami azt jelenti, hogy egy ilyen algoritmus nem alkalmas a homlokra, de jó irányba haladunk.

De mi van, ha egy jól ismert, de nem lineáris sorozatot veszünk, például a PI számot. A modul értékének pedig nem 2-t veszünk, hanem valami mást. Akár a modul értékének változására is gondolhat. A Pi számjegyeinek sorozatát véletlenszerűnek tekintjük. A generátor tud működni a pi használatával, egy ismeretlen pontból kiindulva. Példa egy ilyen algoritmusra, PI-alapú szekvenciával és modulo változással:

Const vektor = [...Math.PI.toFixed(48).replace(".","")]; function* rand() ( for (legyen i=3; i<1000; i++) { if (i >99) i = 2; for (legyen n=0; n De a JS-ben a PI szám legfeljebb 48 karakterig jeleníthető meg, és nem több. Ezért még mindig könnyű megjósolni egy ilyen sorozatot, és egy ilyen generátor minden egyes futtatása mindig ugyanazokat a számokat adja. De a generátorunk már elkezdte mutatni a 0 és 9 közötti számokat.

Kaptunk egy számgenerátort 0-tól 9-ig, de az eloszlás nagyon egyenetlen, és minden alkalommal ugyanazt a sorozatot generálja.

Nem a Pi számot, hanem az időt numerikus ábrázolásban vehetjük fel, és ezt a számot számsornak tekinthetjük, és annak érdekében, hogy a sorozat ne ismétlődjön meg minden alkalommal, a végétől olvassuk fel. Összességében a PRNG algoritmusunk így fog kinézni:

Függvény* rand() ( legyen newNumVector = () => [...(+new Date)+""].reverse(); legyen vektor = newNumVector(); legyen i=2; while (true) ( ha ( i++ > 99) i = 2; legyen n=-1; míg (++n< vector.length) yield (vector[n] % i); vector = newNumVector(); } } // TEST: let i = 0; for (let x of rand()) { if (i++ >100) szünet; console.log(x) )
Most úgy néz ki, mint egy pszeudo-véletlen számgenerátor. És ugyanaz a Math.random() - egy PRNG, erről majd egy kicsit később. Ráadásul minden alkalommal más az első szám.

Valójában ezekből az egyszerű példákból megértheti, hogyan működnek a bonyolultabb véletlenszám-generátorok.És vannak még kész algoritmusok is. Például elemezzük az egyiket - ez a Lineáris kongruens PRNG (LCPRNG).

Lineáris kongruens PRNG

Lineáris kongruenciális PRNG (LCPRNG) -  egy elterjedt módszer pszeudo-véletlen számok generálására. Nincs kriptográfiai erőssége. Ez a módszer egy lineáris ismétlődő sorozat tagjainak kiszámításából áll, valamilyen m természetes számra egy képlettel. A kapott sorozat a kezdőszám - választástól függ, pl. mag. Különböző magértékek esetén különböző véletlenszám-sorozatokat kapunk. Példa egy ilyen algoritmus megvalósítására JavaScriptben:

Const a = 45; const c = 21; const m = 67; varseed = 2; const rand = () => mag = (a * mag + c) % m; for(legyen i=0; i<30; i++) console.log(rand())
Sok programozási nyelv használ LCPRNG-t (de nem csak egy ilyen algoritmust (!).

Mint fentebb említettük, egy ilyen szekvencia megjósolható. Akkor miért van szükségünk PRNG-re? Ha a biztonságról beszélünk, akkor a PRNG probléma. Ha más feladatokról beszélünk, akkor ezek a tulajdonságok  -  pluszt jelenthetnek. Például különféle speciális effektusok és grafikus animációk esetén előfordulhat, hogy gyakran kell véletlenszerűen hívnia. És itt fontos az értékek elosztása és a teljesítmény! A biztonsági algoritmusok nem büszkélkedhetnek sebességgel.

Egy másik tulajdonság - reprodukálhatóság. Egyes megvalósítások lehetővé teszik egy mag megadását, ami nagyon hasznos, ha egy sorozatot meg kell ismételni. A reprodukció például teszteknél szükséges. És sok más dolog is van, amihez nincs szükség biztonságos RNG-re.

Hogyan működik a Math.random()?

A Math.random() metódus egy pszeudo-véletlen lebegőpontos számot ad vissza a = crypto.getRandomValues(new Uint8Array(1)) tartományból; konzolnapló (rvalue)
De a PRNG Math.random()-tól eltérően ez a módszer nagyon erőforrásigényes. Az a tény, hogy ez a generátor rendszerhívásokat használ az operációs rendszerben, hogy hozzáférjen az entrópiaforrásokhoz (poppy cím, cpu, hőmérséklet stb.).

Van egy számsorozatunk, amely szinte független elemekből áll, amelyek engedelmeskednek egy adott eloszlásnak. Általában egyenletesen oszlik el.

Véletlen számokat generálhat az Excelben különböző módon és módon. Nézzük meg közülük a legjobbakat.

Véletlenszámú függvény Excelben

  1. A RAND függvény egy véletlenszerű, egyenletes eloszlású valós számot ad vissza. 1-nél kisebb, 0-nál nagyobb vagy azzal egyenlő.
  2. A RANDBETWEEN függvény egy véletlenszerű egész számot ad vissza.

Nézzük meg példákkal a felhasználásukat.

Véletlen számok kiválasztása RAND segítségével

Ez a függvény nem igényel argumentumot (RAND()).

Például 1 és 5 közötti véletlenszerű valós szám generálásához használja a következő képletet: =RAND()*(5-1)+1.

A visszaadott véletlen szám egyenletesen oszlik el az intervallumon belül.

Minden alkalommal, amikor a munkalap kiszámítása megtörténik, vagy a munkalap bármely cellájának értéke megváltozik, egy új véletlenszámot ad vissza a rendszer. Ha el akarja menteni a generált sokaságot, a képletet lecserélheti az értékére.

  1. Egy véletlenszámú cellára kattintunk.
  2. Jelölje ki a képletet a képletsorban.
  3. Nyomja meg az F9-et. ÉS ENTER.

Ellenőrizzük az első mintából származó véletlenszámok eloszlásának egyenletességét az eloszlási hisztogram segítségével.


A függőleges értékek tartománya a frekvencia. Vízszintes - "zsebek".



RANDBETWEEN funkció

A RANDBETWEEN függvény szintaxisa (alsó korlát; felső korlát). Az első argumentumnak kisebbnek kell lennie, mint a másodiknak. Ellenkező esetben a függvény hibát fog kiütni. Feltételezzük, hogy a korlátok egész számok. A képlet elveti a tört részt.

Példa a függvény használatára:

Véletlen számok 0,1 és 0,01 pontossággal:

Hogyan készítsünk véletlenszám-generátort Excelben

Készítsünk véletlenszám-generátort egy bizonyos tartományból származó érték generálásával. Ilyen képletet használunk: =INDEX(A1:A10;INTEGER(RAND()*10)+1).

Készítsünk véletlenszám-generátort a 0 és 100 közötti tartományban 10-es lépéssel.

A szövegértékek listájából ki kell választani 2 véletlenszerű értéket. A RAND függvény segítségével az A1:A7 tartományban lévő szöveges értékeket véletlen számokkal hasonlítjuk össze.

Használjuk az INDEX funkciót két véletlenszerű szöveges érték kiválasztásához az eredeti listából.

Egy véletlenszerű érték kiválasztásához a listából alkalmazza a következő képletet: =INDEX(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).

Normál eloszlású véletlenszám-generátor

A RAND és RANDBETWEEN függvények véletlen számokat állítanak elő egyetlen eloszlással. Bármely érték azonos valószínűséggel eshet a kért tartomány alsó határába és a felső határba. Kiderül, hogy hatalmas szórás a célértékhez képest.

A normál eloszlás azt jelenti, hogy a generált számok nagy része közel van a célhoz. Javítsuk ki a RANDBETWEEN képletet és hozzunk létre egy normál eloszlású adattömböt.

Az X áru ára 100 rubel. A teljes gyártott tétel normál elosztás alá esik. A valószínűségi változó is normális valószínűségi eloszlást követ.

Ilyen körülmények között a tartomány átlagos értéke 100 rubel. Hozzunk létre egy tömböt, és készítsünk egy 1,5 rubel szórással normál eloszlású gráfot.

A következő függvényt használjuk: =NORMINV(RAND();100;1.5).

Az Excel kiszámította, hogy mely értékek vannak a valószínűségi tartományban. Mivel a 100 rubel költségű termék előállításának valószínűsége maximális, a képlet gyakrabban mutat 100-hoz közeli értékeket, mint a többi.

Térjünk át a tervezésre. Először létre kell hoznia egy táblázatot a kategóriákkal. Ehhez a tömböt pontokra osztjuk:

A kapott adatok alapján normál eloszlású diagramot alkothatunk. Az értéktengely az intervallumban lévő változók száma, a kategóriatengely a periódusok.