Come configurare smartphone e PC. Portale informativo
  • casa
  • Consigli
  • Generatore di numeri casuali con una parola in codice. Generatore di numeri casuali della lotteria

Generatore di numeri casuali con una parola in codice. Generatore di numeri casuali della lotteria

Il generatore di numeri online è uno strumento utile che consente di ottenere il numero richiesto di numeri di una determinata profondità di bit e l'intervallo più ampio. Ci sono molti usi per il nostro generatore di numeri casuali! Ad esempio, puoi organizzare un concorso su VKontakte e giocare a un orsacchiotto in un gruppo di motociclisti per una risposta :)) Saremo anche molto lusingati se deciderai di usarlo per determinare il numero vincente di una lotteria o decidere quale numero su cui scommettere in un casinò. Speriamo davvero che qualcuno trovi il proprio numero fortunato online con noi!

Intervallo di numeri casuali:

Quantità:

Eliminare la ripetizione?

generare numeri

Aiutaci a sviluppare: Racconta ai tuoi amici del generatore!

casuale | numero casuale online in 1 clic

I numeri ci circondano dalla nascita e svolgono un ruolo importante nella vita. Per molte persone, il lavoro stesso è collegato ai numeri, qualcuno si affida alla fortuna, riempiendo i biglietti della lotteria con i numeri e qualcuno dà loro un significato completamente mistico. In un modo o nell'altro, a volte non possiamo fare a meno di utilizzare un programma come generatore di numeri casuali.

Ad esempio, devi organizzare un'estrazione a premi tra gli iscritti del tuo gruppo. Il nostro generatore di numeri casuali online ti aiuterà a scegliere i vincitori in modo rapido e onesto. Basta, ad esempio, impostare il numero desiderato di numeri casuali (in base al numero di vincitori) e il range massimo (in base al numero di partecipanti, se assegnati numeri). La frode in questo caso è completamente esclusa.

Questo programma può anche fungere da generatore di numeri casuali per il lotto. Ad esempio, hai acquistato un biglietto e vuoi affidarti completamente al caso e alla fortuna nella scelta dei numeri. Quindi il nostro randomizzatore di numeri ti aiuterà a riempire il tuo biglietto della lotteria.

Come generare un numero casuale: istruzioni

programma di numeri casuali funziona in modo molto semplice. Non è nemmeno necessario scaricarlo sul tuo computer: tutto viene fatto nella finestra del browser in cui è aperta questa pagina. I numeri casuali vengono generati in base al numero di numeri specificato e al loro intervallo, da 0 a 999999999. Per generare un numero online, è necessario:

  1. Seleziona l'intervallo in cui desideri ottenere il risultato. Forse vuoi tagliare i numeri fino a 10 o, diciamo, 10000;
  2. Elimina le ripetizioni: selezionando questo elemento, forzerai randomizzatore di numeri offrirti solo combinazioni uniche all'interno di un determinato intervallo;
  3. Seleziona il numero di numeri - da 1 a 99999;
  4. Fare clic sul pulsante Genera numeri.

Non importa quanti numeri vuoi ottenere come risultato, il generatore di numeri primi darà l'intero risultato in una volta e puoi vederlo in questa pagina scorrendo il campo con i numeri usando il mouse o il touchpad.

Ora puoi usare i numeri già pronti nel modo in cui ne hai bisogno. Dal campo del numero, puoi copiare il risultato per l'invio a un gruppo o per l'invio. E affinché nessuno dubiti del risultato, fai uno screenshot di questa pagina, su cui saranno chiaramente visibili i parametri del randomizzatore numerico e i risultati del programma. È impossibile modificare i numeri nel campo, quindi è esclusa la possibilità di manipolazione. Ci auguriamo che il nostro sito Web e il generatore di numeri casuali ti abbiano aiutato.

Oggi, i generatori di numeri casuali sono utilizzati attivamente in vari campi dell'attività umana. Tuttavia, hanno guadagnato una particolare popolarità in, che sono organizzati dai proprietari di negozi online, saloni di bellezza, caffè e altri stabilimenti per attirare offerte vantaggiose, bonus e regali tra i loro abbonati. È il generatore di numeri casuali che funziona gratuitamente online che ti consente di scegliere onestamente il vincitore.

Se stiamo parlando di un uso una tantum del generatore, puoi usarlo l'opzione più semplice un tale programma:

Tuttavia, la potenza di calcolo e la funzionalità di tale servizio non sono sempre sufficienti per ottenere i dati necessari. Ad oggi, esiste un numero abbastanza elevato di programmi online specializzati che differiscono non solo per la semplicità dell'interfaccia utente, ma anche per la loro ampia funzionalità. Non devi cercare da solo decine di programmi, perché apposta per te, in questo articolo, abbiamo preparato una recensione dettagliata TOP 3 migliori generatori di numeri online secondo gli utenti:

