Paralleles Kieselspiel auf einer Linie


13

Im Kieselspiel auf einer Linie gibt es N + 1 Knoten mit den Bezeichnungen 0 bis N. Das Spiel beginnt mit einem Kiesel auf Knoten 0. Befindet sich ein Kiesel auf Knoten i, können Sie einen Kiesel auf Knoten i + 1 hinzufügen oder daraus entfernen. Das Ziel ist es, einen Stein auf Knoten N zu platzieren, ohne viele Steine ​​gleichzeitig auf das Brett zu legen und ohne zu viele Schritte zu unternehmen.

Die naive Lösung besteht darin, einen Stein auf 1, dann auf 2, dann auf 3 usw. zu legen. Dies ist hinsichtlich der Anzahl der Schritte optimal. Es ist nicht optimal für die maximale Anzahl von Steinen auf dem Brett gleichzeitig: Während des letzten Schritts befinden sich N Steine ​​auf dem Brett (ohne den auf 0).

Eine Strategie , die wenige Kieselsteine auf dem Brett in der gleichen Zeit stellt , ist in diesem Papier . Sie erreichen den Knoten N, ohne gleichzeitig Θ(lgN) Kieselsteine ​​zu überschreiten , jedoch auf Kosten der Erhöhung der Anzahl von Schritten auf Θ(nlg23) . Sie schalten um, ob sich an Position ein Kiesel befindet, Nohne dass andere Kieselsteine ​​herumliegen , indem sie rekursiv umschalten. Dies dient N/2als Ausgangspunkt, um N mit einem weiteren rekursiven Schritt umzuschalten, und wechseln dann N/2 mit einem dritten halbgroßen rekursiven Schritt zu klar es.

Ich interessiere mich für den Kompromiss zwischen der maximalen Anzahl von Steinen und der Anzahl von Schritten, unter der Annahme, dass das Hinzufügen und Entfernen von Steinen parallel erfolgen kann. Mit "parallel" meine ich, dass jeder Schritt beliebig viele Kieselsteine ​​hinzufügen oder entfernen kann, solange jede einzelne Hinzufügung / Entfernung zulässig ist und nicht mit den anderen ausgeführten Zügen interagiert. Insbesondere wenn A die Menge von Knoten ist, zu denen wir Kieselsteine ​​hinzufügen oder daraus entfernen möchten, und P die Menge von Knoten ist, zu deren Beginn ein Kieselstein vorhanden war, können wir alle diese Hinzufügungen und Entfernungen in einem einzigen Schritt ausführen solange {a1|aA}PA .

Betrachten Sie zum Beispiel die Strategie, bei der ein Kieselstein bei i in Schritt i , aber die Kieselsteine ​​markiert werden, die ein Vielfaches von N als "Checkpoints" und entfernt den Kiesel mit dem höchsten Index nach Möglichkeit hinter einem Checkpoint mit Kieselsteinen. Diese Strategie erreicht nachNSchrittenimmer noch den Knoten N, wie die naive Strategie, verringert jedoch die maximale Anzahl der Kieselsteine ​​vonNauf2N .

Gibt es Parrallel-Line-Pebbling-Strategien, die in N Schritten mit noch geringerer Komplexität der asymptotischen Max- Pebbles enden ? Was ist, wenn wir bereit sind, O(NlgN) Schritte zuzulassen ? Was sind die "interessanten" Punkte, an denen der Kompromiss zwischen Max-Pebble und Zeit besonders gut ist?


Wie viele Kieselsteine ​​können Sie in jedem Schritt hinzufügen oder entfernen? Wenn nur eine, in Ihrem vierten Absatz, bedeuten Sie Gesamtschritte, anstatt N ? Ist es beim Zählen der verwendeten Kiesel die maximale Anzahl auf dem Brett zu irgendeinem Zeitpunkt während der Sequenz? O(N)N
Neal Young

@NealYoung Im parallelen Fall können Sie so viele Kieselsteine ​​pro Schritt hinzufügen und entfernen, wie Sie möchten. Wenn Sie jedoch Position beeinflussen, muss sich zu Beginn des Schritts an Position k - 1 ein Kieselstein befunden haben . Ich meinte genau N Schritte, aber O ( N ) ist auch interessant und natürlich in O ( N lg N ) enthalten . Ja, es kommt auf die maximale Anzahl an Steinen an. kk1O(N)O(NlgN)
Craig Gidney

