Glossario informatico: Random
Letteralmente: Casuale, senza un ordine predefinito.
Al contrario di quanto possa sembrare ai meno esperti, all'interno di un computer nulla avviene mai "a caso" né "per caso", soprattutto per quanto riguarda la generazione di valori numerici.
Se questo è un bene, perchè il funzionamento dei programmi si può sempre ricondurre a ben determinate combinazioni di valori e di stati logici, per contro, in alcune situazioni, la "mancanza di casualità" può rappresentare un limite.
Si pensi, ad esempio, ai programmi utilizzati nelle simulazioni basate sul calcolo delle probabilità, oppure al campo ludico: anche il videogame più sofisticato perde ogni attrattiva quando si scopre e si riesce a prevedere lo schema secondo il quale si muove l'avversario-computer!
La funzione Random, disponibile in molti linguaggi di programmazione, permette in realtà di generare successioni di numeri "pseudo-casuali", ovvero di numeri apparentemente casuali ma che si ripetono nel medesimo ordine ogni volta che la funzione viene re-inizializzata.
Dato un valore iniziale("seme") ricevuto in input, l'algoritmo generatore lo applica a formule matematiche, restituisce il risultato dei calcoli allla routine richiedente e ne memorizza una copia come valore da utilizzare la prossima volta.
Questo procedimento, apparentemente stupido (ad un determinato seme corrisponde sempre la medesima sequenza di numeri pseudo-casuali), permette in realtà di eseguire test ripetibili nel tempo, in alcuni casi velocizzando alquanto lo studio di modelli complessi.
Come si diceva poc'anzi, la disponibilità di numeri che invece non si ripetano mai nel tempo è però fondamentale in molti programmi: per generare numeri "veramente casuali" i programmatori ricorrono quindi a particolari accorgimenti che permettono di cambiare il seme del Generatore Random con una sufficiente imprevedibilità.
Questi metodi prevedono di solito l'utilizzo del valore memorizzato nell'orologio di sistema del computer (RTC: Real-Time Clock) al momento della chiamata alla funzione Random.
Esso conteggia i millisecondi trascorsi a partire dalla data di riferimento (che può essere diversa a seconda del sistema Operativo utilizzato) lungo l'intervallo di un secolo: nemmeno in questo caso i valori generati sono "veramente casuali", però sono "abbastanza poco pseudo-casuali" da servire allo scopo!
Cerca anche su: Google, Wikipedia.
- Migliorala tu stesso e contribuisci alla crescita del glossario.
- Scrivi all'Oracolo di pc-facile.com e lui ti risponderà via e-mail entro 48 ore lavorative.
- Invia questa definizione a un amico.