Per prima cosa devi conoscere i criteri principali:

  1. Seleziona da un elenco. La possibilità di fornire all'utente la propria lista per la generazione, seguita dalla selezione di un numero casuale da un dato insieme.
  2. Seleziona da un intervallo. La capacità di un generatore di numeri casuali online di campionare gratuitamente da un intervallo specifico.
  3. Emissione di più numeri. Una funzione responsabile di fornire contemporaneamente più numeri casuali se l'utente deve ricevere più di un valore.
  4. Disabilitazione della ricorrenza. La capacità del generatore di escludere dalle generazioni successive il numero che è caduto prima di esso, in modo che quando si ricevono più numeri casuali di seguito, non vengano duplicati.
  5. Widget del sito web. La possibilità di collegare il generatore al tuo sito web o alla pagina dei social media in modo che sia sempre a portata di mano e disponibile per il lavoro.
  6. Link al risultato. La possibilità di ottenere un collegamento separato al risultato di ogni singola generazione, che conferma l'accuratezza delle informazioni fornite quando si forniscono i risultati di concorsi o estrazioni.

Prima di preparare questo articolo, abbiamo analizzato molti generatori che si trovano su Internet. E tra tutti, scegli i 3 migliori:

TOP-1: generatore di numeri "Randstaff"


Descrizione: Leader indiscusso della nostra classifica dei migliori generatori di numeri casuali è il servizio Randstaff. Vanta un'interfaccia utente intuitiva, realizzata in grigio, che non preme affatto sugli occhi. È comodo da usare non solo su un computer, ma anche utilizzando un telefono cellulare, il che è particolarmente importante se è necessario generare un numero casuale senza accedere a un PC.

Vantaggi: questo generatore di numeri casuali online gratuito ha funzionalità estese e offre all'utente la possibilità di generare un numero qualsiasi di numeri casuali da un elenco o intervallo senza ripetizioni. Puoi scegliere tu stesso l'opzione più conveniente per utilizzare il servizio Randstaff tramite un apposito widget, un'applicazione sui social network o il sito Web ufficiale. Dopo aver completato una semplice procedura di registrazione, avrai accesso al tuo account personale, dove tutti i tuoi risultati saranno archiviati in modo sicuro.

Screpolatura: Non possibile. E puoi salvare il risultato della generazione solo per 3 giorni (ma questo di solito è sufficiente). Se vuoi salvare il risultato per sempre, devi registrarti nel tuo account personale (costo - 300 rubli).

TOP 2: Generatore di numeri di Castlelot


Descrizione: Il secondo posto appartiene di diritto al generatore di numeri casuali di Castlelot. Non è un servizio indipendente, ma parte di un portale con una varietà di cose utili che generano bellissime rime, accessi unici e semplicemente archiviano raccolte con film o citazioni interessanti. L'interfaccia differisce poco da servizi simili, ma vanta funzionalità più ampie.

Vantaggi: Castlelot consente all'utente di selezionare numeri casuali da un determinato intervallo. Può essere una o più cifre. Puoi scegliere la modalità di funzionamento del servizio con o senza ripetizione. Un utile vantaggio del generatore di Castlelot è la possibilità di ottenere un collegamento separato a ciascun risultato. Ha una caratteristica esclusiva chiamato "Ancora più casualità". Quando attivato, il processo di generazione non si avvia finché l'utente non sposta il cursore del mouse in una determinata posizione. Inoltre, la gamma di strumenti di servizio aggiuntivi include un widget per il sito e un'applicazione VKontakte proprietaria.

Screpolatura: L'unico evidente svantaggio di un tale generatore è la mancanza della possibilità di selezionare da un elenco.

TOP 3: generatore "Numero casuale.rf"


Descrizione: Il servizio "Numero casuale" ti consente di generare valori online compresi tra 1 e 99999. Il design è minimalista, il che è positivo. Nessuna distrazione. Sono ugualmente comodi da usare su un computer o uno smartphone. I grandi numeri neri su sfondo bianco sono chiaramente visibili, quindi anche le persone con problemi di vista non avvertiranno disagio durante il suo utilizzo.

Vantaggi: La funzionalità di un tale generatore di numeri casuali online consente di selezionare un valore casuale da un elenco e un intervallo specifico. Se è necessario ottenere più numeri casuali online contemporaneamente, è necessario indicare il numero richiesto nell'apposito campo, dove il valore predefinito è 1. La ripetizione è disabilitata su richiesta dell'utente.

Screpolatura: Non sarai in grado di connettere un tale servizio al tuo sito Web o alla tua community nei social network, poiché un tale generatore di numeri casuali non ha un proprio widget. Non ci sono nemmeno collegamenti al risultato, che, insieme ad altre carenze, porta questo servizio all'ultimo posto nella nostra classifica.

Conclusione

A nostro avviso, il servizio migliore e ottimale per generare un numero casuale è . Ha tutte le caratteristiche che hanno altri generatori. Il suo unico svantaggio è l'impossibilità di disabilitare la ripetizione dei numeri durante la generazione. Ma come abbiamo scritto sopra, questa sfumatura non è molto importante per l'utente medio. Forse ci siamo persi qualcosa in questo articolo? Se sì, scrivi nei commenti!

