Applicazioni ai generatori di numeri casuali

Oltre ai test precedentemente descritti, vengono comunemente applicati altri test per investigare la pseudo-casualità delle sequenze generate.

Per descrivere questi test supporremo di voler testare una sequenza di numeri reali, distribuiti uniformemente tra 0 e 1

Alcuni di questi test sono però disegnati per sequenze a valori interi. In questo caso, utilizzeremo la sequenza ausiliaria

definita per numeri tra 0 e dalla regola

Test di equidistribuzione[modifica | modifica wikitesto]

Il primo requisito per una sequenza generata da un generatore uniforme è che i numeri ottenuti siano equidistribuiti. Si può effettuare questo test usando l'indicatore di Kolmogorov-Smirnov, utilizzando come funzione di test per . Alternativamente, si può utilizzare la sequenza e il test del , utilizzando come probabilità .

Test delle serie[modifica | modifica wikitesto]

Il test delle serie è fondamentalmente simile a quello di equidistribuzione, ma invece di controllare la effettiva distribuzione uniforme dei singoli valori, verifica la equidistribuzione delle coppie. Anche in questo caso è immediato applicare il test del , controllando la frequenza con la quale per ogni coppia di numeri . In questo caso, si considera la probabilità . È possibile generalizzare questo test a triplette e oltre, ma bisogna tener conto della complessità di calcolo crescente.

Test del poker[modifica | modifica wikitesto]

Il "test del poker" considera sotto-successioni di 5 interi, e osserva i pattern che compaiono al suo interno, cercando di riconoscere le figure del gioco del poker, e verificando, con un test del , che le varie categorie (coppia, doppia coppia, full, poker...) compaiano con le frequenze attese.

È possibile sviluppare anche un test semplificato, che considera solo le occorrenze di simboli distinti in un gruppo di cinque. In generale, considerando una sequenza di numeri, ci saranno simboli unici (con ), e possiamo effettuare un test del con la seguente formula per le probabilità attese:

La notazione si riferisce ai numeri di Stirling della seconda specie, definiti dalla seguente relazione:

Gap test[modifica | modifica wikitesto]

Un ulteriore test è il cosiddetto gap test, ovvero un test che conta quanto tempo, in media, passa tra un'occorrenza di un numero e la successiva. Questo test si effettua sia su numeri interi, che su sequenze di numeri reali, considerando nell'ultimo caso l'appartenenza del numero estratto a un intervallo . Supponendo di considerare intervalli, e chiamando , le probabilità con le quali effettuare il test del possono essere espresse come:

Test della collezione[modifica | modifica wikitesto]

Il test della collezione è per molti versi simile al gap test, ovvero conta la lunghezza della sequenza necessaria ad ottenere, almeno una volta, una collezione di tutti i simboli. Viene posto un limite massimo, che chiameremo , alla lunghezza della sequenza, per poter essere certi che il nostro algoritmo termini sempre. Chiamiamo la lunghezza della stringa che contiene almeno una volta tutti i simboli, e ovviamente . Anche in questo caso si sceglierà di usare il test del , con le probabilità:

 PrecedenteSuccessivo