Avalanche comme processus stochastique


16

Considérez le processus suivant:

Il y a n bacs disposés de haut en bas. Initialement, chaque bac contient une balle. À chaque étape, nous

  1. choisir une balle b uniformément au hasard et
  2. déplacez toutes les boules du bac contenant b vers le bac en dessous. S'il s'agissait déjà du bac le plus bas, nous retirons les billes du processus.

Combien d'étapes faut-il attendre jusqu'à la fin du processus, c'est-à-dire jusqu'à ce que toutes les n boules aient été retirées du processus? Cela a-t-il été étudié auparavant? La réponse découle-t-elle facilement des techniques connues?

Dans le meilleur des cas, le processus peut se terminer après n étapes. Dans le pire des cas, il peut prendre Θ(n2) pas. Les deux cas devraient cependant être très improbables. Ma conjecture est que cela prend Θ(nlogn) étapes et j'ai fait quelques expériences qui semblent le confirmer.

(Notez que choisir un bac uniformément au hasard est un processus très différent qui prendra évidemment Θ(n2) étapes pour terminer.)


La question semble intéressante (bien que je ne connaisse pas la réponse). Cela semble difficile à cause de la non-monotonie; si toutes les n boules sont dans le bac supérieur, le processus se termine clairement en exactement n étapes.
Tsuyoshi Ito

Réponses:


11

Pas vraiment une réponse, mais un long commentaire sur la réponse d'András.

La réponse d'András contient une belle intuition, bien que je ne pense pas que ce soit un calcul rigoureux du nombre prévu d'étapes. Je pense que c'est peut-être une bonne approximation d'une réponse, mais cela ne semble pas traiter correctement les cas où le bac en dessous du bac occupé le plus haut devient vide avant que le bac supérieur soit vidé vers le bas. Pourtant, cela pourrait être une approximation raisonnable à faire (je ne suis pas sûr).

Son calcul contient une erreur qui affecte la mise à l'échelle. Je vais prendre exactement le même point de départ, refaire et étendre le calcul.

Il manque un facteur de p à l'intérieur de la somme, car la probabilité de choisir au hasard le bon bac est plutôt que1pn . En conséquence, nous avons1n

n+p=1nk=0(k+1)pn(npn)k=n+p=1npnk=0(k+1)(npn)k=n+p=1npnn2p2=n+np=1n1/p=n(1+Hn)

est le nième nombre harmonique . Pour approximer H n, nous pouvons simplement remplacer la somme par une intégrale: H nn + 1 1 1Hn=p=1n1/pHn. Ainsi, la mise à l'échelle estn(1+log(n+1))ou environnlog(n+1). Bien que cette mise à l'échelle ne corresponde pas exactement à la mise à l'échelle du problème (voir simulation ci-dessous), elle est presque exactement un facteur delog(2).Hn1n+11xdx=log(n+1)n(1+log(n+1))nlog(n+1)log(2)

Simulation vs théorie

Cercles rouges: points de données de la simulation du processus en moyenne sur 10 000 exécutions. Vert: . Bleu: n log ( n + 1 ) .nlog2(n+1)nlog(n+1)


@Joe: Beau travail! Il serait intéressant de montrer maintenant avec rigueur comment le facteur provient de la création de lacunes. ln2
András Salamon

@ András: Je n'ai pas vraiment une bonne idée si c'est une bonne approximation à faire ou non. @ L'idée de Peter de former des grappes qui se déplacent vers le bas semble donner l'expression correcte en supposant qu'elles sont également susceptibles de se former dans n'importe quel bac.
Joe Fitzsimons

@Joe: La balle la plus haute restera isolée dans presque 1/3 des cas. Considérez les 3 premières balles. Si celui du milieu est choisi en premier (parmi ces 3), il rejoindra le troisième. Ces deux-là se déplaceront désormais deux fois plus vite que la balle du haut. La distance entre eux et la balle supérieure est une marche aléatoire fortement biaisée et la probabilité que la balle supérieure se rattrape est limitée par une petite constante (ish) (estimation approximative de 15%). Mais la bonne nouvelle est que les meilleures billes log n ne devraient pas vraiment avoir d'importance. Si tout le reste est effacé dans les étapes n \ log n, ils ajouteront uniquement des étapes n \ log n supplémentaires.
Matthias

Voici deux parcelles. Les deux affichent le nombre d'étapes divisé par , jusqu'à ce que tout sauf les billes log n soit effacé. Pour le premier, les balles qui tombent du système peuvent toujours être ramassées (comme András l'a proposé): tinyurl.com/2wg7a9y . Pour le second, les boules qui tombent du système ne sont plus ramassées: tinyurl.com/33b63pqnlogn . Comme vous pouvez le voir, les limites que le premier processus peut donner sont probablement trop faibles. Peut-être que cela peut être réglé en considérant des phases (comme Peter l'a écrit quelque part) dans lesquelles nous divisons toujours par deux le nombre de balles dans le système?
Matthias

@Matthias: Analyser le temps prévu en supposant que l'intuition de Peter est correcte n'est pas le barrage routier (du moins de mon point de vue). Pour moi, prouver que cette intuition est en fait un juste reflet de ce qui se passe est nécessaire en premier, même si je soupçonne que c'est une bonne approximation.
Joe Fitzsimons

9

Edit: Je laisse cette réponse telle quelle (pour l'instant) pour illustrer le processus désordonné de prouver les théorèmes, quelque chose qui est omis des articles publiés. L'intuition principale ici est qu'il suffit de se concentrer sur la balle supérieure, car elle balaie tout en dessous. Veuillez consulter les commentaires (en particulier @Michael soulignant que des lacunes peuvent se produire) et la réponse ultérieure de @ Joe pour savoir comment les erreurs ont été identifiées et corrigées. J'aime particulièrement l'utilisation des expériences de Joe pour vérifier que les formules étaient raisonnables.


n(1+π2/6)n pour le nombre prévu d'étapes.

b1b2bnb1=nb2n1bjen-je+1b1 est vu, plus le nombre prévu d'étapes avant b2 est vu, et ainsi de suite (jusqu'à 1, car bn peut être l'un des nombres 1,2,,n). Ceux-ci peuvent être considérés comme des événements distincts, l'un après l'autre. Le nombre d'étapes attendu est alors

n+p=1nk=0k+1n(npn)k=n+p=1n11npk=1k(npn)k=n+p=1n11npn(np)/p2=n+np=1n11/p2(1+π2/6)n.


3
@Andras @Joe: Holy schmoley. If all the people asking the questions on this site took their questions as seriously as you take answering them, this would be the badassest url on the internet.
Aaron Sterling

1
@András: I'm trying to understand your statement "a sequence of balls will clear all the bins precisely if it contains a subsequence...". Maybe I've misunderstood something, but say we have four balls. If the sequence is 3,4,3,2,4 then it seems to satisfy your subsequence requirement, yet not all the bins have been cleared.
Michael

1
@András: If you want to show a reasonable upper bound, you have to use the fact that balls disappear from the process and are no longer picked. Otherwise, the top most ball is always only picked with probability 1/n and there is a good chance (maybe slightly less than 1/2) that this ball will stay isolated the whole time. For this ball, you will need n^2 steps.
Matthias

1
@Michael: I think you have identified the mistake. I'm assuming falsely that the top ball will move down even if there is a gap.
András Salamon

2
Here's my intuition. After a few steps, some clump of balls is going to be larger than any other clump of balls. At this point, the clump moves faster than everything else, clears everything below it and falls out of the system. This whole process should take O(n) or maybe O(nlogn) steps. This first clump is uniformly distributed in the line, so on average it takes half the balls with it. Now, we're left with a system of around n/2 balls, and another clump forms. So after around logn clumps, we're done.
Peter Shor
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.