I numeri ci accompagnano ovunque: il numero della casa e dell'appartamento, il telefono, l'auto, il passaporto, la carta di plastica, le date, le password e-mail. Scegliamo noi stessi alcune combinazioni di numeri, ma otteniamo la maggior parte per caso. Senza rendercene conto, utilizziamo ogni giorno numeri generati casualmente. Se inventiamo i codici pin, i codici univoci delle carte di credito o salariali vengono generati da sistemi affidabili che escludono l'accesso alle password. I generatori di numeri casuali forniscono protezione in aree che richiedono velocità di elaborazione, sicurezza ed elaborazione indipendente dei dati.

Il processo di generazione di numeri pseudocasuali è soggetto a determinate leggi ed è stato utilizzato per molto tempo, ad esempio, durante lo svolgimento di lotterie. Nel recente passato, le estrazioni venivano eseguite utilizzando tamburi della lotteria o lotti. Ora in molti paesi i numeri vincenti delle lotterie statali sono determinati proprio da un insieme di numeri casuali generati.

Vantaggi del metodo

Quindi, il generatore di numeri casuali è un moderno meccanismo indipendente per determinare casualmente combinazioni di numeri. L'unicità e la perfezione di questo metodo risiede nell'impossibilità di interferenze esterne nel processo. Il generatore è un insieme di programmi costruiti, ad esempio, su diodi di disturbo. Il dispositivo genera un flusso di rumore casuale, i cui valori attuali vengono convertiti in numeri e creano combinazioni.

La generazione dei numeri fornisce risultati immediati: bastano pochi secondi per completare una combinazione. Se si parla di lotterie, i partecipanti possono scoprire subito se il numero del biglietto corrisponde a quello vincente. Ciò consente di tenere le estrazioni tutte le volte che i partecipanti lo desiderano. Ma il vantaggio principale del metodo è l'imprevedibilità e l'impossibilità di calcolare l'algoritmo di selezione dei numeri.

Come vengono generati i numeri pseudocasuali

In effetti, i numeri casuali non sono casuali: la serie parte da un dato numero ed è generata da un algoritmo. Un generatore di numeri pseudocasuali (PRNG o PRNG - generatore di numeri pseudocasuali) è un algoritmo che genera una sequenza di, a prima vista, numeri non correlati, solitamente soggetti a una distribuzione uniforme. In informatica, i numeri pseudocasuali sono usati in molte applicazioni: in crittografia, simulazione, Monte Carlo, ecc. La qualità del risultato dipende dalle proprietà del PRNG.

La fonte di generazione può essere il rumore fisico dai raggi cosmici al rumore del resistore, ma tali dispositivi non vengono quasi mai utilizzati nelle applicazioni di sicurezza della rete. Le applicazioni crittografiche utilizzano algoritmi speciali che generano sequenze che non possono essere statisticamente casuali. Tuttavia, un algoritmo ben scelto produce serie di numeri che superano la maggior parte dei test di casualità. Il periodo di ripetizione in tali sequenze è maggiore dell'intervallo di lavoro da cui vengono presi i numeri.

Molti processori moderni contengono un PRNG, come RdRand. In alternativa, vengono creati insiemi di numeri casuali e pubblicati in un one-time pad (dizionario). La fonte dei numeri in questo caso è limitata e non fornisce una sicurezza di rete completa.

Storia del PRNG

Il prototipo del generatore di numeri casuali può essere considerato il gioco da tavolo Senet, comune nell'antico Egitto nel 3500 a.C. Secondo le condizioni, due giocatori hanno partecipato, le mosse sono state determinate lanciando quattro bastoncini bianchi e neri piatti: erano come un PRNG di quel tempo. I bastoni venivano lanciati contemporaneamente e si contavano i punti: se uno cadeva con il lato bianco, 1 punto e una mossa aggiuntiva, due bianchi - due punti e così via. Il risultato massimo di cinque punti è stato ricevuto dal giocatore che ha lanciato quattro bastoni con il lato nero.

Oggi, il generatore ERNIE è stato utilizzato nel Regno Unito per molti anni nelle estrazioni della lotteria. Esistono due metodi principali per generare numeri vincenti: congruente lineare e congruente additivo. Questi e altri metodi si basano sul principio della casualità della scelta e sono forniti da un software che produce numeri indefinitamente, la cui sequenza non può essere indovinata.

Il PRNG opera continuamente, ad esempio, nelle slot machine. Secondo la legge statunitense, questa è una condizione obbligatoria che tutti i fornitori di software devono rispettare.


Si noti che, idealmente, la curva di densità di distribuzione dei numeri casuali sarebbe simile a quella mostrata in Fig. 22.3. Cioè, nel caso ideale, lo stesso numero di punti cade in ogni intervallo: n io = n/K , dove nè il numero totale di punti, K- il numero di intervalli, io= 1, …, K .

Riso. 22.3. Grafico della frequenza dell'abbandono di numeri casuali,
generato da un generatore ideale teoricamente

Va ricordato che la generazione di un numero casuale arbitrario consiste in due fasi:

  • generare un numero casuale normalizzato (cioè distribuito uniformemente da 0 a 1);
  • trasformazione di numeri casuali normalizzati R io in numeri casuali X io, che sono distribuiti secondo la legge di distribuzione (arbitraria) richiesta dall'utente o nell'intervallo richiesto.

