Upload
erick-natividad
View
212
Download
0
Embed Size (px)
DESCRIPTION
num
Citation preview
Analisis numerico. Metodos del Caminante aleatorio L13 1
1. Modelo del caminante aleatorio y Procesos de difusion
El modelo del caminante aleatorio (RW) o movimiento aleatorio se usa ampliamentetanto en la fısica, biologıa y otras ciencias afines. Ejemplos:
Fenomenos de difusion de las moleculas en el agua y el movimiento Browniano delas suspenciones coloidales en los lıquidos
Modelamiento de cadenas polimericas largas,
Solucion de ecuaciones diferenciales, etc.
1.1. Movimiento aleatorio unidimensional
Considerando un modelo simple que consiste en el movimiento de un objeto o cami-nante a lo largo de una linea recta, ademas asumimos que :
todos los pasos son de igual longitud l
La direccion 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 probabi-lidad p o paso hacia la izquierda con probabilidad q = 1 − p.
Si N es el numero total de pasos, la posicion del caminante luego de N pasos estara en elintervalo Nl ≤ x ≤ Nl.
Una de las preguntas fundamentales es calcular la probabilidad PN (x) de que elcaminante resulte en la posicion x luego de realizar N pasos.
Conociendo esta probabilidad es posible calcular, por ejemplo, el desplazamientomedio < xN > y la dispersion < ∆x2N > del desplazamiento del caminante mediantelas formulas.
< xN >=
Nl∑x=−Nl
PN (x) (1)
< ∆x2N >=< x2N > − < xN >2 (2)
< x2N >=
Nl∑x=−Nl
x2PN (x) (3)
La promediacion se realiza para todas las posibles variantes de camino de N pasos.
En principio es posible obtener las magnitudes antes mancionadas analıticamente.Como resultado se obtiene por ejemplo,
< xN >= (p− q)Nl (4)
< x2N >= 4pqNl2 (5)
Sin embargo es necesario estudiar el movimiento aleatorio mediante metodos numeri-cos para aquellos casos en donde no existe soluciones analıticas exactas.
Analisis numerico. Metodos del Caminante aleatorio L13 2
Existen 2 metodos de simulacion inportantes:
1. Metodo combinatorio exacto: el numero y probabilidades de todos los movi-mientos para cada valor de N y x se calcula en forma explıcita. Por ejemplo , paraN=3 y x=1 hay 3 variantes:
−− > −− >< −− p2q−− >< −−−− > pqp< −−−− > −− > qp2
Por lo tanto P3(1) = 3p2q
En el caso unidimensional el numero total de variantes de movimiento es 2N , razonpor la cual es problematico para valores grandes de N
2. Metodo Monte Carlo permite simular movimientos aleatorios que constan de mu-chos pasos. La idea consiste en generar gran cantidad de pasos con las probabilidadesbuscadas, las cuales garantizan la pertenencia de los movimientos elegidos al con-junto total de posibles movimientos. Cuanto mayor es el numero de movimientos laexactitud es mas alta.
Algoritmo de MC para la simulacion del caminante aleatorio unidimensional
1. Ingresar parametros iniciales: Numero de pasos N , numero de eventos Ne, probabi-lidad p.
2. Evento 0 (Ne = 0)
3. Incrementar el numero de eventos en 1 (Ne = Ne + 1)
4. Ubicar al objeto en la posicion inicial (x = x0)
5. Generar un numero 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 laizquierda
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 3
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 4
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 5
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 6
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 7
2. Caminante aleatorio y fenomeno de difusion
Veamos el problema del caminante aleatorio desde otro punto de vista: en el idiomade la difusion de las moleculas en un gas enrarecido. Supongamos que la molecula recorreuna distancia L entre colisiones con otras moleculas. Si asumimos los desplazamientosconsecutivos de la molecula entre colisiones estadıticamente independientes, entonces elmovimiento de la molecula es exactamente la misma que la del caminante aleatorio. Elmovimiento de tales moleculas se puede describir como cierto proceso de difusion.
El proceso de difusion se caracteriza con una relacion lineal entre el tiempo t y eldesplazamiento cudratico medio,
< ∆R(t)2 >= 2dDt (6)
El coeficiente de proporcionalidad D se denomina coeficiente de autodifusion de las molecu-las, d- dimensionalidad del espacio.
De las relaciones (5) y (6) se puede mostrar (para p=0.5) que D = l2/2τ , dondeτ = t/N .