Passeggiate casuali
Senza memoria, a passo costante in due direzioni ortogonali, simmetriche: simulazioni.
Per creare una lista di queste scelte con Javascript
dP = new Array(n).fill().map(
() => (Math.random() < 0.5)?
[2*Math.round(Math.random()) - 1, 0]:
[0, 2*Math.round(Math.random()) - 1]
)
oppure, più semplicemente:
dP_0 = [[1,0],[0,1],[-1,0],[0,-1]];
dP = new Array(n).fill().map(() => dP_0[Math.floor(Math.random()*4)])
Le cumulate si ottengono ad esempio nel modo seguente
P = v.reduce((P,dP,i) =>
[...P, [P[i][0] + dP[0], P[i][1] + dP[1]] ]
,[[0,0]]
)
La sola posizione finale si può ottenere nel modo seguente.
P_fin = v.reduce((P,dP) => [P[0]+ dP[0], P[1]+dP[1]], [0,0])