Вы находитесь на странице: 1из 7

Analisis numerico.

Metodos del Caminante aleatorio L13

1.

Modelo del caminante aleatorio y Procesos de difusi


on

El modelo del caminante aleatorio (RW) o movimiento aleatorio se usa ampliamente


tanto en la fsica, biologa y otras ciencias afines. Ejemplos:
Fen
omenos de difusi
on de las moleculas en el agua y el movimiento Browniano de
las suspenciones coloidales en los lquidos
Modelamiento de cadenas polimericas largas,
Soluci
on de ecuaciones diferenciales, etc.

1.1.

Movimiento aleatorio unidimensional

Considerando un modelo simple que consiste en el movimiento de un objeto o caminante a lo largo de una linea recta, ademas asumimos que :
todos los pasos son de igual longitud l
La direcci
on de cada paso es independiente de la direccion del paso anterior
En cada paso de tiempo el caminante realiza un paso hacia la derecha con probabilidad p o paso hacia la izquierda con probabilidad q = 1 p.
Si N es el n
umero total de pasos, la posicion del caminante luego de N pasos estara en el
intervalo N l x N l.
Una de las preguntas fundamentales es calcular la probabilidad PN (x) de que el
caminante resulte en la posici
on x luego de realizar N pasos.
Conociendo esta probabilidad es posible calcular, por ejemplo, el desplazamiento
medio < xN > y la dispersi
on < x2N > del desplazamiento del caminante mediante
las f
ormulas.
Nl
X
< xN >=
PN (x)
(1)
x=N l

<

x2N

>=< x2N > < xN >2

< x2N >=

Nl
X

x2 PN (x)

(2)
(3)

x=N l

La promediaci
on se realiza para todas las posibles variantes de camino de N pasos.
En principio es posible obtener las magnitudes antes mancionadas analticamente.
Como resultado se obtiene por ejemplo,
< xN >= (p q)N l

(4)

< x2N >= 4pqN l2

(5)

Sin embargo es necesario estudiar el movimiento aleatorio mediante metodos numericos para aquellos casos en donde no existe soluciones analticas exactas.

Analisis numerico. Metodos del Caminante aleatorio L13

Existen 2 metodos de simulaci


on inportantes:
1. M
etodo combinatorio exacto: el n
umero y probabilidades de todos los movimientos para cada valor de N y x se calcula en forma explcita. Por ejemplo , para
N =3 y x=1 hay 3 variantes:
> >< p2 q
>< > pqp
< > > qp2
Por lo tanto P3 (1) = 3p2 q
En el caso unidimensional el n
umero total de variantes de movimiento es 2N , razon
por la cual es problem
atico para valores grandes de N
2. M
etodo Monte Carlo permite simular movimientos aleatorios que constan de muchos pasos. La idea consiste en generar gran cantidad de pasos con las probabilidades
buscadas, las cuales garantizan la pertenencia de los movimientos elegidos al conjunto total de posibles movimientos. Cuanto mayor es el n
umero de movimientos la
exactitud es mas alta.
Algoritmo de MC para la simulaci
on del caminante aleatorio unidimensional
1. Ingresar par
ametros iniciales: N
umero de pasos N , n
umero de eventos Ne , probabilidad p.
2. Evento 0 (Ne = 0)
3. Incrementar el n
umero de eventos en 1 (Ne = Ne + 1)
4. Ubicar al objeto en la posici
on inicial (x = x0 )
5. Generar un n
umero aleatorio r entre [0-1] de una distribucion uniforme.
6. Realizar un paso hacia la derecha si r p, en caso contrario un paso hacia la
izquierda
7. Repitir los pasos 4 - 6 , N veces
8. Acumular los valores de x, x2 y P (x) luego de cada evento
9. Repitir los pasos 3 - 8 Ne veces
10. Calcular los valores medios de x, x2 , la varianza y desplazamiento cuadratico medio.

