Considere el siguiente proceso estocástico, llamado proceso de exclusión simple totalmente asimétrico (TASEP), sobre los números enteros Z :
El proceso evoluciona en pasos de tiempo discretos T=1,2,…∞ . Denota el contenidos del entero n como x(n) . Inicialmente, en cada número entero n , x(n)=1 con probabilidad 0.5 y de otra manera x(n)=0 .
Si para algunos n tenemos que x(n)=1 y x(n+1)=0 entonces con probabilidad 0.5 en el próximo paso de tiempo tendremos x(n)=0 y x(n+1)=1 . (En otras palabras, cada 1 se mueve a la derecha con una probabilidad de 0,5, asumiendo que no hay un 1 bloqueándola en su nueva posición de objetivo).
Es simple ver que la distribución inicial (donde tenemos 1 con probabilidad 0.5 ) es estacionario. (Edición: Basado en la página 2 de este documento https://arxiv.org/abs/cond-mat/0101200 ), esto significa que en la expectativa debemos esperar que el número de 1 s pasando a través de n=0 para ser T/4 donde T es el número de pasos de tiempo que han pasado.
Ahora considere el siguiente programa, que he simulado en mi ordenador:
Inicializar una matriz de 0-1 a[-1000,1000] de tal manera que a[n] = 1 con una probabilidad de 0,5.
Simular el proceso estocástico anterior para 100 iteraciones. Cuente el número de veces que a[0] va de 0 a 1.
El resultado de este programa es consistentemente alrededor de 15 pero por el razonamiento anterior esperaríamos 25 . De hecho, parece que siempre será en promedio un 0.15 fracción del número de iteraciones (incluso haciendo 200, o 300 iteraciones a la vez).
Entonces, ¿las matemáticas están mal, o mi idea de simulación está mal?
El código real que usé: https://pastebin.com/iPz1S1fK ("count" es el número que sale como 15; prob(50) significa "con probabilidad 50"; Update() realiza una sola iteración del TASEP)