I generatori di numeri casuali in base al metodo per ottenere i numeri sono suddivisi in:

  • fisico;
  • tabulare;
  • algoritmico.

RNG fisici

Esempi di RNG fisici sono: una moneta ("aquila" - 1, "croce" - 0); dado; un tamburo con una freccia divisa in settori con numeri; generatore di rumore hardware (GS), che viene utilizzato come dispositivo termico rumoroso, ad esempio un transistor (Fig. 22.4–22.5).

Riso. 22.4. Schema del metodo hardware per la generazione di numeri casuali
Riso. 22.5. Diagramma per ottenere numeri casuali con il metodo hardware
L'attività "Generazione di numeri casuali utilizzando una moneta"

Genera un numero casuale di 3 cifre distribuito uniformemente tra 0 e 1 usando una moneta. La precisione è di tre cifre decimali.

Il primo modo per risolvere il problema
Lancia una moneta 9 volte, e se la moneta è caduta croce, scrivi "0", se testa, poi "1". Quindi, diciamo che come risultato dell'esperimento abbiamo ottenuto una sequenza casuale 100110100.

Disegna un intervallo da 0 a 1. Leggendo i numeri in sequenza da sinistra a destra, dividi l'intervallo a metà e ogni volta scegli una delle parti dell'intervallo successivo (se 0 cade, poi a sinistra, se 1 cade, quindi Giusto). Pertanto, puoi arrivare a qualsiasi punto dell'intervallo, con precisione arbitraria.

Così, 1 : l'intervallo è diviso a metà - e , - viene selezionata la metà destra, l'intervallo si restringe: . Il prossimo numero 0 : l'intervallo è diviso a metà - e , - viene selezionata la metà sinistra, l'intervallo si restringe: . Il prossimo numero 0 : l'intervallo è diviso a metà - e , - viene selezionata la metà sinistra, l'intervallo si restringe: . Il prossimo numero 1 : l'intervallo è diviso a metà - e , - viene selezionata la metà destra, l'intervallo si restringe: .

In base alla condizione di accuratezza del problema, si trova la soluzione: è un numero qualsiasi dell'intervallo , ad esempio 0,625.

In linea di principio, se ci avviciniamo rigorosamente, la divisione degli intervalli deve essere continuata fino a quando i confini sinistro e destro dell'intervallo trovato COINCIDENTI tra loro entro la terza cifra decimale. Cioè, in termini di precisione, il numero generato non sarà più distinguibile da qualsiasi numero dall'intervallo in cui si trova.

Il secondo modo per risolvere il problema
Rompiamo la sequenza binaria risultante 100110100 in triadi: 100, 110, 100. Dopo aver convertito questi numeri binari in numeri decimali, otteniamo: 4, 6, 4. Sostituendo "0." davanti, otteniamo: 0,464. Con questo metodo si possono ottenere solo numeri da 0.000 a 0.777 (poiché il massimo che si può “spremere” su tre cifre binarie è 111 2 = 7 8) - cioè questi numeri sono infatti rappresentati nel sistema numerico ottale . Per tradurre ottale numeri dentro decimale la presentazione è eseguibile:
0,464 8 = 4 8 –1 + 6 8 –2 + 4 8 –3 = 0,6015625 10 = 0,602 10.
Quindi, il numero desiderato è: 0,602.

RNG tabulare

L'RNG tabulare come fonte di numeri casuali utilizza tabelle appositamente compilate contenenti non correlati verificati, ovvero numeri che non dipendono in alcun modo l'uno dall'altro. In tavola. 22.1 mostra un piccolo frammento di tale tabella. Scorrendo la tabella da sinistra a destra dall'alto verso il basso, puoi ottenere numeri casuali distribuiti uniformemente da 0 a 1 con il numero di cifre decimali desiderato (nel nostro esempio, utilizziamo tre cifre decimali per ogni numero). Poiché i numeri nella tabella non dipendono l'uno dall'altro, la tabella può essere attraversata in diversi modi, ad esempio, dall'alto verso il basso o da destra a sinistra, oppure, ad esempio, è possibile selezionare numeri che si trovano in posizioni pari.

Tabella 22.1.
Numeri casuali. In modo uniforme
distribuito da 0 a 1 numeri casuali
numeri casuali uniformemente distribuito
0 a 1 numeri casuali
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
… …

Il vantaggio di questo metodo è che fornisce numeri veramente casuali, poiché la tabella contiene numeri verificati non correlati. Svantaggi del metodo: è necessaria molta memoria per memorizzare un numero elevato di cifre; grandi difficoltà nella generazione e nel controllo di tali tabelle, le ripetizioni nell'utilizzo di una tabella non garantiscono più la casualità della sequenza numerica, e quindi l'affidabilità del risultato.

C'è una tabella contenente 500 numeri verificati assolutamente casuali (tratti dal libro di I. G. Venetsky, V. I. Venetskaya "Concetti e formule matematiche e statistiche di base nell'analisi economica").

RNG algoritmico

I numeri generati utilizzando questi RNG sono sempre pseudo-casuali (o quasi-casuali), ovvero ogni numero successivo generato dipende dal precedente:

