Satunnainen numeroiden järjestys. Satunnaislukugeneraattori arpajaisia \u200b\u200bvarten

pää / Entinen

Huomaa, että mieluiten jakautumistiheyskäyrä satunnaisluvut näyttäisi kuvassa 1 esitetyltä 22.3. Eli ihanteellisessa tapauksessa sama määrä pisteitä putoaa jokaiseen aikaväliin: N i = N/k missä N - pisteiden kokonaismäärä k - jaksojen lukumäärä, i \u003d 1,…, k .

Kuva: 22.3. Satunnaislukujen taajuuskaavio,
ideaaligeneraattorin tuottama teoreettisesti

On syytä muistaa, että mielivaltaisen satunnaisluvun muodostaminen koostuu kahdesta vaiheesta:

  • generoidaan normalisoitu satunnaisluku (eli tasaisesti jakautunut 0: sta 1: een);
  • muuntaa normalisoidut satunnaisluvut r i satunnaislukuihin x i , jotka jaetaan vaaditun käyttäjän (mielivaltaisen) jakelulain mukaisesti tai vaaditulla aikavälillä.

Satunnaislukugeneraattorit on jaettu:

  • fyysinen;
  • taulukkomuotoinen;
  • algoritminen.

Fyysinen RNG

Esimerkki fyysisistä RNG: stä ovat: kolikko (päät - 1, hännät - 0); noppaa; rumpu, jossa nuoli on jaettu numeroihin sektoreihin; laitteiston melugeneraattori (HS), jota käytetään meluisana lämpölaitteena, esimerkiksi transistori (kuvat 22.4-22.5).

Kuva: 22.4. Laitteistomenetelmä satunnaislukujen muodostamiseksi
Kuva: 22.5. Kaavio satunnaislukujen saamisesta laitteistomenetelmällä
Tehtävä "Luo satunnaislukuja kolikon avulla"

Luo kolikolla satunnainen 3-numeroinen luku, joka on tasaisesti jaettu 0: sta 1: een. Tarkkuus on kolmen desimaalin tarkkuudella.

Ensimmäinen tapa ratkaista ongelma
Käännä kolikko 9 kertaa, ja jos kolikko tulee ylöspäin, kirjoita sitten "0", jos päät, sitten "1". Joten sanotaan, että kokeen tuloksena saimme satunnaisen sekvenssin 100110100.

Piirrä väli 0: sta 1. Lukemalla numerot peräkkäin vasemmalta oikealle, jaa intervalli kahtia ja valitse joka kerta jokin seuraavan välin osista (jos se putosi 0, sitten vasen, jos se putosi 1, sitten oikea). Näin voit päästä mihin tahansa aikavälin pisteeseen niin tarkasti kuin haluat.

Niin, 1 : intervalli on puolittunut - ja, - oikea puoli on valittu, intervallia kavennetaan :. Seuraava numero, 0 : väli on puolittunut - ja, - vasen puolisko on valittu, intervallia kavennetaan :. Seuraava numero, 0 : väli on puolittunut - ja, - vasen puolisko on valittu, intervallia kavennetaan :. Seuraava numero, 1 : intervalli on puolittunut - ja, - oikea puoli on valittu, intervallia kavennetaan :.

Tehtävän tarkkuuden ehdon mukaan ratkaisu on löydetty: se on mikä tahansa luku väliltä, \u200b\u200besimerkiksi 0,625.

Periaatteessa, jos lähestyt tiukasti, intervallien jakoa on jatkettava, kunnes löydetyn intervallin vasen ja oikea raja yhdistävät toisiaan kolmannen desimaalin tarkkuudella. Toisin sanoen luotu numero ei ole enää tarkkuuden näkökulmasta erotettavissa mistä tahansa luvusta aikavälistä, jolla se sijaitsee.

Toinen tapa ratkaista ongelma
Jaetaan saatu binäärisekvenssi 100110100 kolmioiksi: 100, 110, 100. Muunnettuamme nämä binääriluvut desimaaleiksi saamme: 4, 6, 4. Korvaamalla "0." eteen, saadaan: 0,464. Tämä menetelmä voi saada vain numeroita välillä 0,000 - 0,777 (koska maksimista, joka voidaan puristaa kolmesta binääriluvusta, on 111 2 \u003d 7 8) - eli nämä numerot on itse asiassa esitetty oktaalilukujärjestelmässä. Käännettäväksi oktaali numerot sisään desimaali suoritamme esityksen:
0,464 8 \u003d 4 · 8 –1 + 6 · 8 –2 + 4 · 8 –3 \u003d 0,6015625 10 \u003d 0,602 10.
Tarvittava luku on siis yhtä suuri kuin: 0,602.

Taulukkoinen RNG

Taulukkomuotoinen RNG satunnaislukujen lähteenä käyttää erityisesti koottuja taulukoita, jotka sisältävät tarkistettuja korreloimattomia eli toisistaan \u200b\u200briippumattomia numeroita. Pöytä 22.1 esittää pienen osan tällaisesta taulukosta. Siirtämällä taulukkoa vasemmalta oikealle ylhäältä alaspäin saat tasaisesti 0 - 1 satunnaislukua tarvittavalla desimaaliluvulla (esimerkissämme käytämme kolmea desimaalia kullekin numerolle). Koska taulukon numerot ovat toisistaan \u200b\u200briippumattomia, taulukko voidaan ohittaa eri tavoin, esimerkiksi ylhäältä alas tai oikealta vasemmalle, tai, esimerkiksi, voit valita numeroita, jotka ovat parillisissa paikoissa.

