Considere el siguiente proceso estocástico, llamado proceso de exclusión simple totalmente asimétrico (TASEP), sobre los números enteros $ \mathbb {Z}$ :
El proceso evoluciona en pasos de tiempo discretos $T = 1, 2, \ldots \infty $ . 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)