Generatori di numeri a caso

Introduzione: Come fa un computer,che e’ la macchina deterministca per eccellenza, a generare numeri a caso?

Cose da fare: Cliccate sulla scritta incorniciata da un rettangolo colorato all’inizio del documento per far partire l’applet. Compariranno 2 finestre: un quadro di comandi che permette di variare le modalita’ di generazione dei numeri casuali e una finestra grafica che serve per controllare l’effettiva casualita’ dei numeri generati.

Cosa succede: Un famoso matematico, von Neumann, disse che chi pensa che un computer possa generare numeri a caso deve essere in uno stato di peccato. In effetti, al tempo di Neumann, c’erano solo due modi per generare numeri a caso: o usare un fenomeno cosi’ complesso che e’ impossibile prevederne il risultato(ad es. lancio di un dado) oppure con un fenomeno intrinsecamente casuale(ad es. decadimento radioattivo). Il computer invece puo’ solo fare le 4 operazioni aritmetiche . Come si possono generare numeri a caso con una macchina cosi’ semplice e prevedibile? Eppure i primi programmatori trovarono subito una semplice ricetta che potete vedere in funzione in questo applet :

  1. Partite da un numero qualsiasi (quello indicato nella finestra “seed”).
  2. Moltiplicatelo per un altro numero P1 (nella finestra dello stesso nome).
  3. Aggiungetegli il numero P2 (della finestra omonima).
  4. Dividete il risultato per N prendendo il resto della divisione.

Otterrete cosi’ il primo numero a “caso”. Per ottenere il secondo basta ripetere 1-4 sul numero ottenuto e cosi’ per il terzo,etc.
Alcune osservazioni ora sono necessarie:

  • I numeri cosi’ calcolati non sono a caso nello stesso senso di un lancio di dadi perche’ sappiamo esattamente come calcolarli ma sono a caso nel senso che presentano le stesse proprieta’ dei numeri a caso (per esempio nel grafico appaiono distribuiti senza formare nessuna configurazione).
  • Prima o poi riotteniamo il numero di partenza e la sequenza si ripete.

I numeri cosi’ ottenuti vengono detti percio’ pseudocasuali perche non sono in effetti casuali ma possono lo stesso servire in tutti quei programmi in cui abbiamo bisogno di simulare un fenomeno naturale in cui compare il caso (come i due fenomeni citati prima). Non tutte le sequenze che si ottengono sono buone da questo punto di vista. Facendo esperimenti con l’applet dovreste scoprire proprio questo. Infatti la rappresentazione grafica permette di scoprire sequenze che hanno problemi perche’ magari si ripetono molto presto ed inoltre generano delle configurazioni.
Ma la storia della generazione di numeri pseudocasuali ha ancora un’altro interessante sviluppo. Come mai un metodo cosi’ semplice genera dei numeri che hanno proprieta’ simili a quelle di fenomeni naturali cosi’ complessi? E’ stato riflettendo su questo che alcuni ricercatori hanno scoperto un terzo modo di generare valori a caso :il cosiddetto caos deterministico. Cioe’ la natura, in alcuni fenomeni fisici di per se regolati da leggi semplici, sembra comportarsi esattamente come il computer, dando luogo a risultati imprevedibili. Come mai? Il motivo per cui il metodo prima visto genera numeri a caso e’ che basta una piccola variazione del valore iniziale (il seme o seed) per generare una sequenza completamente diversa. Alcuni fenomeni naturali sono altrettanto sensibili alle condizioni iniziali(e’ il cosiddetto effetto farfalla) :una piccola variazione produce risultati inaspettati e quindi in definitiva il caso. A meno di non dover presupporre di poter conoscere il risultato di una misura con infinita precisione o nel caso di un computer di poter fare dei calcoli con precisione infinita. Infatti nella sequenza 1-4 e’ proprio il passo 4 a introdurre le grandi variazioni che producono il caso.

Commenti:

Altri applet di concetti base

Altri applet su caos e frattali e informatica

Il materiale ha come indirizzo http://www.math.utah.edu/~alfeld/Random/Random.html

Il suo autore e’ Peter Alfeld.

Titolo in inglese: Random Number Generators .

Risorsa trovata con questa ricerca.

Ricerca di pagine che hanno link a questo materiale .

Tweet

Leave a Reply

Your email address will not be published. Required fields are marked *