Taulukko 22.1.
Satunnaiset numerot. Tasaisesti
jaettu 0-1 satunnaislukuun
Satunnaiset numerot Tasaisesti jaettu
0 - 1 satunnaislukua
9 2 9 2 0 4 2 6 0.929
9 5 7 3 4 9 0 3 0.204
5 9 1 6 6 5 7 6 0.269
… …

Ihmisarvo tätä menetelmää siinä, että se antaa todella satunnaisia \u200b\u200blukuja, koska taulukko sisältää tarkistettuja korreloimattomia lukuja. Menetelmän haitat: suuren määrän numeroiden tallentaminen vie paljon muistia; suuria vaikeuksia tällaisten taulukoiden luomisessa ja tarkistamisessa, toistoja käytettäessä taulukkoa ei enää taata numeerisen sekvenssin satunnaisuutta ja siten tuloksen luotettavuutta.

On taulukko, joka sisältää 500 täysin satunnaista tarkistettua numeroa (otettu I. G. Venetsky, V. I. Venetskaya -kirjasta "Matemaattiset ja tilastolliset peruskäsitteet ja kaavat taloudellisessa analyysissä").

Algoritminen RNG

Näillä RNG: llä generoidut luvut ovat aina näennäissatunnaisia \u200b\u200b(tai lähes satunnaisia), toisin sanoen jokainen seuraava generoitu luku riippuu edellisestä:

r i + 1 = f(r i) .

Tällaisista numeroista koostuvat sekvenssit muodostavat silmukoita, toisin sanoen on välttämättä sykli, joka toistuu loputtoman monta kertaa. Toistuvia jaksoja kutsutaan jaksoiksi.

RNG-datan etuna on nopeus; generaattorit eivät käytännössä vaadi muistiresursseja, ne ovat pienikokoisia. Haitat: Numeroita ei voida täysin kutsua satunnaisiksi, koska niiden välillä on suhde, samoin kuin jaksojen esiintyminen lähes satunnaislukujen sekvenssissä.

Tarkastellaan useita algoritmimenetelmiä RNG: n saamiseksi:

  • keskiruutujen menetelmä;
  • keskituotteiden menetelmä;
  • sekoitusmenetelmä;
  • lineaarinen yhtenevä menetelmä.

Keskimääräinen neliömenetelmä

On jokin nelinumeroinen luku R0. Tämä numero on neliö ja syötetty Ryksi . Edelleen R1 otetaan keskimmäinen (neljä keskimmäistä numeroa) - uusi satunnaisluku - ja kirjoitetaan sisään R0. Sitten toimenpide toistetaan (katso kuva 22.6). Huomaa, että itse asiassa sitä ei tarvitse ottaa satunnaislukuna ghijja 0.ghij - nolla ja desimaalipiste vasemmalle. Tämä tosiasia näkyy kuten kuvassa. 22.6 ja sitä seuraavissa vastaavissa luvuissa.

Kuva: 22.6. Keskimääräinen neliösuunnitelma

Menetelmän haitat: 1) jos joillakin iteroinnilla numero R0 muuttuu nollaksi, sitten generaattori rappeutuu, joten alkuarvon oikea valinta on tärkeää R0; 2) generaattori toistaa jakson läpi M n vaiheet (sisään paras tapaus), missä n - numerokapasiteetti R0 , M - numerojärjestelmän perusta.

Esimerkiksi kuvassa. 22.6: jos luku R0 on edustettuina binaarijärjestelmässä, sitten näennäissatunnaislukujen jakso toistetaan 2 4 \u003d 16 vaiheessa. Huomaa, että sekvenssin toisto voi tapahtua aikaisemmin, jos alkunumeroa ei valita oikein.

Edellä kuvatun menetelmän ehdotti John von Neumann, ja se juontaa juurensa vuoteen 1946. Koska tämä menetelmä osoittautui epäluotettavaksi, se hylättiin nopeasti.

Keskituotteiden menetelmä

Määrä R0 kerrotaan R1, saadusta tuloksesta R2 poimi keskiosa R2 * (tämä on toinen satunnainen luku) ja kerrottuna Ryksi . Kaikki seuraavat satunnaisluvut lasketaan tällä kaavalla (katso kuva 22.7).

Kuva: 22.7. Keskituotteiden menetelmä

Sekoitusmenetelmä

Sekoitusmenetelmä käyttää operaatioita siirtämään solun sisältöä syklisesti vasemmalle ja oikealle. Menetelmän idea on seuraava. Anna solun varastoida siemen R0. Syklisesti siirtämällä solun sisältöä vasemmalle 1/4 solun pituudesta saamme uuden numeron R0 *. Samoin siirtämällä solun sisältöä syklisesti R0 oikealle 1/4 solun pituudesta, saamme toisen luvun R0 **. Lukujen summa R0 * ja R0 ** antaa uuden satunnaisluvun Ryksi . Edelleen R1 on syötetty R0, ja koko toimintosarja toistetaan (katso kuva 22.8).


Kuva: 22.8. Sekoitusmenetelmän kaavio

