Lo primero que simulamos es un caminante aleatorio en una dimension donde la densidad de probabilidad esta dada por la ecuación.
Donde C es la constante de difusion.
La solucion a esta ecuación es lo que conocemos como Ecuación de Difusión:
Los codigos de esta simulacion son:
-
Random_Walk: Simula un caminante aleatorio en un una dimension, basado en un número aletorio de una distribución gaussiana, regresa un archivo con las posiciones del caminante en X.
-
Random_Walk_Ensemble: Simula un ensamble de caminantes aleatorios en un una dimension, basados en un número aletorio de una distribución gaussiana, regresa un archivos con las posiciones X en el ensamble al tiempo t.
Para un proceso Markoviano el sistema evolucion con una ecuación maestra de la forma:
O escrita en forma matricial:
El proceso markoviano simulado es uno de dos estados representado por la siguiente cadena:
Para el sistema la matriz de transición se escribe como:
El proceso simulado tiene solución analítica para los tiempos medios de primer paso
Para simular este proceso, los códigos son:
-
FST_first_step_time: Barre las probabilidades de P desde 0.01 hasta 0.5, nos devuelve un archivo que contiene la probabilidad y los tiempos de primer paso, es decir, los tiempos de pasar del estado 0 al estado 1 para cada una de las probabilidades. Con base en estos resultados podemos calcular el tiempo medio de primer paso.
-
FRT_first_return_time: Barre las probabilidades de P desde 0.01 hasta 0.5, nos devuelve un archivo que contiene la probabilidad y los tiempos de primer restorn, es decir, los tiempos de pasar del estado 0 y regresar al estado 0 para cada una de las probabilidades. Con base en estos resultados podemos calcular el tiempo medio de primer retorno.
-
Two_level_FST: Incorpora y simplifica los dos códigos anteriores, donde el parametro target nos indica el proceso a calcular (ya sea primer paso o retorno).
El siguiente caso de estudio, es el de un caminante aletorio dentro de un anillo, donde el caminante comienza en un nodo aletorio y apartir de ahi tiene igual probabilidad de pasar a alguno de sus vecinos, la estructura considerada se muestra en la siguiente imagen:
En la imagen se muestra un anillo de 10 nodos, sin embargo, el caminante fue simulado en una red de 50 nodos, nuevamente el obejtivo fue medir los tiempos medios de primer paso
Con
El resultado de la simulación de los tiempos medios de primer paso, por nodo, se muestra en la siguiente figura.:
El codigo que genera la simulación es: Caminante_Aleatorio_Anillo.
Otro resultado producto de la simulacion es el conteo de frecuencias de los tiempos por nodo, recordemos que el tiempo medio de primer paso
Una vez teniendo los resultados para caminantes en un anillo, podemos generalizar el concepto a cualquier tipo de red, el siguiente paso es entonces simular caminantes aletorios dentro de redes con cualquier topologia, en este caso se ha elegido una red de Barabassi-Albert con 100 Nodos, similar a la mostrada a continuación:
Es importante mencionar que podemos tener distintos tipos de caminantes aletorios dentro de una red, dependiendo de de como se defina la matriz de pesos (o transición), en este caso simulemos el caso mas simple, donde la matriz de pesos esta dada por:
Con
Otra consideracion importante es que la red sea simple, es decir, que cumpla con:
Antes de calcular los tiempos medios de primer paso
Partiendo de la ecuación maestra:
Es posible escribir una relación de balance detallado (Para un caminante aleatorio en una red dirigida que cumpa los puntos mencionados anteriormente) de la forma:
Si tomamos la distribución estacionaria de esta ecuación de balance detallado, tenemos que:
Tomando la suma sobre todos los nodos a ambos lados.
Dado que
Esta relación es importante ya que el teorema de KAC, nos dice que el tiempo medio de primer retorno es inversamente proporcional a esta cantidad, en concreto, el resultado es:
Nuestro primer objetivo es comprobar la ecuación para distribución estacionaria
Si comparamos este resultado simulado con el téorico $P^{\infty}j = \frac{K_j}{\sum{l=1}^N K_l}$ vemos que empatan correctamente.
Si vemos la distribución estacionaria simulada ($P_i^{\infty}(MC)$) en función del grado del nodo obtenemos una recta.
Ahora estamos en condiciones de obtener el tiempo medio de primer retorno
El tiempo medio de primer paso
De forma que, los eigenvalores y eigenvectores estan definidos por:
Con esto la expresión analitica para el