Analisis numerico. Metodos del Caminante aleatorio L13


Listado del programa en F90
PROGRAM rw
! Programa que realiza el modelo unidimensional
! del caminante aleatorio mediante Monte Carlo
IMPLICIT NONE
REAL,DIMENSION (-128:128)::prob
INTEGER::ip,j,k,np,N,x
REAL::xcum,x2cum,p,rn
OPEN(unit=8,file=rw1.dat,action=write)
OPEN(unit=9,file=tt,action=write)
CALL inicio(p,N,np)
WRITE(8,FMT=*)# RW1d: N=,N,Nev=,Np,Prob.=,p
print*,N,p,np,N,p,np
do ip=1,np
CALL walk(x,p,N)
CALL data(x,xcum,x2cum,prob)
write(9,(2i4))x,ip
end do
call medio(N,np,xcum,x2cum,prob)
close(8)
close(9)
!******************************
CONTAINS
SUBROUTINE inicio(p,N,np)
REAL::p
integer,intent(out)::N, np
print*,Np=?
read*,np
print*,probabilidad p ?
read*,p
print*,numero de pasos?
read*,N
END SUBROUTINE
SUBROUTINE walk(x,p,N)
real::rn
integer::i,x
integer::N
real::p
x=0
do i=1,N
call random_number(rn)
if (rn<=p) then
x=x+1
else
x=x-1
end if
end do
END SUBROUTINE

Analisis numerico. Metodos del Caminante aleatorio L13


SUBROUTINE data(x,xcum,x2cum,prob)
real::xcum,x2cum
integer::x
real,dimension(-128:128)::prob
xcum=xcum+real(x)
x2cum=x2cum+x*x
prob(x)=prob(x)+1
END SUBROUTINE
!
SUBROUTINE medio(N,np,xcum,x2cum,prob)
integer::N,np
real::xcum,x2cum,xbar,norm,varian,sigma,xm,x2m
real,dimension(-128:128)::prob
print*,np,xcum,x2cum
norm=1.0/np
xm=xcum*norm
x2m=x2cum*norm
do x=-N,N
prob(x)=prob(x)*norm
if (prob(x)>0) write(8,(i4,f8.4)) x,prob(x)
end do
print*,xm,xm,x2m,norm
varian=x2m-xm*xm
sigma=sqrt(varian)
print*,despl.medio =,xm
print*,sigma=,sigma
END SUBROUTINE
END PROGRAM rw

Analisis numerico. Metodos del Caminante aleatorio L13

Figura 1: p=0.5,Numero de pasos:100, numero de eventos:100


Alguna ilustraciones que se obtiene con el programa RW

Analisis numerico. Metodos del Caminante aleatorio L13

Figura 2: p=0.5,Numero de pasos:100, numero de eventos:10000

Figura 3: p=0.65, Numero de pasos:100, numero de eventos:100000

Analisis numerico. Metodos del Caminante aleatorio L13

2.

Caminante aleatorio y fen


omeno de difusi
on

Veamos el problema del caminante aleatorio desde otro punto de vista: en el idioma
de la difusi
on de las moleculas en un gas enrarecido. Supongamos que la molecula recorre
una distancia L entre colisiones con otras moleculas. Si asumimos los desplazamientos
consecutivos de la molecula entre colisiones estadticamente independientes, entonces el
movimiento de la molecula es exactamente la misma que la del caminante aleatorio. El
movimiento de tales moleculas se puede describir como cierto proceso de difusion.
El proceso de difusi
on se caracteriza con una relacion lineal entre el tiempo t y el
desplazamiento cudr
atico medio,
< R(t)2 >= 2dDt

(6)

El coeficiente de proporcionalidad D se denomina coeficiente de autodifusi


on de las moleculas, d- dimensionalidad del espacio.
De las relaciones (5) y (6) se puede mostrar (para p=0.5) que D = l2 /2 , donde
= t/N .

Вам также может понравиться