Huomaa, että summa, joka saadaan summauksesta R0 * ja R0 **, ei välttämättä sovi kokonaan soluun Ryksi . Tässä tapauksessa ylimääräiset numerot tulisi hylätä vastaanotetusta numerosta. Selitämme tämän kuvalle. 22.8, jossa kaikkia soluja edustaa kahdeksan binäärilukua. Anna olla R0 * = 10010001 2 = 145 10 , R0 ** = 10100001 2 = 161 10 sitten R0 * + R0 ** = 100110010 2 = 306 10 ... Kuten näette, numero 306 vie 9 numeroa (binäärilukujärjestelmässä) ja solun R1 (kuten R0) mahtuu enintään 8 numeroa. Siksi ennen arvon syöttämistä kohtaan RKuvion 1 mukaan on tarpeen poistaa yksi "ylimääräinen", vasen vasen bitti numerosta 306, minkä seurauksena R1 ei enää ole 306, vaan 00110010 2 \u003d 50 10. Huomaa myös, että kielillä, kuten Pascal, ylimääräisten bittien "katkaisu" solun ylivuotamisen yhteydessä tapahtuu automaattisesti tietyn tyyppisen muuttujan mukaisesti.

Lineaarinen yhtenevä menetelmä

Lineaarinen kongruenttimenetelmä on yksi yksinkertaisimmista ja yleisimmin käytetyistä menettelyistä satunnaislukujen simuloimiseksi. Tämä menetelmä käyttää mod ( x, y), joka palauttaa ensimmäisen argumentin loppuosan jaettuna toisella. Jokainen seuraava satunnaisluku lasketaan edellisen satunnaisluvun perusteella käyttäen seuraavaa kaavaa:

r i + 1 \u003d mod ( k · r i + b, M) .

Tätä kaavaa käyttämällä saatuja satunnaislukuja kutsutaan lineaarinen yhtenevä sekvenssi... Monet kirjoittajat kutsuvat lineaarista yhtenevää sekvenssiä b = 0 multiplikatiivinen kongruenttimenetelmäja b ≠ 0 — sekoitettu yhtenevä menetelmä.

Laadukkaalle generaattorille on valittava sopivat kertoimet. On välttämätöntä, että numero M oli melko suuri, koska ajanjaksolla ei voi olla enempää M elementtejä. Toisaalta tässä menetelmässä käytetty jako on melko hidas operaatio, joten binääritietokoneelle olisi loogista valita M = 2 N , koska tässä tapauksessa lopun jaon löytäminen pienenee tietokoneen sisällä binaariseksi looginen toiminta "JA". Suurimman alkuluvun valitseminen on myös yleistä M alle 2 N : erikoiskirjallisuudessa on osoitettu, että tässä tapauksessa tuloksena olevan satunnaisluvun vähiten merkitsevät bitit r i + 1 käyttäytyy yhtä satunnaisesti kuin vanhemmat, mikä vaikuttaa positiivisesti koko satunnaislukujen sarjaan kokonaisuutena. Yksi esimerkki on mersennen numerotyhtä suuri kuin 2 31 - 1, ja siten M \u003d 2 31-1.

Yksi lineaaristen kongruenttisekvenssien vaatimuksista on suurin mahdollinen jakson pituus. Jakson pituus riippuu arvoista M , k ja b ... Alla esitetyn lauseen avulla voimme määrittää, onko tietyille arvoille mahdollista saavuttaa maksimipituinen jakso M , k ja b .

Lause... Lineaarinen yhtenevä sekvenssi numeroilla M , k , b ja r 0, on pituusjakso M jos ja vain jos:

  • numerot b ja M molemminpuolisesti yksinkertainen;
  • k - 1 moninkertainen s jokaiselle yksinkertaiselle s mikä on jakaja M ;
  • k - 1 kerroin 4: stä, jos M 4: n moninkertainen.

Lopuksi tehdään lopuksi muutama esimerkki lineaarisen kongruenttimenetelmän käytöstä satunnaislukujen tuottamiseen.

Todettiin, että esimerkin 1 tiedoista muodostettu näennäissatunnaislukujen sarja toistetaan jokainen M/ 4 numeroa. Määrä q asetetaan mielivaltaisesti ennen laskelmien aloittamista, mutta on pidettävä mielessä, että sarja antaa vaikutelman satunnaiseksi suurille k (mikä tarkoittaa sitä q ). Tulosta voidaan parantaa hieman, jos b pariton ja k \u003d 1 + 4 q - tässä tapauksessa rivi toistetaan joka kerta M numerot. Pitkän haun jälkeen k tutkijat asettuvat arvoihin 69069 ja 71365.

Satunnaislukugeneraattori, joka käyttää esimerkin 2 tietoja, tuottaa satunnaisia \u200b\u200btoistumattomia lukuja, joiden jakso on 7 miljoonaa.

Moninkertaistavan menetelmän näennäissatunnaislukujen muodostamiseksi ehdotti D.H.Lehmer vuonna 1949.

Generaattorin laadun tarkistaminen

Koko järjestelmän laatu ja tulosten tarkkuus riippuvat RNG: n laadusta. Siksi RNG: n generoiman satunnaisen sekvenssin on täytettävä joukko kriteerejä.

Suoritetut tarkastukset ovat kahdenlaisia:

  • tarkastaa jakelun yhdenmukaisuuden;
  • tarkastaa tilastollisen riippumattomuuden.

Jakelun yhdenmukaisuuden tarkastukset

