Considere el siguiente proceso:
Hay contenedores dispuestos de arriba a abajo. Inicialmente, cada contenedor contiene una bola. En cada paso, nosotros
- recoger una pelota uniformemente al azar y
- mueve todas las bolas desde el contenedor que contiene al contenedor debajo de él. Si ya era el contenedor más bajo, eliminamos las bolas del proceso.
¿Cuántos pasos toma en espera hasta que el proceso finalice, es decir, hasta que todo que se hayan eliminado bolas del proceso? ¿Se ha estudiado esto antes? ¿La respuesta se sigue fácilmente de técnicas conocidas?
En el mejor de los casos, el proceso puede finalizar después de pasos. En el peor de los casos, puede tomar Θ ( n 2 ) pasos. Sin embargo, ambos casos deberían ser muy improbables. Mi conjetura es que toma Θ ( n log n ) pasos e hice algunos experimentos que parecen confirmar esto.
(Tenga en cuenta que elegir un contenedor de manera uniforme al azar es un proceso muy diferente que obviamente tomará pasos para terminar).
Respuestas:
No es realmente una respuesta, sino un comentario extenso sobre la respuesta de András.
La respuesta de András contiene una buena intuición, aunque no creo que sea un cálculo riguroso del número esperado de pasos. Creo que es quizás una buena aproximación a una respuesta, pero no parece tratar adecuadamente los casos en que el contenedor debajo del contenedor ocupado más alto se vacía antes de que el contenedor superior se vacíe hacia abajo. Aún así, esta podría ser una aproximación razonable para hacer (no estoy seguro).
Su cálculo contiene un error que afecta la escala. Voy a tomar exactamente el mismo punto de partida, y rehacer y expandir el cálculo.
Se pierde un factor de p dentro de la suma, ya que la probabilidad de elegir aleatoriamente el contenedor correcto es lugar de1pn . Como resultado tenemos1n
donde es el enésimo número armónico . Para aproximar H n simplemente podemos reemplazar la sumatoria con una integral: H n ≈ ∫ n + 1 1 1Hn=∑np=11/p Hn . Por lo tanto, la escala esn(1+log(n+1))o aproximadamentenlog(n+1). Si bien esta escala no coincide exactamente con la escala del problema (vea la simulación a continuación), está casi exactamente por un factor delog(2).Hn≈∫n+111xdx=log(n+1) n(1+log(n+1)) nlog(n+1) log(2)
Círculos rojos: los puntos de datos de la simulación del proceso promediaron más de 10k ejecuciones. Verde: . Azul: n log ( n + 1 ) .nlog2(n+1) nlog(n+1)
fuente
Editar: estoy dejando esta respuesta tal como está (por ahora) para ilustrar el desordenado proceso de probar los teoremas, algo que queda fuera de los artículos publicados. La intuición central aquí es que es suficiente enfocarse en la bola superior, ya que barre todo debajo de ella. Consulte los comentarios (en particular, @Michael que señala que pueden existir lagunas) y la respuesta posterior de @ Joe sobre cómo se identificaron y corrigieron los errores. Me gusta especialmente el uso de experimentos por parte de Joe para verificar que las fórmulas fueran sensatas.
El límite inferior esnorte ( 1 + π2/ 6)n para el número esperado de pasos.
fuente