Trasformazione di Box-Muller: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: fix sezioni standard
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i. #IABot (v1.6)
Riga 27: Riga 27:
[[Immagine:BoxMullerTransformUsingPolarCoordinates.png|thumb|upright=1.8|Due valori distribuiti uniformemente, <math>u</math> e <math>v</math> vengono usati per ottenere il valore <math>s=R^2</math>, anch'esso uniformemente distribuito. Le definizioni di seno e coseno vengono quindi applicate alla forma base della trasformazione di Box-Muller per evitare l'uso di funzioni trigonometriche.]]
[[Immagine:BoxMullerTransformUsingPolarCoordinates.png|thumb|upright=1.8|Due valori distribuiti uniformemente, <math>u</math> e <math>v</math> vengono usati per ottenere il valore <math>s=R^2</math>, anch'esso uniformemente distribuito. Le definizioni di seno e coseno vengono quindi applicate alla forma base della trasformazione di Box-Muller per evitare l'uso di funzioni trigonometriche.]]


La forma polare viene attribuita da Devroye<ref>{{en}} [http://cg.scs.carleton.ca/~luc/rnbookindex.html L. Devroye: 'Non-Uniform Random Variate Generation', Springer-Verlag, New York, 1986.]</ref> a Marsaglia. Viene citata senza attribuzione in Carter.<ref name="Carter">[ftp://ftp.taygeta.com/pub/publications/randnum.tar.Z Everett F. Carter, Jr., ''The Generation and Application of Random Numbers'', Forth Dimensions (1994), Vol. 16, No. 1 & 2.]</ref>
La forma polare viene attribuita da Devroye<ref>{{en}} [http://cg.scs.carleton.ca/~luc/rnbookindex.html L. Devroye: 'Non-Uniform Random Variate Generation', Springer-Verlag, New York, 1986.] {{webarchive|url=https://web.archive.org/web/20090505034911/http://cg.scs.carleton.ca/~luc/rnbookindex.html |data=5 maggio 2009 }}</ref> a Marsaglia. Viene citata senza attribuzione in Carter.<ref name="Carter">[ftp://ftp.taygeta.com/pub/publications/randnum.tar.Z Everett F. Carter, Jr., ''The Generation and Application of Random Numbers'', Forth Dimensions (1994), Vol. 16, No. 1 & 2.]</ref>


Assegnati <math>u</math> e <math>v</math>, indipendenti ed uniformemente distribuiti nell'intervallo chiuso <math>[-1,+1]</math>, si pone <math>s = R^2 = u^2 + v^2</math>. Se <math>s=0</math> o <math>s > 1</math>, si trascurano <math>u</math> e <math>v</math> e si considera un'altra coppia <math>(u,v)</math>. Si continua fino a trovare una coppia con <math>s</math> nell'intervallo aperto <math>(0,1)</math>. Dal momento che <math>u</math> e <math>v</math> sono distribuiti uniformemente e poiché solamente i punti all'interno della circonferenza unitaria sono stati accettati, anche i valori di <math>s</math> saranno distribuiti uniformemente nell'intervallo aperto <math>(0,1]</math> .
Assegnati <math>u</math> e <math>v</math>, indipendenti ed uniformemente distribuiti nell'intervallo chiuso <math>[-1,+1]</math>, si pone <math>s = R^2 = u^2 + v^2</math>. Se <math>s=0</math> o <math>s > 1</math>, si trascurano <math>u</math> e <math>v</math> e si considera un'altra coppia <math>(u,v)</math>. Si continua fino a trovare una coppia con <math>s</math> nell'intervallo aperto <math>(0,1)</math>. Dal momento che <math>u</math> e <math>v</math> sono distribuiti uniformemente e poiché solamente i punti all'interno della circonferenza unitaria sono stati accettati, anche i valori di <math>s</math> saranno distribuiti uniformemente nell'intervallo aperto <math>(0,1]</math> .

Versione delle 23:42, 2 nov 2017

Diagramma della trasformazione di Box Muller. I cerchi iniziali, a distanza uniforme dall'origine sono trasformati in un insieme di cerchi centrati nell'origine più concentrati vicino all'origine. I cerchi più grandi vengono mandati nei cerchi più piccoli e viceversa.

La trasformazione di Box-Muller (George Edward Pelham Box e Mervin Edgar Muller, 1958)[1] è un metodo per generare coppie di numeri casuali indipendenti e distribuiti gaussianamente con media nulla e varianza uno.

La trasformazione viene comunemente espressa in due forme. La forma principale è quella del lavoro originale: si campionano due numeri dalla distribuzione uniforme sull'intervallo e si ricavano due numeri distribuiti normalmente. La forma polare campiona due numeri su un intervallo differente () e permette di ricavare due numeri distribuiti normalmente senza l'uso delle funzioni seno e coseno.

Forma base

Siano e due variabili aleatorie indipendenti ed uniformemente distribuite nell'intervallo . Sia

e

Allora Z0 e Z1 sono variabili aleatorie indipendenti con distribuzione normale di deviazione standard unitaria.

La dimostrazione[2] è basata sul fatto che, in un sistema cartesiano bidimensionale nel quale le coordinate X e Y sono descritte da due variabili casuali indipendenti normalmente distribuite, le variabili casuali R2 e nelle corrispondenti coordinate polari sono a loro volta indipendenti e possono essere espresse come

e

Forma polare

Due valori distribuiti uniformemente, e vengono usati per ottenere il valore , anch'esso uniformemente distribuito. Le definizioni di seno e coseno vengono quindi applicate alla forma base della trasformazione di Box-Muller per evitare l'uso di funzioni trigonometriche.

La forma polare viene attribuita da Devroye[3] a Marsaglia. Viene citata senza attribuzione in Carter.[4]

Assegnati e , indipendenti ed uniformemente distribuiti nell'intervallo chiuso , si pone . Se o , si trascurano e e si considera un'altra coppia . Si continua fino a trovare una coppia con nell'intervallo aperto . Dal momento che e sono distribuiti uniformemente e poiché solamente i punti all'interno della circonferenza unitaria sono stati accettati, anche i valori di saranno distribuiti uniformemente nell'intervallo aperto .

Il valore di si identifica con quello della forma base, . Come mostrato in figura, i valori di e nella forma base possono essere sostituiti con i rapporti e rispettivamente. Il vantaggio è dato dalla mancata valutazione delle funzioni trigonometriche che è un'operazione computazionalmente più onerosa di un rapporto. Così come per la forma base, si sono ottenute due variabili gaussiane a varianza unitaria.

e

Confronto fra le due forme

La forma polare differisce da quella base in quanto è un esempio di tecnica di rigetto. Vengono scartati alcuni numeri casuali, ma l'algoritmo è più veloce della forma base perché meno oneroso da valutare numericamente, purché il generatore di numeri casuali sia relativamente efficiente, e tipicamente più robusto.[4]

Si evita il l'utilizzo delle funzioni trigonometriche che sono più costose delle divisioni; vengono scartate 1 − π/4 ≈ 21.46% del totale di coppie generate, ovvero si scartano 4/π − 1 ≈ 27.32% coppie di numeri casuali uniformemente distribuiti per ciascuna coppia di numeri casuali normalmente distribuiti, richiedendo 4/π ≈ 1.2732 numeri di input per numero generato.

La forma base richiede tre moltiplicazioni, un logaritmo, una radice quadrata ed una funzione trigonometrica per ciascun numero casuale normalmente distribuito[5]

La forma polare richiede due moltiplicazioni, un logaritmo, una radice quadrata ed una divisione per ciascun numero gaussiano. L'effetto è quello di sostituire una moltiplicazione ed una funzione trigonometrica con una sola divisione.

La trasformata di Box-Muller viene utilizzata in simulazioni numeriche di dinamica molecolare nel tramite il metodo Monte Carlo o per esempio per campionare la distribuzione di Maxwell-Boltzmann.

Bibliografia

  1. ^ (EN) G. E. P. Box and Mervin E. Muller, A Note on the Generation of Random Normal Deviates, The Annals of Mathematical Statistics (1958), Vol. 29, No. 2 pp. 610-611
  2. ^ (EN) Sheldon Ross, A First Course in Probability, (2002), p.279-81
  3. ^ (EN) L. Devroye: 'Non-Uniform Random Variate Generation', Springer-Verlag, New York, 1986. Archiviato il 5 maggio 2009 in Internet Archive.
  4. ^ a b Everett F. Carter, Jr., The Generation and Application of Random Numbers, Forth Dimensions (1994), Vol. 16, No. 1 & 2.
  5. ^ Il calcolo di è contato come singola multiplicazione perché il valore può essere calcolato precedentemente ed utilizzato in seguito.

Voci correlate

Collegamenti esterni

  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica