Generazioni di variabili aleatorie


Sono detti numeri pseudo-casuali (in inglese pseudo-random numbers) i numeri generati da un algoritmo deterministico che produce una sequenza con, approssimativamente, le stesse proprietà statistiche di una sequenza di numeri generata da un processo casuale. Tale algoritmo è detto generatore di numeri pseudo-casuali (PRNG, dall'inglese pseudo-random numbers generator).
Le sequenze di numeri pseudo-casuali vengono solitamente generate da un computer e utilizzate per algoritmi basati su processi casuali, come i metodi di tipo Monte Carlo o le applicazioni di crittografia. Quando invece occorrono sequenze di numeri realmente casuali, si utilizza un generatore hardware di numeri casuali.

La classe Random nel linguaggio VB Net rappresenta un generatore di numeri pseudo-casuali, ovvero un dispositivo che produce una sequenza di numeri che soddisfano determinati requisiti statistici di casualità.

La sintassi è la seguente:

VB

<SerializableAttribute>
<ComVisibleAttribute(True)>
Public Class Random

C#

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class Random
 
 
I costruttori sono i seguenti:

Random(): inizializza una nuova istanza delle classe Random, utilizzando un valore di inizializzazione predefinito indicizzato al tempo (orologio di sistema);

Random(Int32): inizializza una nuova istanza della classe Random, utilizzando il valore di inizializzazione specificato in input. Fornendo lo stesso valore di inizializzazione in input a diverse istanze della classe Random, verranno generate sequenze identiche di numeri casuali.

Mentre i metodi principali sono: 

Equals(Object): determina se l’oggeto specificato è uguale all’oggetto corrente.
GetType(): ottiene l’oggetto Type dall’istanza corrente
MemberwiseClone(): ottiene l’oggetto Type dell’istanza corrente.
Next(): restituisce un intero casuale non negativo.
Next(Int32): restituisce un intero casuale non negativo inferiore al massimo specificato.
Next(Int32, Int32): restituisce un intero casuale all’interno di un intervallo specificato.
NextBytes(Byte[]): inserisce numeri casuali negli elementi di una matrice di byte specificata.
NextDouble()
: restituisce un numero casuale a virgola mobile e precisione doppia maggiore o uguale a 0,0 e minore di 1,0.
Sample()
: restituisce un numero a virgola mobile casuale compreso tra 0,0 e 1,0.
ToString()
: restituisce una stringa che rappresenta l’oggetto corrente.



Commenti

Post popolari in questo blog

Il moto browniano geometrico

Resampling dei dati