Gibt es eine mathematisch geschlossene Form (oder eine etwas enge asymptotische Form) für "Google Eggs Puzzle"?

8

Die folgende kurze Beschreibung des bekannten "Google Eggs Puzzle" stammt hauptsächlich von der Website Google Eggs :

Google Eggs Puzzle: Wie wird bei n Stockwerken und m Eiern der höchste Stock gefunden, aus dem Eier sicher geworfen werden können, während die Würfe minimiert werden (keine zerbrochenen Eier)?

Das sogenannte "höchste Stockwerk" im obigen Problem verdient eine formellere Definition:

„höchste“ muss einen Boden sein f (in jedem ausreichend hohen Gebäude) , so dass ein Ei aus dem fiel f th Boden bricht, aber man ging von dem ( f-1 ) st Boden nicht. Dann ist f-1 hier die höchste Etage.

Tatsächlich ist die Beschreibung von "am höchsten" ein Auszug aus dem Buch "The Algorithm Design Manual (Second Edition)" von Steven S. Skiena. Als Übung in Kapitel 8 "Dynamische Programmierung" gibt es im Web zahlreiche Ressourcen, die sich dem Lösen des Puzzles mithilfe dynamischer Programmierung widmen, z. B. Google Eggs und The Two Egg Problem .

Es gibt jedoch eine Frage aus dem obigen Buch:

Zeigen Sie, dass , wobei die Mindestanzahl von Würfen ist. (Hinweis: Ich habe die im Buch verwendeten Notationen aus Gründen der Konsistenz geändert.)E()E(n,m)=Θ(n1m)E()

Es ist die Frage, die mein Problem motiviert:

Mein Problem: Gibt es eine mathematisch geschlossene Form für das allgemeine "Google Eggs Puzzle" mit n Stockwerken und m Eiern anstelle einer dynamischen Programmierwiederholung und natürlich enger als das eins?E(n,m)=Θ(n1m)

Hengxin
quelle
4
Ich denke nicht, dass die asymptotische Bindung eng ist. Es funktioniert, wenn eine Konstante ist, aber wenn Sie , gibt Ihnen Ihre Grenze eine Konstante, die falsch ist. Ich denke, eine enge Grenze ist , die Ihre Grenze für die Konstante reproduziert , aber auch als Anzahl der Würfe angibt, wenn groß genug ist um die naive binäre suchbasierte Strategie zu unterstützen. mm=lognm log n mΘ(minkmkn1/k)mlognm
Robin Kothari
@RobinKothari Ich stimme dir zu. Die numerischen Experimente im Material Joy of Egg-Dropping unterstützen Ihre Beobachtung. Ich verstehe jedoch nicht die Bedeutung von . Meiner Meinung nach ist der Parameter die tatsächliche Anzahl der verwendeten Eier. Was bedeutet es dann als Faktor in ? Vielen Dank. kkn1Θ(minkmkn1k)kkn1k
Hengxin
Ich kann versuchen, die Bedeutung zu erklären, aber es ist ein bisschen lang, also werde ich es als Antwort posten.
Robin Kothari

Antworten:

8

Mit m Eiern und k Messungen sind die meisten Stockwerke, die überprüft werden können, genau (vielleicht abhängig von der genauen def). Der Beweis ist durch Induktion trivial. Dieser Ausdruck hat keine inverse geschlossene Form, ergibt aber eine gute Asymptotik.±1

n(m,k)=(k0)+(k1)++(km),
±1
domotorp
quelle
4
Nur ein wenig die Drop-Strategie zu skizzieren, würde die Antwort vollständiger machen. Vielleicht ist es nicht angemessen, da ich denke, es ist kein Forschungsniveau. Wie auch immer, mit 2 Eiern können Sie beim ersten Tropfen Stockwerke überspringen , und wenn es nicht bricht, überspringen Sie , und wenn es nicht bricht, überspringen Sie usw. Was ergibt als höchste Etage, die Sie mit dieser Strategie erreichen können. k - 1 k - 2 k ( k + 1 ) / 2kk1k2k(k+1)/2
Joe
@domotorp Es erscheint konstruktiv, das Rätsel aus der Perspektive zu untersuchen, die Sie gerade gezeigt haben. Und die Gleichung über kann durch Induktion auf und bewiesen werden . Kann es, obwohl es für die rechte Seite dieser Gleichung keine klare geschlossene Form gibt, den asymptotischen Ausdruck ? m k k ( n , m ) = Θ ( n 1n(m,k)mkk(n,m)=Θ(n1m)
Hengxin
2
@hengxin, yesish, weil ein Polynom in vom Grad , was zeigt, dass das Konstanthalten von ergibt . Aber siehe Robins Kommentar zu der Frage. Die interessantere Frage ist, ob dieser exakte Ausdruck eine genauere Grenze ermöglicht, indem der Binomialschwanz z. B. mit erf angenähert wird. (km)kmmn(m,k)=Θ(km)
Peter Taylor
2

In meinem obigen Kommentar habe ich gesagt, dass vielleicht eine enge Grenze ist. Ich bin mir über die Untergrenze nicht sicher, aber da Sie nur eine Erklärung für die Bedeutung von wünschen , kann ich die Intuition anhand der Obergrenze erklären.Θ(minkmkn1k)k

Wie Sie vermutet haben, ist die Anzahl der tatsächlich verwendeten Eier. Das erklärt die auf der Außenseite. Nachdem wir uns für die Verwendung von Eiern entschieden haben, funktioniert folgende Strategie: Stellen Sie sich die Zahl als in Basis . So ‚s Darstellung haben ‚Ziffern‘(das Wort‚digit‘in der Regel für die Basis reserviert ist 10, aber ich werde es hier verwenden), und jede Ziffer hat einen Wert von 0 bis . Mit unseren Eiern versuchen wir, die Ziffern von nacheinander zu extrahieren . Zuerst beginnen wir mit der höchstwertigen Ziffer. Dies kann festgestellt werden, indem ein nummeriertes Ei vom Boden geworfen wirdkminknn1/knkn1/k1kn100..00 , und so weiter. Nach höchstens Würfen haben wir gelernt, was das wichtigste Bit ist, und im schlimmsten Fall haben wir nur 1 Ei gebrochen. Jetzt machen wir das für alle anderen Ziffern. Da es Ziffern gibt, benötigen wir Würfe.200..00n1/k1kO(kn1/k)

Beachten Sie zur Überprüfung der Gesundheit, dass bei diese Strategie darauf hinausläuft, ab Etage 1 nacheinander Eier aus jeder Etage zu werfen. Wenn , arbeiten wir nur in Basis 2. Dies ergibt also die binärer Suchalgorithmus.k = log nk=1k=logn

Robin Kothari
quelle
1
Ein interessantes Merkmal der Lösung von domotorp ist im Gegensatz zu Ihrer, dass es nicht erforderlich ist, n im Voraus zu kennen!
Jeffs