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]))];
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$.