Considere o seguinte processo:
Existem compartimentos organizados de cima para baixo. Inicialmente, cada caixa contém uma bola. Em cada passo, nós
- escolha uma bola aleatória e
- mova todas as bolas da bandeja que contém para a bandeja abaixo dela. Se já era o compartimento mais baixo, removemos as bolas do processo.
Quantas etapas são necessárias na expectativa até o término do processo, ou seja, até que todas as bolas tenham sido removidas do processo? Isso já foi estudado antes? A resposta segue facilmente de técnicas conhecidas?
Na melhor das hipóteses, o processo pode terminar após etapas. Na pior das hipóteses, pode etapas . Ambos os casos devem ser muito improváveis. Minha conjectura é que são necessários passos e fiz algumas experiências que parecem confirmar isso.Θ ( n 2 ) Θ ( n log n )
(Observe que escolher uma lixeira uniformemente aleatoriamente é um processo muito diferente que obviamente levará etapas para concluir.)
Respostas:
Não é realmente uma resposta, mas um comentário extenso sobre a resposta de András.
A resposta de András contém uma boa intuição, embora eu não acredite que seja um cálculo rigoroso do número esperado de etapas. Acho que talvez seja uma boa aproximação a uma resposta, mas não parece lidar adequadamente com os casos em que a lixeira abaixo da lixeira ocupada mais alta fica vazia antes que a lixeira superior seja esvaziada para baixo. Ainda assim, essa pode ser uma aproximação razoável a ser feita (não tenho certeza).
Seu cálculo contém um erro que afeta a escala. Vou pegar exatamente o mesmo ponto de partida, refazer e expandir o cálculo.
Ele perde um fator de p dentro da soma, pois a probabilidade de escolher aleatoriamente o compartimento correto é vez de . Como resultado, temos 1pn 1 1n
onde é o enésimo número do harmônico . Para aproximar , podemos simplesmente substituir a soma por uma integral: . Portanto, a escala é ou aproximadamente . Embora essa escala não corresponda exatamente à escala do problema (veja a simulação abaixo), ela ocorre quase por exatamente um fator de .H N H N ≈ ∫ n + 1 1 1Hn= ∑np = 11 / p Hn Hn≈ ∫n + 11 11 1xdx = log( n + 1 ) n ( 1 + log( n + 1 ) ) n log( n + 1 ) registro( 2 )
Círculos vermelhos: pontos de dados da simulação do processo com média de 10 mil execuções. Verde: . Azul: .n log2( n + 1 ) n log( n + 1 )
fonte
Edit: Estou deixando esta resposta como está (por enquanto) para ilustrar o processo confuso de provar teoremas, algo que é deixado de fora dos trabalhos publicados. A principal intuição aqui é que basta focar na bola de cima, pois ela varre tudo abaixo dela. Por favor, veja os comentários (em particular @Michael apontando que podem ocorrer lacunas) e a resposta posterior de @ Joe sobre como os erros foram identificados e corrigidos. Gosto especialmente do uso de experimentos de Joe para verificar se as fórmulas eram sensatas.
fonte