Was ist mit der ursprünglichen Strategie, aber mit "Parallelisierung"? Wenn wir beginnen Sie, die erste Hälfte parallel zu räumen. Bei Erreichen von 3 N / 4 beginnen Sie, den Bereich [ N / 2 - 3 N / 4 ] zu löschen UND setzen Sie das Löschen der ersten Hälfte parallel fort (zu dem Zeitpunkt, an dem wir einen Kieselstein auf 3 N / 4 legen, sind nur noch N / 4 Kieselsteine ​​übrig die erste Hälfte); und so weiter für ( 2 k - 1 ) N / 2N/23N/4[N/23N/4]3N/4N/4 bis N . Die Kieselkomplexität sollte gleich sein: Θ ( lg N ) , jedoch mit N Schritten. (2k1)N/2kNΘ(lgN)N
Marzio De Biasi

@ MarzioDeBiasi Warum sollte die Komplexität der Kiesel gleich sein? Soweit ich sagen kann, würde die Rekursion von GO bis F ( n ) = 2 F ( n / 2 ) + 1 = O ( n ) . F(n)=F(n/2)+1=O(lg(n))F(n)=2F(n/2)+1=O(n)
Craig Gidney

@CraigGidney: Sie haben Recht ...
Marzio De Biasi

Antworten:


4

EDITS : Lemmas 2 und 3 hinzugefügt.

Hier ist eine teilweise Antwort: Sie können Position N

  • in bewegt sich mit dem Raum N O ( ϵ ( N ) ) , wobei ϵ ( N ) = 1 / NNO(ϵ(N)) . (Lemma 1)ϵ(N)=1/logN
  • in bewegt sich δ im Raum O ( log N ) (für jede Konstante δ > 0 ) (Lemma 2).N1+δO(logN)δ>0