R io + 1 = F(R io) .

Le sequenze composte da tali numeri formano dei loop, cioè c'è necessariamente un ciclo che si ripete un numero infinito di volte. I cicli ripetuti sono chiamati periodi.

Il vantaggio dei dati RNG è la velocità; i generatori praticamente non richiedono risorse di memoria, sono compatti. Svantaggi: i numeri non possono essere chiamati completamente casuali, poiché esiste una dipendenza tra loro, così come la presenza di periodi nella sequenza di numeri quasi casuali.

Considera diversi metodi algoritmici per ottenere RNG:

  • metodo dei quadrati medi;
  • metodo dei prodotti medi;
  • metodo di miscelazione;
  • metodo lineare congruente.

Metodo quadrato medio

C'è un numero di quattro cifre R 0. Questo numero è al quadrato e inserito R uno . Proveniente da R 1 viene preso il mezzo (quattro cifre centrali) - un nuovo numero casuale - e scritto R 0. Quindi la procedura viene ripetuta (vedi Fig. 22.6). Si noti che infatti, come numero casuale, è necessario prendere not ghij, un 0.ghij- con uno zero e un punto decimale assegnati a sinistra. Questo fatto si riflette nella Fig. 22.6, e nelle successive figure simili.

Riso. 22.6. Schema del metodo dei quadrati medi

Svantaggi del metodo: 1) se in qualche iterazione il numero R 0 diventa zero, quindi il generatore degenera, quindi la scelta corretta del valore iniziale è importante R 0; 2) il generatore ripeterà la sequenza m n passi (al massimo), dove n- capacità delle cifre del numero R 0 , mè la base del sistema numerico.

Per un esempio in fig. 22.6 : se numero R 0 sarà rappresentato nel sistema numerico binario, quindi la sequenza di numeri pseudocasuali si ripeterà dopo 2 4 = 16 passi. Si noti che la ripetizione della sequenza può verificarsi anche prima se il numero iniziale viene scelto senza successo.

Il metodo sopra descritto è stato proposto da John von Neumann e risale al 1946. Poiché questo metodo si è rivelato inaffidabile, è stato rapidamente abbandonato.

Metodo dei prodotti mediani

Numero R 0 moltiplicato per R 1, dal risultato R 2 il centro viene rimosso R 2 * (questo è un altro numero casuale) e moltiplicato per R uno . Secondo questo schema, vengono calcolati tutti i successivi numeri casuali (vedi Fig. 22.7).

Riso. 22.7. Schema del metodo dei prodotti mediani

Metodo di miscelazione

Il metodo di mescolamento utilizza le operazioni per ruotare il contenuto di una cella a sinistra ea destra. L'idea del metodo è la seguente. Lascia che la cella memorizzi il numero iniziale R 0. Spostando ciclicamente il contenuto della cella a sinistra di 1/4 della lunghezza della cella, otteniamo un nuovo numero R 0*. Allo stesso modo, spostando ciclicamente il contenuto di una cella R 0 a destra di 1/4 della lunghezza della cella, otteniamo il secondo numero R 0**. Somma di numeri R 0 * e R 0** fornisce un nuovo numero casuale R uno . Ulteriore R 1 è inserito R 0 e l'intera sequenza di operazioni viene ripetuta (vedi Fig. 22.8).


Riso. 22.8. Schema del metodo di agitazione

Si noti che il numero risultante dalla somma R 0 * e R 0 ** , potrebbe non adattarsi completamente alla cella R uno . In questo caso, le cifre in più devono essere eliminate dal numero ricevuto. Spieghiamo questo per la Fig. 22.8, dove tutte le celle sono rappresentate da otto cifre binarie. Permettere R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , poi R 0 * + R 0 ** = 100110010 2 = 306 10 . Come puoi vedere, il numero 306 occupa 9 cifre (nel sistema numerico binario) e la cella R 1 (nonché R 0 ) può contenere un massimo di 8 bit. Pertanto, prima di inserire il valore in R 1 è necessario rimuovere un "extra", bit più a sinistra dal numero 306, risultando R 1 non andrà più 306, ma 00110010 2 = 50 10 . Si noti inoltre che in linguaggi come Pascal, il "troncamento" di bit extra quando una cella va in overflow viene eseguito automaticamente in base al tipo di variabile specificato.

Metodo congruente lineare

Il metodo congruenziale lineare è una delle procedure più semplici e attualmente più utilizzate che simulano numeri casuali. Questo metodo usa il mod( X, y) , che restituisce il resto dopo aver diviso il primo argomento per il secondo. Ogni numero casuale successivo viene calcolato in base al numero casuale precedente utilizzando la seguente formula:

R io+ 1 = mod( K · R io + B, m) .

Viene chiamata la sequenza di numeri casuali ottenuta utilizzando questa formula successione lineare congruente. Molti autori si riferiscono a una sequenza congruente lineare come B = 0 metodo moltiplicativo congruente, e quando B ≠ 0 — metodo misto congruente.

