Formalizando la respuesta de Sridhar y generalizándola a camarillas [matemáticas] N [/ matemáticas].
Defina [matemática] f (N) [/ matemática] como el número de pasos necesarios para visitar todos los nodos de una camarilla [matemática] N [/ matemática]. Estamos interesados en encontrar [matemáticas] E [f (N)] [/ matemáticas].
Defina [math] g (k) [/ math] como el número de pasos dados entre visitar [math] k [/ math] y [math] k + 1 [/ math] nodos distintos. Es fácil ver eso :
- ¿Es posible elegir aleatoriamente un número de (0 a infinito), de modo que cada número tenga la misma probabilidad de ser elegido?
- ¿Cuál es la forma correcta de fusionar dos algoritmos de cifrado simples, sin causar un problema de cifrado?
- Cómo determinar el orden de visita de todas las hojas de un árbol enraizado, de modo que en cada paso visito una hoja cuyo camino desde la raíz contiene los nodos más no visitados
- ¿Por qué la mayoría de las entrevistas de empresas basadas en productos están obsesionadas con los algoritmos en lugar de las habilidades reales de resolución de problemas?
- ¿Cuál es la complejidad Big-O de una búsqueda lineal?
[matemáticas] f (N) [/ matemáticas] = [matemáticas] g (1) + g (2)… + g (N-1) [/ matemáticas]
Tenga en cuenta que esto no tiene [math] g (0) [/ math] porque el conejo tiene que comenzar en algún nodo.
De la linealidad de la expectación:
[matemáticas] E [f (N)] [/ matemáticas] = [matemáticas] E [g (1)] + E [g (2)]… + E [g (N-1)] [/ matemáticas]
Ahora intentemos resolver para [matemáticas] E [g (k)] [/ matemáticas]. Cuando ya hemos visitado [math] k [/ math] nodos, reviviríamos algunos nodos ya visitados con probabilidad [math] (k-1) / (N -1) [/ math] en cuyo caso nuevamente he visitado exactamente [math] k [/ math] nodos distintos y el número esperado de pasos restantes sería [math] E [g (k)] [/ math]. Si hubiéramos ido a un nodo no visitado, que sucede con la probabilidad [matemática] 1- (k-1) / (N-1) [/ matemática], habríamos visitado [matemática] k + 1 [/ matemática] distinta vértices y el número esperado de pasos restantes sería [matemática] 0 [/ matemática]. Asi que:
[matemáticas] E [g (k)] = [/ matemáticas] [matemáticas] 1 + (k-1) / (N-1) * E [g (k)] [/ matemáticas]
lo que da:
[matemáticas] E [g (k)] = (N-1) / (N – k) [/ matemáticas]
Al conectarlo en la ecuación que derivamos para [matemáticas] E [f (N)] [/ matemáticas], obtenemos:
[matemáticas] E [f (N)] = [/ matemáticas] [matemáticas] (N-1) / (N-1) + (N-1) / (N-2) [/ matemáticas] [matemáticas] +… + (N-1) / 1 [/ matemáticas]
Al resolverlo para [matemáticas] N = 4 [/ matemáticas], obtenemos [matemáticas] 3/3 + 3/2 + 3/1 = 5.5 [/ matemáticas]