1) RNG: n tulisi tuottaa lähellä seuraavia tilastollisten parametrien arvoja, jotka ovat tyypillisiä yhtenäiselle satunnaislaille:

2) Taajuustesti

Taajuustestin avulla voit selvittää, kuinka monta numeroa kuuluu väliin (m r – σ r ; m r + σ r) , eli (0,5 - 0,2887; 0,5 + 0,2887) tai viime kädessä (0,2113; 0,7887). Koska 0,7887 - 0,2113 \u003d 0,5774, päätellään, että hyvässä RNG: ssä noin 57,7% kaikista pudotetuista satunnaisluvuista tulisi pudota tähän väliin (katso kuva 22.9).

Kuva: 22.9. Ihanteellisen RNG: n taajuuskaavio
jos se tarkistetaan taajuuskoetta varten

On myös otettava huomioon, että väliin (0; 0,5) kuuluvien numeroiden määrän tulee olla suunnilleen yhtä suuri kuin väliin laskevien lukujen lukumäärä (0,5; 1).

3) Chi-neliötesti

Chi-neliötesti (χ 2 -testi) on yksi tunnetuimmista tilastollisista testeistä; se on tärkein menetelmä, jota käytetään yhdessä muiden kriteerien kanssa. Chi-neliötestin ehdotti vuonna 1900 Karl Pearson. Hänen merkittävää työtä pidetään nykyaikaisen matemaattisen tilaston perustana.

Meidän tapauksessamme khi-neliötesti antaa meille mahdollisuuden selvittää, kuinka paljon todellinen RNG on lähellä RNG-standardia, eli täyttääkö se tasaisen jakelun vaatimuksen vai ei.

Taajuuskaavio viite RNG on esitetty kuvassa. 22.10. Koska viite-RNG: n jakelulaki on yhtenäinen, (teoreettinen) todennäköisyys s i lyömällä numeroita sisään i -th intervalli (kaikki nämä intervallit k ) on yhtä suuri kuin s i = 1/k ... Ja siten jokaisessa k aikavälit laskevat sileä mennessä s i · N numerot ( N — kaikki yhteensä luodut numerot).

Kuva: 22.10. Vertailun RNG-taajuuskaavio

Todellinen RNG tuottaa numerot jakautuneena (eikä välttämättä tasaisesti!) k välein ja jokainen väli sisältää n i numerot (summassa n 1 + n 2 + ... + n k = N ). Kuinka määritetään, kuinka hyvä testattu RNG on ja kuinka lähellä viitearvoa? On melko loogista tarkastella vastaanotettujen numeroiden lukumäärän erojen neliöitä. n i ja "viite" s i · N ... Lisätään ne ja tuloksena saamme:

exp 2 viikko \u003d ( n 1 - s yksi · N) 2 + (n 2 - s 2 N) 2 + ... + ( n k – s k · N) 2 .

Tästä kaavasta seuraa, että mitä pienempi ero termeissä (ja siten vähemmän arvoa exp 2 viikko ), sitä vahvempi todellisen RNG: n tuottamien satunnaislukujen jakautumislaki on yleensä yhtenäinen.

Edellisessä lausekkeessa kullekin termille on annettu sama paino (yhtä kuin 1), mikä ei todellakaan välttämättä vastaa todellisuutta; sen vuoksi khi-neliötilastossa on tarpeen normalisoida kukin i -kausi jakamalla se s i · N :

Lopuksi kirjoitamme tuloksena olevan lausekkeen tiiviimmin ja yksinkertaistamme sitä:

Saimme chi-neliötestin kokeellinen tiedot.

Pöytä 22.2 annetaan teoreettinen chi-neliöarvot (theory 2 teoria), missä ν = N - 1 on vapausasteiden määrä, s Onko käyttäjän määrittelemä luotettavuustaso, joka osoittaa, kuinka paljon RNG: n tulisi täyttää yhtenäiset jakeluvaatimukset, vai s — tämä on todennäköisyys, että kokeellinen arvo χ 2 exp. on pienempi kuin taulukossa esitetty (teoreettinen) χ 2 teoria. tai yhtä suuri kuin hän.

Taulukko 22.2.
Joitakin prosenttiyksiköitä distribution 2 -jakaumasta
p \u003d 1% p \u003d 5% p \u003d 25% p \u003d 50% p \u003d 75% p \u003d 95% p \u003d 99%
ν = 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
ν = 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
ν = 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
ν = 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
ν = 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
ν = 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
ν = 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48
ν = 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09
ν = 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67
ν = 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
ν = 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72
ν = 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22
ν = 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58
ν = 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57
ν = 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89
ν = 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15
ν > 30 ν + sqrt (2 ν ) · x s + 2/3 x 2 s - 2/3 + O(1 / neliö ( ν ))
x s = –2,33 –1,64 –0,674 0.00 0.674 1.64 2.33

Pidetään hyväksyttävänä s 10% - 90%.

Jos χ 2 exp. paljon enemmän kuin χ 2 teoria. (ts s - suuri), sitten generaattori ei tyydytä tasainen jakautumisvaatimus, koska havaitut arvot n i mennä liian kauas teoreettisesta s i · N eikä sitä voida pitää satunnaisena. Toisin sanoen, luottamusväli on asetettu niin suureksi, että numeroihin liittyvät rajoitukset menevät hyvin löysiksi, numeroita koskevat vaatimukset ovat heikot. Tässä tapauksessa havaitaan erittäin suuri absoluuttinen virhe.