Per un generatore di alta qualità, è necessario selezionare coefficienti adeguati. È necessario che il numero m era abbastanza grande poiché il periodo non può averne di più m elementi. D'altra parte, la divisione utilizzata in questo metodo è un'operazione piuttosto lenta, quindi per un computer binario la scelta logica sarebbe m = 2 n, perché in questo caso, trovare il resto della divisione si riduce all'interno del computer all'operazione logica binaria "AND". È anche comune scegliere il numero primo più grande m, meno di 2 n: nella letteratura speciale è dimostrato che in questo caso sono le cifre meno significative del numero casuale risultante R io+ 1 si comportano in modo altrettanto casuale come quelli più vecchi, il che ha un effetto positivo sull'intera sequenza di numeri casuali nel suo insieme. Un esempio è uno di Numeri di Mersenne, pari a 2 31 - 1 , e quindi, m= 2 31 – 1 .

Uno dei requisiti per le successioni congruenti lineari è il periodo più lungo possibile. La durata del periodo dipende dai valori m , K e B. Il teorema che presentiamo di seguito ci consente di determinare se è possibile raggiungere un periodo di massima lunghezza per valori specifici m , K e B .

Teorema. Sequenza lineare congruente definita da numeri m , K , B e R 0 , ha un periodo di lunghezza m se e solo se:

  • numeri B e m coprimi;
  • K– 1 volta P per ogni semplice P, che è un divisore m ;
  • K– 1 è un multiplo di 4 se m multiplo di 4.

Infine, concludiamo con un paio di esempi di utilizzo del metodo congruenziale lineare per generare numeri casuali.

Si è riscontrato che una serie di numeri pseudo-casuali generati sulla base dei dati dell'esempio 1 verranno ripetuti ogni m/4 numeri. Numero Qè impostato arbitrariamente prima dell'inizio dei calcoli, tuttavia, va tenuto presente che la serie dà l'impressione di essere in generale casuale K(e quindi Q). Il risultato può essere leggermente migliorato se B dispari e K= 1 + 4 Q - in questo caso le serie verranno ripetute ogni m numeri. Dopo una lunga ricerca K i ricercatori si sono stabiliti sui valori 69069 e 71365.

Il generatore di numeri casuali che utilizza i dati dell'esempio 2 produrrà numeri casuali non ricorrenti con un periodo di 7 milioni.

Un metodo moltiplicativo per generare numeri pseudocasuali è stato proposto da D. H. Lehmer nel 1949.

Controllo della qualità del generatore

La qualità dell'intero sistema e l'accuratezza dei risultati dipendono dalla qualità dell'RNG. Pertanto, la sequenza casuale generata dall'RNG deve soddisfare una serie di criteri.

I controlli effettuati sono di due tipi:

  • controlli per l'uniformità della distribuzione;
  • test di indipendenza statistica.

Verifica dell'uniformità della distribuzione

1) RNG dovrebbe fornire vicino ai seguenti valori di parametri statistici caratteristici di una legge casuale uniforme:

2) Prova di frequenza

Il test di frequenza ti consente di scoprire quanti numeri sono caduti nell'intervallo (m R – σ R ; m R + σ R) , ovvero (0,5 - 0,2887; 0,5 + 0,2887) o, in definitiva, (0,2113; 0,7887) . Poiché 0,7887 - 0,2113 = 0,5774, concludiamo che in un buon RNG, circa il 57,7% di tutti i numeri casuali che sono caduti dovrebbero rientrare in questo intervallo (vedi Fig. 22.9).

Riso. 22.9. Diagramma di frequenza di un RNG ideale
in caso di verifica per un test di frequenza

Va inoltre tenuto presente che il numero di numeri nell'intervallo (0; 0,5) dovrebbe essere approssimativamente uguale al numero di numeri nell'intervallo (0,5; 1) .

3) Test del chi quadrato

Il test del chi quadrato (χ 2 -test) è uno dei test statistici più conosciuti; è il metodo principale utilizzato in combinazione con altri criteri. Il test del chi quadrato fu proposto nel 1900 da Karl Pearson. Il suo straordinario lavoro è considerato il fondamento della moderna statistica matematica.

Nel nostro caso, un test del chi quadrato ci permetterà di scoprire quanto è stato creato da noi vero L'RNG è vicino al riferimento RNG, cioè se soddisfa o meno il requisito di distribuzione uniforme.

grafico delle frequenze riferimento L'RNG è mostrato in fig. 22.10. Poiché la legge di distribuzione dell'RNG di riferimento è uniforme, la probabilità (teorica). P io colpire i numeri io-esimo intervallo (totale di questi intervalli K) è uguale a P io = 1/K . E quindi, in ciascuno K gli intervalli cadranno liscio in poi P io · n numeri ( nè il numero totale di numeri generati).

Riso. 22.10. Diagramma di frequenza del RNG di riferimento

Un vero RNG produrrà numeri distribuiti (e non necessariamente in modo uniforme!) K intervalli e ogni intervallo includerà n io numeri (totale n 1 + n 2 + … + n K = n ). Come possiamo determinare quanto è buono e vicino l'RNG testato a quello di riferimento? È abbastanza logico considerare i quadrati delle differenze tra il numero di numeri ricevuto n io e "riferimento" P io · n . Sommiamoli e di conseguenza otteniamo:

