Paridad Las consideraciones dan una solución muy limpia, utilizando una maquinaria sorprendentemente sencilla: sin cadenas de Markov, sin expectativas iteradas y sólo con sumas de nivel escolar. La idea básica es que si la araña se ha movido un número par de veces en el $x$ dirección, ha vuelto a su $x$ coordenada así que no puede estar en la posición de la hormiga. Si se ha movido un número impar de veces en el $x$ dirección, entonces su $x$ coordenada coincide con la de la hormiga. Sólo si se ha movido un número impar de veces en las tres direcciones coincidirá con la $x$ , $y$ y $z$ coordenadas de la hormiga.
Inicialmente la araña ha hecho cero movimientos en cualquiera de las tres direcciones, por lo que la paridad para cada dirección es par. Las tres paridades tienen que ser volteadas para llegar a la hormiga.
Después del primer movimiento de la araña (etiquetemos esa dirección $x$ ), exactamente una dirección tiene paridad impar y las otras dos ( $y$ y $z$ ) son pares. Para atrapar a la hormiga, sólo hay que invertir esas dos paridades. Como eso no se puede conseguir en un número impar de movimientos posteriores, a partir de ahora consideramos pares de movimientos. Hay nueve combinaciones posibles para el primer movimiento emparejado:
$$(x,x), \,(x,y), \,(x,z), \,(y,x), \,(y,y), \,(y,z), \,(z,x), \,(z,y), \text{or} \,(z,z)$$
Tenemos que movernos en el $y$ y $z$ direcciones para llegar a la hormiga después de un movimiento emparejado, y dos de cada nueve combinaciones lo conseguirán: $(y,z)$ y $(z,y)$ garantizaría que las tres paridades son impar.
Las otras siete combinaciones dejan un impar y dos paridades. Los tres movimientos repetidos, $(x,x)$ , $(y,y)$ o $(z,z)$ , deja todas las paridades sin cambiar, por lo que seguimos necesitando una $y$ y una $z$ movimiento para llegar a la hormiga. Los otros pares contienen dos movimientos distintos, incluyendo uno en el $x$ dirección. Esto cambia la paridad de $x$ y una de las otras paridades (ya sea $y$ o $z$ ) por lo que aún nos queda un impar y dos paritarios. Por ejemplo, el par $(x,z)$ nos hace falta uno más $x$ y uno más $y$ para llegar a la hormiga: una situación equivalente (después de reetiquetar los ejes) a la que teníamos antes. A continuación, podemos analizar el siguiente movimiento emparejado de la misma manera.
En general, los movimientos emparejados comienzan con un impar y dos paridades, y terminarán con tres paridades de impar (con probabilidad $\frac{2}{9}$ ) y la captura inmediata de la hormiga, o con un impar y dos paridades (con probabilidad $\frac{7}{9}$ ) que nos devuelve a la misma situación.
Dejemos que $M$ sea el número de movimientos emparejados necesarios para llegar a la hormiga. Es evidente que $M$ sigue la distribución geométrica en el soporte $\{1, 2, 3, \dots\}$ con probabilidad de éxito $p = \frac{2}{9}$ por lo que tiene de medio $\mathbb{E}(M) = p^{-1} = \frac{9}{2} = 4.5$ . Dejemos que $N$ sea el número total de movimientos necesarios, incluyendo el movimiento inicial y el $M$ posteriores movimientos emparejados. Entonces $N = 2M + 1$ así, aplicando la linealidad de las expectativas, $\mathbb{E}(N) = 2\mathbb{E}(M) + 1 = 2 \times 4.5 + 1 = 10$ .
Como alternativa, puede observar $P(M \geq m) = (\frac{7}{9})^{m-1}$ y aplicar la conocida fórmula del media de una distribución discreta que sólo toma valores enteros no negativos , $\mathbb{E}(M)=\sum_{m=1}^\infty P(M\geq m)$ . Esto da $\mathbb{E}(M)=\sum_{m=1}^\infty (\frac{7}{9})^{m-1}$ que es una serie geométrica con el primer término $a=1$ y la relación común $r=\frac{7}{9}$ por lo que ha sumado $\frac{a}{1-r} = \frac{1}{1-7/9}=\frac{1}{2/9}=\frac{9}{2}$ . Podemos entonces tomar $\mathbb{E}(N)$ como antes.
Comparación con las soluciones de la cadena de Markov
¿Cómo podría haber detectado esto a partir de la matriz de transición de la cadena de Markov? Utilizando la notación de @DLDahly, los estados de la matriz de transición corresponden a mi descripción del número de direcciones con paridad impar.
La matriz de transición de un paso es
\begin{equation} \mathbf{P} = \left[\begin{array}{cccc} P_{S \to S} & P_{S \to A}& P_{S \to B} & P_{S \to E} \\ P_{A \to S} & P_{A \to A}& P_{A \to B} & P_{A \to E} \\ P_{B \to S} & P_{B \to A}& P_{B \to B} & P_{B \to E} \\ P_{E \to S} & P_{E \to A} & P_{E \to B}& P_{E \to E} \\ \end{array} \ right] = \left[ \begin{array}{cccc} 0 & 1 & 0 & 0 \\ 1/3 & 0 & 2/3 & 0 \\ 0 & 2/3 & 0 & 1/3 \\ 0 & 0 & 0 & 1 \\ \end{array} \[derecha] \N - fin {equation}
La primera fila nos muestra que después de un movimiento, la araña está garantizada en el estado A (un impar y dos paridades). La matriz de transición de dos pasos es:
\begin{equation} \mathbf{P}^{(2)} = \mathbf{P}^{2} = \left[\begin{array}{cccc} 1/3 & 0 & 2/3 & 0 \\ 0 & 7/9 & 0 & 2/9 \\ 2/9 & 0 & 4/9 & 1/3 \\ 0 & 0 & 0 & 1 \\ \end{array} \[derecha] \N - fin {equation}
La segunda fila nos muestra que una vez que la araña ha entrado en el estado A, en dos movimientos de tiempo ha vuelto al estado A con probabilidad $7/9$ o ha alcanzado el estado E (todas las paridades Impares) y ha capturado a la hormiga, con probabilidad $2/9$ . Así que habiendo alcanzado el estado A, vemos a partir de la matriz de transición de dos pasos que el número de movimientos de dos pasos requeridos puede ser analizado usando la distribución geométrica como arriba. No es así como encontré mi solución, pero a veces vale la pena calcular las primeras potencias de la matriz de transición para ver si se puede explotar un patrón útil como éste. A veces he descubierto que esto da soluciones más sencillas que tener que invertir una matriz o realizar una eigendecomposición a mano, algo que, hay que reconocerlo, sólo es realmente relevante en una situación de examen o entrevista.
7 votos
¿Deberes? ¿Qué has probado hasta ahora?
0 votos
En cuanto a las cadenas de Markov, aquí hay una gran introducción setosa.io/blog/2014/07/26/markov-chains
1 votos
Normalmente, este tipo de trabajo rutinario debe marcarse con el
self-study
y seguir las directrices en su etiqueta wiki . Por favor, edite esta pregunta e inclúyala en futuras preguntas similares5 votos
@GarethMcCaughan - No, era una pregunta de la entrevista.
0 votos
Siguiendo a @alesc he hecho un JavaScript Plunker. plnkr.co/edit/jYQVDI
0 votos
@ElizabethSusanJoseph ¿tiene curiosidad por saber qué entrevista?
0 votos
@jmb.mage: También he considerado usar JavaScript, pero lo abandoné por las siguientes razones: (1) mucho más lento que Java, (2) la función Random no es muy buena (a menos que uses
window.crypto
), y (3) mucho más complicado escribir una aplicación multihilo (como es la mía).