Está en la página 1de 3

Caminata Aleatoria 1D

Resumen
A continuación se mostrará un resumen detallado de lo que se conoce en literatura como “Caminata
Aleatoria” o en algunas otras fuentes como “La caminata del borracho”. A primera instancia mostraremos
algo de la teoría que existe de fondo de este problema estadistico, posteriormente se mostrará un código
escrito en un lenguaje de programación conocido como Python.

Un paseo aleatorio es un objeto matemático, conocido como un proceso estocástico o aleatorio, que describe
un trazado que consiste en una sucesión de pasos aleatorios en algún espacio matemático como los enteros.
Un ejemplo elemental de un paseo aleatorio es el paseo aleatorio en la línea numélica entera, que comienza
en 0 y en cada paso se mueve +1 o -1 con la misma probabilidad. Otros ejemplos incluyen el camino trazado
por una molécula a medida que viaja en un líquido o un gas, el camino de búsqueda de un animal forraje,
el precio de una acción fluctuante y el estado financiero de un jugador pueden ser aproximados por modelos
de paseo aleatorios, a pesar de que pueden no ser verdaderamente aleatorios en realidad. Como ilustran esos
ejemplos, los paseos aleatorios tienen aplicaciones para muchos campos científicos, incluyendo la ecología,
la psicología, la informática, la física, la química, la biología, así como la economía. Los paseos aleatorios
explican los comportamientos observados de muchos procesos en estos campos y, por lo tanto, sirven como un
modelo fundamental para la actividad estocástica registrada. Como una aplicación más matemática, el valor de
pi se puede aproximar mediante el uso de paseo aleatorio en el entorno de modelado basado en agentes.
Para empezar vamos a considerar una partícula en una dimensión que realiza desplazamientos sucesivos de
una misma longitud de tamaño l, existe una probabilidad p de moverse a la derecha y por ende una probabilidad
q = 1 − p de moverse hacia la iquierda.

Entonces la probabilidad PN (m) de que el caminante se encuentre en una posición x = ml después de ha-
ber dado N pasos es la siguiente:
N! N +m N −m
PN (m) = N +m
 N −m  p 2 q 2 (1)
2
! 2 !
Por otra parte, si suponemos que el caminante siempre da un paso con una constante de tiempo τ que
separa uno y al otro entonces vamos a interpretar a PN (m) como la probabilidad de encontrar a la partícula
en la posición x = ml al tiempo t = N τ . Hemos de notar, que si deseamos legar a la posición x = ml al
tiempo t = (N + 1)τ el caminante debería estar posicionado en x = (m + 1)l y posteriormete moverse hacia
la izquierda, o en su defecto estar en la posición x = (m − 1)l y consecuentemente moverse hacia la derecha,
todo esto para un tiempo t = N τ .

Esto en términos de la probabilidad se puede escribir como:

PN +1 (m) = pPN (m − 1) + qPN (m + 1). (2)

Si suponemos que la probabilidad de moverse a la izquierda o derecha son las mismas, es decir p = q = 1/2
y si notamos que
PN +1 − PN ∂P
∼ (3)
τ ∂t
1
cuando τ → 0.

Similarmente podemos notar que

P (m − 1) + P (m + 1) − 2P (m) ∂ 2P
∼ (4)
l2 ∂x2
si l → 0. Por ende, de la combinación de (2), (3) y (4) tenemos la siguiente ecuación

∂P l2 ∂ 2 P
= (5)
∂t 2τ ∂x2
A este tipo de ecuaciones se le conoce como ecuación de difusión, y esta en particular tiene un coeficiente de
difusión D = l2 /(2τ ).
A continuación se muestra el código de la caminata aleatoria escrito en python:

import numpy as np
import matplotlib.pyplot as plt
def Randomwalk1D(n): #n here is the no. of steps that we require
x = 0
y = 0
xposition = [0] #starting from origin (0,0)
yposition = [0]
for i in range (1,n+1):
step = np.random.uniform(0,1)
if step < 0.5: # if step is less than 0.5 we move up
x += 1
y += 1 #moving up in u direction
if step > 0.5: # if step is greater than 0.5 we move down
x += 1
y += -1 #moving down in y direction

xposition.append(x)
yposition.append(y)
return [xposition,yposition]
Randwalk = Randomwalk1D(1000) #creating an object for the Randomwalk1D class and
plt.plot(Randwalk[0],Randwalk[1],’r-’, label = "Randwalk1D") # ’r-’ makes the co
plt.title("1-D Random Walks")
plt.show()

2
Figura 1: Gráfica del caminante aleatorio

También podría gustarte