χ 2 esp. =( n 1- P uno · n) 2 + (n 2- P 2 · n) 2 + … + ( n K – P K · n) 2 .

Ne consegue da questa formula che minore è la differenza in ciascuno dei termini (e quindi minore è il valore di χ 2 exp. ), più forte è la legge di distribuzione dei numeri casuali generata da un RNG reale tende ad essere uniforme.

Nell'espressione precedente, a ciascuno dei termini viene assegnato lo stesso peso (pari a 1), che infatti potrebbe non essere vero; pertanto, per la statistica del chi quadrato, è necessario normalizzare ciascuno io esimo termine, dividendo per P io · n :

Infine, scriviamo l'espressione risultante in modo più compatto e semplifichiamola:

Abbiamo ottenuto il valore del test del chi quadrato per sperimentale dati.

In tavola. 22.2 sono dati teorico valori del chi quadrato (χ 2 theor.), dove ν = n– 1 è il numero di gradi di libertà, Pè un livello di confidenza specificato dall'utente che indica quanto l'RNG dovrebbe soddisfare i requisiti di distribuzione uniforme, o P — è la probabilità che il valore sperimentale χ 2 exp. sarà inferiore alla teoria tabulata (teorica) χ 2. o uguale ad esso.

Tabella 22.2.
Alcuni punti percentuali della distribuzione χ 2
p = 1% p = 5% p = 25% p = 50% p = 75% p = 95% p = 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 ν + mq(2 ν ) · X P+ 2/3 X 2 P– 2/3 + o(1/mq( ν ))
X P = -2.33 -1.64 –0,674 0.00 0.674 1.64 2.33

Considera accettabile P dal 10% al 90%.

Se χ 2 esp. molto più di χ 2 theor. (questo è Pè grande), quindi il generatore non soddisfa il requisito di una distribuzione uniforme, poiché i valori osservati n io andare troppo lontano dal teorico P io · n e non può essere considerato casuale. In altre parole, viene stabilito un intervallo di confidenza così ampio che le restrizioni sui numeri diventano molto allentate, i requisiti sui numeri sono deboli. In questo caso, si osserverà un errore assoluto molto grande.

Anche D. Knuth nel suo libro "The Art of Programming" ha notato che avendo χ 2 exp. piccolo è anche, in generale, non buono, sebbene sembri, a prima vista, notevole dal punto di vista dell'uniformità. Infatti, prendi una serie di numeri 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, ... - sono ideali dal punto di vista di uniformità e χ 2 exp. sarà praticamente zero, ma è improbabile che li riconosci come casuali.

Se χ 2 esp. molto meno di χ 2 theor. (questo è P- piccolo), quindi il generatore non soddisfa requisito di una distribuzione uniforme casuale, poiché i valori osservati n io troppo vicino al teorico P io · n e non può essere considerato casuale.

Ma se χ 2 exp. si trova in un certo intervallo, tra due valori di χ 2 theor. , che corrispondono, ad esempio, P= 25% e P= 50%, allora possiamo supporre che i valori dei numeri casuali generati dal sensore siano completamente casuali.

Inoltre, va tenuto presente che tutti i valori P io · n deve essere sufficientemente grande, ad esempio maggiore di 5 (trovato empiricamente). Solo allora (con un campione statistico sufficientemente ampio) le condizioni sperimentali possono essere considerate soddisfacenti.

Quindi, la procedura di verifica è la seguente.

Test di indipendenza statistica

1) Verifica della frequenza di occorrenza di una cifra in una sequenza

Considera un esempio. Il numero casuale 0.2463389991 è costituito dalle cifre 2463389991 e il numero 0.5467766618 è costituito dalle cifre 5467766618. Combinando le sequenze di cifre, abbiamo: 246338999154677766618.

È chiaro che la probabilità teorica P io cadere io la cifra (da 0 a 9) è 0,1.

2) Verifica dell'aspetto di serie di numeri identici

Indica con n l numero di serie di cifre consecutive identiche di lunghezza l. Tutto deve essere verificato l da 1 a m, dove mè un numero specificato dall'utente: il numero massimo di cifre identiche in una serie.

Nell'esempio "24633899915467766618" sono state trovate 2 serie di lunghezza 2 (33 e 77), ovvero n 2 = 2 e 2 serie di lunghezza 3 (999 e 666), cioè n 3 = 2 .

La probabilità di una serie con una lunghezza di lè uguale a: P l= 9 10 – l (teorico). Cioè, la probabilità di occorrenza di una serie con una lunghezza di un carattere è uguale a: P 1 = 0,9 (teorico). La probabilità che appaia una serie di due caratteri è: P 2 = 0,09 (teorico). La probabilità che appaia una serie di tre caratteri è: P 3 = 0,009 (teorico).

