Betrachten Sie den folgenden Prozess:
Es gibt Fächer, die von oben nach unten angeordnet sind. Anfangs enthält jeder Behälter eine Kugel. In jedem Schritt wir
- Wählen Sie eine Kugel gleichmäßig zufällig und
- Bewegen Sie alle Kugeln aus dem Behälter mit in den Behälter darunter. Wenn es bereits der niedrigste Behälter war, entfernen wir die Kugeln aus dem Prozess.
Wie viele Schritte dauert es in Erwartung, bis der Prozess beendet ist, dh bis alle Kugeln aus dem Prozess entfernt wurden? Wurde das schon einmal untersucht? Ergibt sich die Antwort leicht aus bekannten Techniken?
Im besten Fall kann der Vorgang nach Schritten beendet werden. Im schlimmsten Fall kann es Θ ( n 2 ) Schritte dauern . Beide Fälle sollten jedoch sehr unwahrscheinlich sein. Meine Vermutung ist, dass es Θ ( n log n ) Schritte dauert und ich einige Experimente durchgeführt habe, die dies zu bestätigen scheinen .
(Beachten Sie, dass das gleichmäßige und zufällige Auswählen eines Behälters ein ganz anderer Vorgang ist, für dessen Abschluss offensichtlich Schritte erforderlich sind .)
Antworten:
Keine wirkliche Antwort, aber ein ausführlicher Kommentar zu András 'Antwort.
Die Antwort von András enthält eine nette Intuition, obwohl ich nicht glaube, dass es eine rigorose Berechnung der erwarteten Anzahl von Schritten ist. Ich denke, es ist vielleicht eine gute Annäherung an eine Antwort, aber es scheint nicht richtig mit Fällen umzugehen, in denen der Behälter unter dem höchsten belegten Behälter leer wird, bevor der obere Behälter nach unten geleert wird. Trotzdem könnte dies eine vernünftige Annäherung sein (ich bin mir nicht sicher).
Seine Berechnung enthält einen Fehler, der die Skalierung beeinflusst. Ich werde genau den gleichen Ausgangspunkt nehmen und die Berechnung wiederholen und erweitern.
Es fehlt ein Faktor von p innerhalb der Summation, da die Wahrscheinlichkeit der zufälligen Auswahl des richtigen Bins statt1pn . Als Ergebnis haben wir1n
Dabei ist die n-te Harmonische . Um sich H n anzunähern, können wir die Summation einfach durch ein Integral ersetzen: H n ≈ ∫ n + 1 1 1Hn= ∑np = 11 / p Hn . Somit ist die Skalierungn(1+log(n+1))oder ungefährnlog(n+1). Obwohl diese Skalierung nicht genau mit der Skalierung des Problems übereinstimmt (siehe Simulation unten), ist sie um einen Faktor von fast genaulog(2)niedriger.Hn& ap ; ∫n + 111xdx = log( n + 1 ) n ( 1 + log( N + 1 ) ) n log( n + 1 ) Log( 2 )
quelle
Bearbeiten: Ich lasse diese Antwort wie sie ist (für den Moment), um den chaotischen Prozess des Beweisens von Theoremen zu veranschaulichen, etwas, das in veröffentlichten Veröffentlichungen weggelassen wurde. Die Kernintuition hier ist, dass es ausreicht, sich auf den oberen Ball zu konzentrieren, da er alles darunter wegfegt. Bitte beachten Sie die Kommentare (insbesondere @Michael, der darauf hinweist, dass Lücken auftreten können) und @ Joes spätere Antwort, wie Fehler identifiziert und korrigiert wurden. Ich mag besonders Joes Experimente, um zu überprüfen, ob die Formeln sinnvoll sind.
quelle