Jopa D. Knuth kirjassaan "The Art of Programming" totesi, että having 2 exp. Myöskään pieni ei yleensä ole hyvä, vaikka se vaikuttaa ensi silmäyksellä ihmeelliseltä yhtenäisyyden kannalta. Ota todellakin joukko numeroita 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9, 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, ... - ne ovat ihanteellisia tasaisuus ja χ 2 exp. on melkein nolla, mutta tuskin tunnistat niitä satunnaisina.

Jos χ 2 exp. paljon vähemmän kuin χ 2 teoreettinen. (ts s - vähän), sitten generaattori ei tyydytä vaatimus satunnaisesta yhtenäisestä jakaumasta, koska havaitut arvot n i liian lähellä teoreettista s i · N eikä sitä voida pitää satunnaisena.

Mutta jos χ 2 exp. on tietyllä alueella, kahden values \u200b\u200b2 -teorian arvon välillä. jotka vastaavat esimerkiksi s \u003d 25% ja s \u003d 50%, niin voimme olettaa, että anturin tuottamien satunnaislukujen arvot ovat täysin satunnaisia.

Lisäksi on pidettävä mielessä, että kaikki arvot s i · N pitäisi olla riittävän suuri, esimerkiksi yli 5 (saatu selville empiirisesti). Vasta sitten (riittävän suuren tilastollisen otoksen avulla) koeolosuhteita voidaan pitää tyydyttävinä.

Joten, todentamismenettely on seuraava.

Tilastollisen riippumattomuuden tarkastukset

1) Tarkista numeron esiintymistiheys peräkkäin

Katsotaanpa esimerkkiä. Satunnaisluku 0.2463389991 koostuu numeroista 2463389991 ja numero 0.5467766618 numeroista 5467766618. Yhdistämällä numeroiden sekvenssit meillä on: 24633899915467766618.

On selvää, että teoreettinen todennäköisyys s i laskeumat i - numeroinen luku (0-9) on 0,1.

2) Samojen numeroiden sarjojen ulkonäön tarkistaminen

Merkitään n L peräkkäisten numeroiden sarjan pituus L ... Kaikki on tarkistettava L välillä 1 - m missä m Onko käyttäjän määrittelemä numero: sarjassa esiintyvien identtisten numeroiden enimmäismäärä.

Esimerkissä "24633899915467766618" löytyy 2 pituussarjaa 2 (33 ja 77), ts. n 2 \u003d 2 ja 2 sarjaa 3 pitkä (999 ja 666), ts n 3 = 2 .

Pituussarjan esiintymisen todennäköisyys L on yhtä suuri kuin: s L \u003d 9 10 - L (teoreettinen). Toisin sanoen yhden merkin pituisen sarjan todennäköisyys on: s 1 \u003d 0,9 (teoreettinen). Kahden merkin pituisen sarjan todennäköisyys on: s 2 \u003d 0,09 (teoreettinen). Kolmen merkin pituisen viivan todennäköisyys on: s 3 \u003d 0,009 (teoreettinen).

Esimerkiksi yhden merkin pituisen sarjan todennäköisyys on s L \u003d 0,9, koska merkkejä voi olla vain yksi kymmenestä, ja merkkejä on yhteensä 9 (nollaa ei lasketa). Ja todennäköisyys, että kaksi identtistä symbolia "XX" esiintyy peräkkäin, on 0,1 · 0,1 · 9, toisin sanoen todennäköisyys 0,1, että symboli „X“ esiintyy ensimmäisessä paikassa, kerrotaan todennäköisyydellä 0,1, että sama symboli ilmestyy toiseen kohtaan "X" ja kerrottuna tällaisten yhdistelmien määrällä 9.

Sarjan esiintymistiheys lasketaan aiemmin analysoidun khi-neliökaavan mukaisesti käyttämällä arvoja s L .

Huomaa: generaattori voidaan tarkistaa monta kertaa, mutta tarkastukset eivät ole täydellisiä eivätkä takaa, että generaattori tuottaa satunnaisia \u200b\u200blukuja. Esimerkiksi sekvenssin 12345678912345 ... antavaa generaattoria pidetään ihanteellisena tarkastusten aikana, mikä ei tietenkään ole täysin totta.

Yhteenvetona voidaan todeta, että Donald E. Knuthin kirjan "The Art of Programming" (nide 2) kolmas luku on omistettu kokonaan satunnaislukujen tutkimukselle. Se tutkii erilaisia \u200b\u200bmenetelmiä satunnaislukujen tuottaminen, tilastolliset satunnaisuustestit ja tasaisesti jakautuneiden satunnaislukujen muuntaminen muiksi satunnaismuuttujat... Tämän aineiston esittelyyn on omistettu yli kaksisataa sivua.

Lähetetty online-generaattori satunnaisluvut toimivat ohjelmoidun näennäissatunnaislukugeneraattorin perusteella, jolla on yhtenäinen jakauma, joka on rakennettu JavaScriptiin. Kokonaislukuja syntyy. Oletusarvoisesti 10 satunnaislukua näytetään alueella 100 ... 999, numerot erotetaan välilyönneillä.

Satunnaislukugeneraattorin perusasetukset:

  • Numeroiden määrä
  • Numerot
  • Erottimen tyyppi
  • On / off toiminto poistaa toistoja (kopioita numeroita)

