Pagina Principale

Passeggiata in due direzioni

Analizziamo il caso in cui l’ubriaco si muove, con passo costante, seguendo l'angolo $\theta \in [0,2\pi[$ a caso secondo una legge uniforme.

Per creare una lista di queste scelte con Javascript

var teta=new Array(n).fill().map(() => Math.random()*2*Math.PI)
per cui le posizioni via via raggiunte
var P=v.reduce( (total,x,i)=> [...total, (i>0)?[total[i-1][0]+Math.cos(x),total[i-1][1]+Math.sin(x)]: [Math.cos(x),Math.sin(x)] ], [] );

Così ad esempio per passi si ottiene:


Una trattazione di queste passeggiate che porta a valutare $\sqrt n$ la distanza media coperta rapportata alla lunghezza del passo è svolta ad esempio in Random Walk--2-Dimensional mediante l'uso dei numeri complessi, così come di seguito si può vedere una simulazione in GeoGebra che fa uso del formalismo dei numeri complessi.
Anziché effettuare una scelta uniforme dell'angolo si può ricorrere alla distribuzione normale per simulare ad esempio lo scivolamento di una goccia di acqua lungo un vetro per gravità.

Analizziamo il caso in cui l’ubriaco si muove, con passo costante, seguendo l'angolo $\theta \in [0,2\pi[$ a caso ma attratto da un punto fisso ad esempio secondo una legge di distribuzione normale che ha per media l'inclinazione del vettore che indica il punto fisso rispetto alla posizione attualmente raggiunta e eventualmente per varianza un valore eventualmente dipendente dalla distanza dal punto di attrazione.

Per creare una scelta anziché uniforme come si può fare con Math.random() si può utilizzare il teorema del limite centrale come già abbiamo visto sommando più variabili uniformi e servirsi di una function come la seguente:

function normal(mu, sigma, nsamples){ if(!nsamples) nsamples = 6 // oppure 3? if(!sigma) sigma = 1 if(!mu) mu=0 var run_total = 0 for(var i=0 ; i<nsamples ; i++){ run_total += Math.random() } return sigma*(run_total - nsamples/2)/Math.sqrt(nsamples/12) + mu //sigma*(run_total - nsamples/2)/(nsamples/2) + mu }

Così ad esempio per passi con attrattore in () e considerando $\sigma^2=$ si ottiene: