Passeggiate casuali

Senza memoria, a passo costante, simmetriche in due direzioni ortogonali, composizione di passeggiate casuali 1-dimensionali lungo ciascuna direzione.

Analizziamo il caso in cui la passeggiata casuale sia frutto di due movimenti contemporanei lungo le due direzioni.

v_x = new Array(n).fill().map(x => 2*Math.round(Math.random())-1); v_y = new Array(n).fill().map(x => 2*Math.round(Math.random())-1);

Il passo è dunque $\sqrt2$ e le posizioni si possono ottenere nel modo seguente.

x = [0,...v_x.map((sum => value => sum += value)(0))]; y = [0,...v_y.map((sum => value => sum += value)(0))]
Alternativamente si possono utilizzare le istruzioni seguenti.
v = new Array(n).fill().map(x => [2*Math.round(Math.random())-1, 2*Math.round(Math.random())-1]); P = [[0,0],...V.map((sum => value => sum = [sum[0] + value[0], sum[1] + value[1]])([0, 0]))];

Ad esempio per passi si ottiene:


Per avere una valutazione approssimata del numero di modi di raggiungere un certo punto in passi basandosi sulla ripetizione di passeggiate, si può moltiplicare per $4^\text{numero di passi}$ la frequenza relativa con cui si raggiunge una posizione finale.

In questo caso naturalmente il numero dei percorsi che portano al punto di coordinate $(x,y)$ con n passi lungo ciascuna direzione è \[\begin{cases}\binom{n}{\frac{n+x}{2}}\cdot \binom{n}{\frac{n+y}{2}}&\quad \text{per n+x, n+y pari} \\ 0 &\quad \text{altrimenti} \end{cases}\] ovvero i coefficienti dello sviluppo di $\Big((x+x^{-1})(y+y^{-1})\Big)^n$.

❮❮ ❯❯