Kokonaismäärä on muodollisesti rajoitettu 1000: een, enimmäismäärä on 1 miljardi. Erotusvaihtoehdot: välilyönti, pilkku, puolipiste.

Nyt tiedät tarkalleen, mistä ja miten saat satunnaislukuja tietyllä alueella ilmaiseksi Internetistä.

Satunnaislukugeneraattorisovellukset

Satunnaislukugeneraattori (RNG JS: llä, tasainen jakauma) on hyödyllinen SMM-asiantuntijoille sekä sosiaalisten verkostojen Istagram, Facebook, Vkontakte, Odnoklassniki ryhmien ja yhteisöjen omistajille arpajaisten, kilpailujen ja arvontojen voittajien määrittämiseksi.

Satunnaislukugeneraattorin avulla voit piirtää palkintoja mielivaltaisen määrän osallistujia, joilla on tietty määrä voittajia. Kilpailut voidaan järjestää ilman uudelleenkirjoituksia ja kommentteja - itse määrität osallistujien lukumäärän ja satunnaislukujen muodostusvälin. Voit hankkia joukon satunnaislukuja verkosta ja ilmaiseksi tältä sivustolta, eikä sinun tarvitse asentaa mitään sovelluksia älypuhelimeesi tai tietokoneellesi.

Myös online-satunnaislukugeneraattoria voidaan käyttää kolikoiden heittojen tai noppaa... Meillä on kuitenkin erilliset erikoistuneet palvelut näihin tapauksiin.

Suoritetaan erilaisia \u200b\u200barpajaisia, lahjoja jne. pidetään usein monissa ryhmissä tai yleisöissä sosiaalisissa verkostoissa, Instagramissa jne., ja tilinomistajat käyttävät niitä houkutellakseen uutta yleisöä yhteisöön.

Tällaisten arvontojen tulos riippuu usein käyttäjän onnesta, koska palkinnon vastaanottaja määritetään satunnaisesti.

Tätä määritystä varten arvonnan järjestäjät käyttävät melkein aina online-satunnaislukugeneraattoria tai esiasennettua, joka jaetaan ilmaiseksi.

Valinta

Melko usein tällaisen generaattorin valitseminen voi olla vaikeaa, koska niiden toiminnot ovat melko erilaiset - joillekin se on huomattavasti rajoitettu, toisille melko laaja.

Toteutettu tarpeeksi suuri määrä palveluja, mutta vaikeus on siinä, että ne eroavat toisistaan.

Esimerkiksi monet toiminnallisuudestaan \u200b\u200bovat sidoksissa tiettyyn sosiaalinen verkosto (esimerkiksi monet VKontakten generaattorisovellukset toimivat vain tämän sosiaalisen verkoston linkkien kanssa).

Useimmat yksinkertaiset generaattorit yksinkertaisesti määrittävät satunnaisesti luvun tietyllä alueella.

Tämä on kätevää, koska se ei liitä tulosta tiettyyn viestiin, mikä tarkoittaa, että sitä voidaan käyttää pelattaessa sosiaalisen verkoston ulkopuolella ja monissa muissa tilanteissa.

Itse asiassa heillä ei ole muuta sovellusta.

<Рис. 1 Генератор>

Neuvoja! Kun valitset sopivimman generaattorin, on tärkeää ottaa huomioon käyttötarkoitus.

Tekniset tiedot

Seuraavassa taulukossa on tärkein, mikä nopeuttaa optimaalisen online-satunnaislukupalvelun valitsemista tekniset tiedot ja tällaisten sovellusten toimivuus.

Taulukko 1. Toiminnan ominaisuudet online-sovellukset luoda satunnaisluku
Nimi Sosiaalinen verkosto Useita tuloksia Valitseminen numeroluettelosta Sivuston online-widget Valitse alue Poistetaan toistoja
RandStuff Joo Joo Ei Joo Ei
Valettu paljon Virallinen sivusto tai VKontakte Ei Ei Joo Joo Joo
Satunnainen numero Virallinen sivusto Ei Ei Ei Joo Joo
Randomus Virallinen sivusto Joo Ei Ei Joo Ei
Satunnaiset numerot Virallinen sivusto Joo Ei Ei Ei Ei

Kaikki taulukossa tarkastellut sovellukset on kuvattu tarkemmin jäljempänä.

<Рис. 2 Случайные числа>

RandStuff

<Рис. 3 RandStuff>

Voit käyttää tätä sovellusta verkossa seuraamalla linkkiä sen viralliselle verkkosivustolle http://randstuff.ru/number/.

Tämä on yksinkertainen satunnaislukugeneraattori, nopea ja vakaa suorituskyky.

Se toteutetaan onnistuneesti sekä erillisenä erillisenä sovelluksena virallisella verkkosivustolla että sovelluksena VKontakten sosiaalisessa verkostossa.

Tämän palvelun erikoisuus on, että se voi valita satunnaisluvun sekä määritetystä alueesta että tietystä luettelosta numeroita, jotka voidaan määrittää sivustolla.

Plussat:

  • Vakaa ja nopea työ;
  • Suoran yhteyden puute sosiaaliseen verkostoon;
  • Voit valita yhden tai useita numeroita;
  • Voit valita vain määritetyistä numeroista.

Miinukset:

  • Kyvyttömyys järjestää VKontakte-arvonta (tämä edellyttää erillistä sovellusta);
  • VKontakten sovelluksia ei käynnistetä kaikissa selaimissa;
  • Tulos näyttää joskus ennustettavissa, koska käytetään vain yhtä laskenta-algoritmia.

Käyttäjien arviot tästä sovelluksesta ovat seuraavat: ”Tämän palvelun avulla määritämme VKontakte-ryhmien voittajat. Kiitos "," Olet paras "," Käytän vain tätä palvelua. "

Valettu paljon

<Рис. 4 Cast Lots>

Tämä sovellus on yksinkertainen toiminnallinen generaattori, joka on virallisella verkkosivustolla VKontakte-sovelluksena.

Sivustoon upottamiseen on myös generaattori-widget.

Tärkein ero edelliseen kuvattuun sovellukseen on, että sen avulla voit poistaa tuloksen toistamisen käytöstä.

Toisin sanoen, jos suoritat useita sukupolvia peräkkäin yhdessä istunnossa, numeroa ei toisteta.

  • Widgetin läsnäolo upottamista varten verkkosivustoon tai blogiin;
  • Kyky poistaa tuloksen toistaminen käytöstä;
  • "Vielä enemmän satunnaisuutta" -funktion läsnäolo, jonka aktivoimisen jälkeen valinta-algoritmi muuttuu.

Negatiivinen:

  • Mahdollisuus määrittää useita tuloksia kerralla;
  • Kyvyttömyys valita tietystä numeroluettelosta;
  • Voittaja voit valita julkisesti käyttämällä erillistä VKontakte-widgetiä.

Käyttäjien arviot ovat seuraavat: "Se toimii vakaasti, sitä on melko kätevä käyttää", "Kätevät toiminnot", "Käytän vain tätä palvelua".

Satunnainen numero

<Рис. 5 Случайное число>

Tämä palvelu sijaitsee osoitteessa http: // satunnaisluku.rf /.

Yksinkertainen generaattori vähintään toiminnot ja lisäominaisuudet.

Voi luoda satunnaisesti lukuja tietyllä alueella (enintään 1 - 99999).

Sivustolla ei ole graafista suunnittelua, ja siksi sivu on helppo ladata.

Tulos voidaan kopioida tai ladata painamalla yhtä painiketta.

Negatiivinen:

  • VKontakten widgetin puute;
  • Piirustuksia ei ole mahdollista pitää;
  • Tulosta ei ole mahdollista lisätä blogiin tai verkkosivustoon.

Tässä on mitä käyttäjät sanovat tätä palvelua: "Ei huono generaattori, mutta ei tarpeeksi toimintoja", "Hyvin vähän ominaisuuksia", "Sopii numeron nopeaan luomiseen ilman tarpeettomia asetuksia."

Randomus

<Рис. 6 Рандомус>

Voit käyttää tätä satunnaislukugeneraattoria osoitteessa http://randomus.ru/.

Toinen, tarpeeksi yksinkertainen, mutta toiminnallinen satunnaislukugeneraattori.

Palvelulla on riittävät toiminnot satunnaislukujen määrittämiseen, mutta piirtojen ja muun pitämiseen monimutkaiset prosessit se ei sovi.

Negatiivinen:

  • Mahdollisuus piirtää piirustuksia postin uudelleenjulkaisuille jne.
  • Ei sovellusta VKontaktelle tai sivuston widgetille;
  • Tulosten toistamista ei voi poistaa käytöstä.

Tällä generaattorilla voit luoda satunnaislukuja millä tahansa alueella. Tämän generaattorin avulla voit myös valita tai tunnistaa numeron satunnaisesti luettelosta. Tai luo joukko satunnaislukuja 2 - 70 elementistä. Tämän verkkotyökalun avulla voit luoda paitsi yhden (1), kaksi (2) tai kolminumeroisen (3) satunnaisluvun myös viisi ja seitsemän. Helppo asentaa. Jokainen voi hallita sen. Voit myös valita satunnaislukuja online- tai offline-arpajaisiin tai kilpailuihin. Ja se on kätevää. Voit helposti luoda kokonaisia \u200b\u200btaulukoita tai satunnaislukujen rivejä. Sekunnin sekunnin kuluessa saat satunnaisluvun tai niiden sarjan (asetetut) ruudulle. Jos otat numerosarjan, algoritmi valitsee satunnaiset tai satunnaiset numerot, kuka tahansa voi pudota. Tämän työkalun avulla voit itse tehdä arvontoja. Valitsemalla tulokseksi esimerkiksi saman alueen ja lukumäärän voit luoda satunnaisen sekvenssin (yhdistelmän). Voit myös valita satunnaisia \u200b\u200bkirjainyhdistelmiä ja sanoja. Tätä työkalua, kuten kaikkea sivustollamme, on täysin ilmainen käyttää (ei poikkeuksia).

Syötä alueen numerot

Alkaen
Ennen
Luoda

Alueen muuttaminen satunnaisluvun luomiseksi

1..10 1..100 1..1000 1..10000 arpajaiset 5/36 arpajaiset 6/45 arpajaiset 6 of 49 arpajaiset 6 of 59

Satunnaislukujen määrä (1)

Poista toistoja

Valitse satunnaiset arvot luettelosta (erota pilkuilla tai välilyönneillä, jos pilkkuja löytyy, ne suorittavat jakamisen, muuten välilyönnit)

Numerot ovat mukana kaikkialla - talon ja huoneiston numero, puhelin, auto, passi, muovikortti, päivämäärät, salasanat sähköposti... Valitsemme joitain numeroyhdistelmiä itse, mutta saamme suurimman osan niistä satunnaisesti. Ymmärtämättä tätä käytämme satunnaisesti luotuja lukuja joka päivä. Jos keksimme PIN-koodit, luotettavat järjestelmät luovat luotto- tai palkkakortin yksilölliset koodit, jotka estävät pääsyn salasanoihin. Satunnaislukugeneraattorit tarjoavat suojan alueilla, jotka edellyttävät käsittelynopeutta, tietoturvaa ja itsenäistä käsittelyä.

Pseudosatunnaislukujen muodostusprosessiin sovelletaan tiettyjä lakeja, ja sitä on käytetty pitkään esimerkiksi arpajaisten järjestämisessä. Viime aikoina arvonnat tehtiin arpajaiskoneilla tai arvonnalla. Nyt voittolukuja on monissa maissa valtion arpajaiset määritetään luotujen satunnaislukujen joukon avulla.

Menetelmän edut

Joten satunnaislukugeneraattori on riippumaton moderni mekanismi numeroiden yhdistelmien satunnaiselle määrittämiselle. Tämän menetelmän ainutlaatuisuus ja täydellisyys piilee prosessin ulkoisen puuttumisen mahdottomuudessa. Generaattori on joukko ohjelmia, jotka on rakennettu esimerkiksi meludiodeille. Laite tuottaa satunnaisia \u200b\u200bääniä, joiden nykyiset arvot muunnetaan numeroiksi ja muotoyhdistelmiksi.

Lukujen luominen antaa välittömiä tuloksia - yhdistelmän suorittaminen kestää muutaman sekunnin. Jos puhumme arpajaisista, osallistujat voivat heti selvittää, onko lipun numero sama kuin voittaneen. Tämä mahdollistaa arvonnan pitämisen niin usein kuin osallistujat haluavat. Menetelmän tärkein etu on kuitenkin sen arvaamattomuus ja mahdottomuus laskea algoritmi numeroiden valitsemiseksi.

Kuinka näennäissatunnaiset luvut syntyvät

Itse asiassa satunnaisluvut eivät ole satunnaisia \u200b\u200b- sarja alkaa annettu numero ja generoidaan algoritmin avulla. Pseudosatunnaislukugeneraattori (PRNG tai PRNG - näennäissatunnaislukugeneraattori) on algoritmi, joka tuottaa sarjan näennäisesti etuyhteydettömiä lukuja, jotka ovat yleensä yhdenmukaisen jakauman alaisia. Tietotekniikassa pseudosatunnaislukuja käytetään monissa sovelluksissa: salauksessa, simulaatiossa, Monte Carlon menetelmässä jne. Tuloksen laatu riippuu PRNG: n ominaisuuksista.

Tuotannon lähde voi olla fyysinen melu kosmisesta säteilystä vastuksen kohinaan, mutta verkkoturvallisuussovellukset eivät koskaan käytä tällaisia \u200b\u200blaitteita. Salausohjelmat käyttävät erityisiä algoritmeja, jotka tuottavat sekvenssejä, jotka eivät voi olla tilastollisesti satunnaisia. Hyvin valittu algoritmi voi kuitenkin tuottaa numerosarjoja, jotka läpäisevät useimmat satunnaisuustestit. Toistojakso tällaisissa jaksoissa on suurempi kuin toimintaväli, josta numerot otetaan.

Monet modernit prosessorit sisältävät PRNG: n, esimerkiksi RdRand. Vaihtoehtoisesti luodaan ja julkaistaan \u200b\u200bsatunnaislukujoukot kertaluonteisissa kentissä (sanakirja). Numeroiden lähde on tässä tapauksessa rajallinen eikä tarjoa täydellistä verkkoturvaa.

PRNG-historia

Satunnaislukugeneraattorin prototyyppi voidaan ottaa huomioon lautapeli Senet, yleinen Muinainen Egypti vuonna 3500 eKr. Ehtojen mukaan kaksi pelaajaa osallistui, liikkeet määritettiin heittämällä neljä tasaista mustavalkoista keppiä - ne olivat samanlaisia \u200b\u200bkuin tuolloin PRNG. Sauvat heitettiin ylös samanaikaisesti ja pisteet laskettiin: jos yksi putosi valkoisen puolen kanssa, yksi piste ja lisäliike, kaksi valkoista - kaksi pistettä ja niin edelleen. Viiden pisteen maksimipisteet sai pelaaja, joka heitti neljä keppiä mustalla puolella.

ERNIE-generaattoria on käytetty monien vuosien ajan Yhdistyneessä kuningaskunnassa arpajaisten arvonnassa näinä päivinä. Sukupolven päämenetelmiä on kaksi voittonumerot: lineaarinen yhtenevä ja additiivinen yhtenevä. Nämä ja muut menetelmät perustuvat satunnaisuuden periaatteeseen, ja ne tarjoavat ohjelmisto, joka tuottaa äärettömästi numeroita, joiden sekvenssiä on mahdotonta arvata.

PRNG toimii jatkuvasti, esimerkiksi peliautomaatit... Yhdysvaltain lakien mukaan tämä vaadittu kuntojota kaikkien ohjelmistotoimittajien on noudatettava.

© 2021 skudelnica.ru - Rakkaus, pettäminen, psykologia, avioero, tunteet, riidat