Ad esempio, la probabilità di occorrenza di una serie con una lunghezza di un carattere è uguale a P l= 0,9 , poiché può esserci un solo carattere su 10 e solo 9 caratteri (zero non viene conteggiato). E la probabilità che due caratteri identici "XX" si incontrino in una riga è 0,1 0,1 9, ovvero la probabilità di 0,1 che il carattere "X" appaia nella prima posizione è moltiplicata per la probabilità di 0,1 che lo stesso carattere apparirà nella seconda posizione "X" e moltiplicato per il numero di tali combinazioni 9.

La frequenza di occorrenza delle serie è calcolata secondo la formula “chi-quadrato” che abbiamo precedentemente analizzato utilizzando i valori P l .

Nota: il generatore può essere controllato più volte, ma i controlli non sono completi e non garantiscono che il generatore produca numeri casuali. Ad esempio, un generatore che produca la sequenza 12345678912345… sarà considerato ideale durante i controlli, il che, ovviamente, non è del tutto vero.

In conclusione, notiamo che il terzo capitolo del libro "The Art of Programming" di Donald E. Knuth (volume 2) è completamente dedicato allo studio dei numeri casuali. Esplora vari metodi per generare numeri casuali, criteri statistici per la casualità e la trasformazione di numeri casuali distribuiti uniformemente in altri tipi di variabili casuali. Più di duecento pagine sono state dedicate alla presentazione di questo materiale.

Il generatore di numeri casuali per i biglietti della lotteria è fornito gratuitamente "così com'è". Lo sviluppatore non si assume alcuna responsabilità per le perdite materiali e immateriali degli utenti dello script. È possibile utilizzare questo servizio a proprio rischio. Tuttavia, qualcosa, ma sicuramente non corri dei rischi :-).

Numeri casuali per i biglietti della lotteria online

Questo software (PRNG in JS) è un generatore di numeri pseudo-casuali implementato con le capacità del linguaggio di programmazione Javascript. Il generatore produce una distribuzione uniforme di numeri casuali.

Ciò consente alla società della lotteria di battere un "cuneo con un cuneo" su un RNG distribuito uniformemente da una società della lotteria per rispondere con numeri casuali con una distribuzione uniforme. Questo approccio elimina la soggettività del giocatore, poiché le persone hanno determinate preferenze nella scelta di numeri e numeri (compleanni di parenti, date memorabili, anni, ecc.), Che influenzano la selezione manuale dei numeri.

Lo strumento gratuito aiuta i giocatori a scegliere numeri casuali per le lotterie. Lo script del generatore di numeri casuali ha una serie di modalità preimpostate per Gosloto 5 su 36, 6 su 45, 7 su 49, 4 su 20, Sportloto 6 su 49. Puoi scegliere una modalità di generazione di numeri casuali con impostazioni gratuite per altre opzioni della lotteria.

Pronostici di vincita alla lotteria

Un generatore di numeri casuali con una distribuzione uniforme può fungere da oroscopo per la lotteria, tuttavia, la probabilità che la previsione si avveri è bassa. Tuttavia, l'utilizzo di un generatore di numeri casuali ha buone possibilità di vincere rispetto a molte altre strategie di gioco della lotteria e ti libera inoltre dal dolore di scegliere numeri e combinazioni fortunati. Da parte mia, non ti consiglio di cedere alla tentazione e acquistare previsioni a pagamento, è meglio spendere questi soldi per un libro di testo sulla combinatoria. Puoi imparare molte cose interessanti da esso, ad esempio, la probabilità di vincere il jackpot a Gosloto è 5 su 36 1 a 376 992 . E la probabilità di ottenere il premio minimo indovinando 2 numeri è 1 a 8 . La previsione basata sul nostro RNG ha le stesse probabilità di vincita.

Su Internet ci sono richieste di numeri casuali per la lotteria, tenendo conto delle estrazioni passate. Ma a condizione che la lotteria utilizzi RNG con una distribuzione uniforme e la probabilità di ottenere l'una o l'altra combinazione non dipenda dall'estrazione da estrarre, allora è inutile cercare di tenere conto dei risultati delle estrazioni passate. E questo è abbastanza logico, dal momento che non è redditizio per le società della lotteria consentire ai partecipanti di aumentare le probabilità di vincita con metodi semplici.

Si dice spesso che gli organizzatori della lotteria truccano i risultati. Ma in realtà questo non ha senso, anche, al contrario, se le società della lotteria influenzassero i risultati della lotteria, allora sarebbe possibile trovare una strategia vincente, ma finora nessuno ci è riuscito. Pertanto, è molto vantaggioso per gli organizzatori della lotteria che le palline cadano con una probabilità uniforme. A proposito, il rendimento stimato della lotteria 5 su 36 è del 34,7%. Pertanto, la società della lotteria ha il 65,3% dei proventi della vendita dei biglietti, parte dei fondi (di solito la metà) viene detratta per la formazione del jackpot, il resto del denaro va alle spese organizzative, alla pubblicità e all'utile netto dell'azienda. Le statistiche di circolazione confermano perfettamente queste cifre.

Da qui la conclusione: non comprare previsioni senza senso, usa un generatore di numeri casuali gratuito, prenditi cura dei tuoi nervi. Lascia che i nostri numeri casuali siano i tuoi numeri fortunati. Buon umore e buona giornata!

Articoli correlati in alto