Wir skizzieren auch eine untere Schranke (Lemma 3): Für eine bestimmte Klasse von sogenannten gut erzogenen Lösungen ist Lemma 1 eng (bis zu konstanten Faktoren im Exponenten), und keine solche Lösung, die den Polylograum verwendet, kann es erreichen Position in der Zeit O ( NN .O(NpolylogN)

Lemma 1. Für alle ist es möglich, Position n in n Zügen mit Leerzeichen exp ( O ( nnn

exp(Ö(Logn)) = nÖ(1/Logn)

Beweis. Das Schema ist rekursiv, wie in der folgenden Abbildung gezeigt. Wir verwenden die folgende Notation:

  • ist die Anzahl der Ebenen in der Rekursionk
  • ist die gebildete Lösung (mit k Rekursionsgraden).P(k)k
  • ist die maximale Position, die von P ( k ) erreicht wird (zum Zeitpunkt N ( k ) ).N(k)P(k)N(k)
  • ist der Raum, der von P ( k ) verwendet wird .S(k)P(k)
  • ist die Anzahl dervon P ( k ) verwendetenSchichten, wie nachstehend dargestellt:L(k)P(k)

                  Lösungsstruktur für Lemma 1

Im Bild läuft die Zeit von oben nach unten ab. Die Lösung stoppt nicht zum Zeitpunkt N ( k ) , sondern setzt sich (zur Verwendung in der Rekursion) bis zum Zeitpunkt 2 fortP(k)N(k) , wobei seine Bewegungen genau umgekehrt werden, um zum Zeitpunkt 2 zu einem einzelnen Kieselstein zurückzukehren2N(k) .2N(k)

Die durchgezogenen vertikalen Linien unterteilen die -Schichten von P ( k ) . Im Bild ist L ( k ) fünf, also besteht P ( k ) aus 5 Schichten. Jede der L ( k ) -Schichten von P ( k ) (mit Ausnahme der äußersten rechten) weist zwei Unterprobleme auf, eines oben und eines unten, die durch eine durchgezogene vertikale Linie (die einen Kiesel darstellt, der für existiert) verbunden sind diese Dauer). Im Bild gibt es fünf Ebenen, also neun Unterprobleme. Im Allgemeinen ist P (L(k)P(k)L(k)P(k)L(k)P(k) setzt sich zusammen aus 2P(k) Unterprobleme. Jedes Teilproblem von P ( k ) hat die Lösung P ( k - 1 ) .2L(k)-1P(k)P(k-1)

Die entscheidende Beobachtung für die Begrenzung des Raums ist, dass zu jeder Zeit nur zwei Schichten "aktive" Unterprobleme haben. Der Rest trägt jeweils nur einen Kieselstein bei

  • undS(k)L(k)+2S(k-1)
  • N(k)=L(k)N(k-1)

Nun wählen wir , um P ( k ) vollständig zu bestimmen . Ich bin mir nicht sicher, ob diese Wahl optimal ist, aber es scheint naheliegend: nimm L ( k ) = 2 k . Dann geben die oben genannten RezidiveL(k)P(k)L(k)=2k

  • , undS(k)k2k
  • N(k)=2k(k+1)/2

Wenn wir also nach auflösen , haben wir k n=N(k) undS(k)k2logn. S(k)2logn22logn=exp(O(logn))

Dies erledigt alle Positionen in der Menge { N ( k ) : k { 1 , 2 , } } . Trimmen Sie für beliebiges n den Boden der Lösung P ( k ) für das kleinste k mit N ( k ) n . Die gewünschte Grenze gilt, weil S ( k ) / S ( k - 1 ) = O (n{N(k):k{1,2,}}nP(k)kN(k)n . QEDS(k)/S(k1)=O(1)


Lemma 2. Für jedes ist es für alle n möglich, die Position n in n 1 + δ Bewegungen unter Verwendung des Raums O ( δ 2 1 / δ log n ) zu erreichen .δ>0nnn1+δO(δ21/δlogn).

Beweis. Ändern Sie die Konstruktion aus dem Beweis von Lemma 1, um das Starten jedes Unterproblems zu verzögern, bis das vorherige Unterproblem abgeschlossen ist, wie unten gezeigt:

                  Lösungsstruktur für Lemma 2

Lassen Sie die Zeit für die modifizierte Lösung bezeichnen P ( k ) bis Ende. Jetzt hat zu jedem Zeitpunkt nur eine Schicht ein Unterproblem, das mehr als einen Kieselstein verursachtT(k)P(k)

  • ,S(k)L(k)+S(k1)
  • ,N(k)=L(k)N(k1)
  • .T(k)=(2L(k)1)T(k1)2L(k)T(k1)2kN(k)

Wenn wir , erhalten wirL(k)=21/δ

  • ,S(k)k21/δ
  • ,N(k)=2k/δ
  • .T(k)2kN(k)

Wenn wir nach und T = T ( k ) in Bezug auf n = N ( k ) lösen , haben wir k = δ log n undS=S(k)T=T(k)n=N(k)k=δlogn

  • undSδ21/δlogn
  • . Tn1+δ

Dies erledigt alle Positionen in der Menge { N ( k ) : k { 1 , 2 , } } . Trimmen Sie für beliebiges n den Boden der Lösung P ( k ) für das kleinste k mit N ( k ) n . Die gewünschte Grenze gilt, weil S ( k ) / S ( k - 1 ) = O (n{N(k):k{1,2,}}nP(k)kN(k)n . QEDS(k)/S(k1)=O(1)


Die Lösungen in den Beweisen von Lemmas 1 und 2 sind insofern gut , als für ausreichend großes für jede Lösung P ( n ) , die die Position n erreicht, eine Position k n / 2 existiert, so dass immer nur ein Kiesel vorhanden ist platziert an Position k , und die Lösung zerfällt in eine (wohlerzogene) Lösung P ( N - k ) für die Positionen k + 1 , k + 2 , ... , n und zwei (wohlerzogene) LösungennP(n)nkn/2kP(Nk)k+1,k+2,,n , jeweils für die Positionen 1 , 2 , , k , verbunden durch den Kiesel an Position k . Mit einer angemessenen Definition desVerhaltenssei V ( n ) das minimaleKieselvolumen(die Summe über die Zeit der Anzahl der Kiesel zu jedem Zeitpunkt) für jede Verhaltenslösung. Die Definition impliziertdaß für hinreichend große n für δ = 1 > 0 , V ( n ) min k <P(k)1,2,,kkV(n)nδ=1>0

V(n)mink<nV(nk)+max(n/2,(1+δ)V(k)).

Ich vermute, dass es für jedes ausreichend große eine artgerechte Lösung gibt, die das Kieselvolumen minimiert. Vielleicht kann es jemand beweisen? (Oder nur, dass eine nahezu optimale Lösung die Wiederholung befriedigt ...)n

Denken Sie daran, dass .ϵ(n)=1/logn

Lemma 3. Für jede Konstante impliziert die obige Wiederholung V ( n ) n 1 + Ω ( ϵ ( n ) ) .δ>0V(n)n1+Ω(ϵ(n))

Bevor wir den Beweis des Lemmas skizzieren, müssen wir bedenken, dass jede artgerechte Lösung, die die Position in t Schritten erreicht, mindestens n 1 + Ω ( ϵ ( n ) ) / t in einem Schritt einnehmen muss . Daraus ergeben sich Folgerungen wie:ntn1+Ω(ϵ(n))/t

  • Lemma 1 ist eng an konstanten Faktoren im Exponenten (für gut erzogene Lösungen).
  • Keine wohlerzogene Lösung kann Position in n erreichenn Zeitschritte mit Space Polylognpolylogn . (Verwenden Sie hier, dass n Ω ( ϵ ( n ) ) = exp ( Ω ( polylogn .)nΩ(ϵ(n))=exp(Ω(logn))polylogn

Proof-Skizze. Wir zeigen mit f ( n ) = n 1 + c ϵ ( n ) für eine ausreichend kleine Konstante c . Wir nehmen WLOG an, dass n willkürlich groß ist, denn wenn wir c > 0 klein genug nehmen, können wir für jede endliche Menge von n 2 V ( n ) f ( n ) sicherstellen2V(n)f(n)f(n)=n1+cϵ(n)c.nc>02V(n)f(n)n(Verwenden Sie hier beispielsweise ).V(n)n

Das Lemma folgt induktiv aus der Wiederholung, solange für alle ausreichend großen gilt f ( n ) min k < n f ( n - k ) + max ( n , 2 f ( k ) ) , dh f ( n ) - f ( n - k ) max ( n , ( 1 + δ ) f (nf(n)mink<nf(nk)+max(n,2f(k)) für k < n .f(n)f(nk)max(n,(1+δ)f(k))k<n.

Da konvex ist, haben wir f ( n ) - f ( n - k ) k f ' ( n ) . Es reicht also aus, wenn k f ' ( n ) max ( n , ( 1 + δ ) f ( k ) ) ist .ff(n)f(nk)kf(n)kf(n)max(n,(1+δ)f(k)).

Durch eine kurze Rechnung (mit undf(n)=(f(n)/n)(1+c/(2f(n)/n=eclognund unter Verwendung einer der Variablen Änderungx=f(n)=(f(n)/n)(1+c/(2logn)), undy=x=logk ), ist diese Ungleichung entspricht den folgenden: für alle hinreichend großenyundxy,e c y (1+c/(2y))max(e y 2 - x 2 ,(1+δ)e c x ). Da1+zezundez1+y=lognyxyecy(1+c/(2y))max(ey2x2,(1+δ)ecx)1+zez für z 1 genügt eszu zeigen , e c y + c / ( 2 y )max ( e y 2 - x 2 , e 2 δ + c x ) , das heißt, c y + c / ( 2 y ) max ( y 2 - x 2 , 2 δ + cez1+2zz1ecy+c/(2y)max(ey2x2,e2δ+cx),

cy+c/(2y)max(y2x2,2δ+cx).

Wenn , dann ist c y + c / ( 2 y ) c x + 0,2 δ (für großes y ), und wir sind fertig, so dass angenommen wird, dass y x + 0,1 δ / c ist . Dann ist y 2 - x 20,1 y δ / c (für großes y ), so dass es ausreicht, c y + zu zeigen yx+0.1δ/ccy+c/(2y)cx+0.2δyyx+0.1δ/cy2x20.1yδ/cy Dies gilt für ausreichend kleines c und großes y . QED

cy+c/(2y)0.1yδ/c.
cy.

FWIW, ich habe den Beweis, dass es immer eine nahezu optimale, gut erzogene Lösung gibt, so dass die Untergrenze in Lemma 3 für alle Lösungen gilt. Es ist ein bisschen zu kompliziert, um hier einzutippen - wenn jemand interessiert ist, kontaktiere mich per E-Mail (google "Neal Young Computer Science" für Kontaktinformationen).
Neal Young
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.