Multi-Way Co-Ranking: Index-Space Partitioning of Sorted Sequences Without Merge
Joshi
We present a merge-free algorithm for multi-way co-ranking, the problem of computing cut indices $i_1,\dots,i_m$ that partition each of the $m$ sorted sequences such that all prefix segments together contain exactly $K$ elements. Our method extends two-list co-ranking to arbitrary $m$, maintaining per-sequence bounds that converge to a consistent global frontier without performing any multi-way merge or value-space search. Rather, we apply binary search to \emph{index-space}. The algorithm runs in $O(\log(\sum_t n_t)\,\log m)$ time and $O(m)$ space, independent of $K$. We prove correctness via an exchange argument and discuss applications to distributed fractional knapsack, parallel merge partitioning, and multi-stream joins.
Keywords: Co-ranking \sep partitioning \sep Merge-free algorithms \sep Index-space optimization \sep Selection and merging \sep Data structures
academic
Multi-Way Co-Ranking: Index-Space Partitioning of Sorted Sequences Without Merge
In diesem Papier wird ein Merge-freier Multi-Way-Co-Ranking-Algorithmus vorgestellt, um Schnittindizes i1,…,im zu berechnen, die m sortierte Sequenzen so partitionieren, dass alle Präfixsegmente zusammen genau K Elemente enthalten. Das Verfahren erweitert die Zwei-Listen-Co-Ranking-Methode von Siebert und Träff auf beliebige m-Wege, erhält die Grenzen jeder Sequenz und konvergiert zu einer konsistenten globalen Front, ohne Multi-Way-Merge oder Werteraum-Suche durchzuführen. Der Algorithmus wendet binäre Suche im Indexraum an und erreicht eine Zeitkomplexität von O(log(∑tnt)logm) und Raumkomplexität von O(m), unabhängig von K. Die Korrektheit wird durch Austauschargumente bewiesen und Anwendungen in verteiltem Fractional Knapsack, parallelem Merge-Partitioning und Multi-Stream-Joins werden diskutiert.
Das Multi-Way-Co-Ranking-Problem ist wie folgt definiert: Gegeben sind m in nicht-absteigender Reihenfolge sortierte Sequenzen L1,…,Lm (mit Wiederholungen erlaubt), jeweils mit Länge nt, und ein globales Zielranking K∈{0,…,N} (wobei N=∑tnt), müssen Schnittindizes i1,…,im gefunden werden, so dass:
∑t=1mit=Kundmaxtℓt≤mintrt
wobei ℓt und rt jeweils die linken und rechten Grenzwerte darstellen.
Erweiterung klassischer Algorithmen: Bestehende Co-Ranking-Algorithmen konzentrieren sich hauptsächlich auf zwei Sequenzen und ermangeln effizienter Multi-Way-Erweiterungen
Vermeidung von Merge-Overhead: Traditionelle Methoden erfordern zunächst das Zusammenführen mehrerer Sequenzen vor der Auswahl, was erhebliche Kosten verursacht
Vorteile des Indexraums: Operationen im Indexraum statt im Werteraum vermeiden die Komplexität der Wertebereichssuche
Algorithmusdesign: Vorstellung des ersten Merge-freien Multi-Way-Co-Ranking-Algorithmus, der die klassische Zwei-Wege-Methode auf beliebige m-Wege erweitert
Theoretische Analyse: Beweis der Korrektheit des Algorithmus und der Zeitkomplexität O(log(∑tnt)logm)
Datenstruktur-Innovation: Design von adressierbaren Heaps zur effizienten Wartung von Grenzwerten
Anwendungserweiterung: Demonstration des Algorithmuspotenzials in verteilter Optimierung, paralleler Verarbeitung und Datenbanksystemen
Wenn Φ(i)>0, seien p=argmaxtℓt und q=argmintrt. Unter allen zulässigen infinitesimalen Transfers, die ∑tit=K beibehalten, realisiert das Paar (p,q) die maximale nicht-steigende Änderung von Φ.
Beweisskizze: Die Verringerung von ip senkt ℓp (das lokale Maximum der linken Grenze), während die Erhöhung von iqrq erhöht (das lokale Minimum der rechten Grenze). Da ℓp≥ℓu und rq≤rv für alle u,v gelten, erzeugt das Extremwertpaar (p,q) die steilste Verringerung der Lücke maxℓ−minr.
Jede Folge von zulässigen Transfers, die Φ verringern, kann so umgeordnet werden, dass alle Extremwert-(p,q)-Transfers vor allen Nicht-Extremwert-Transfers auftreten, ohne dass sich Φ in Zwischenschritten verschlechtert.
In jeder Runde wird der zulässige Abstand des Spenders oder Empfängers halbiert. Der Abstand Ub[t]−Lb[t] jeder Sequenz wird höchstens O(lognt)-mal verringert. Aggregiert über alle m Sequenzen beträgt die Gesamtzahl der Runden:
Verwendung einer "Wasserfüll"-Strategie zur Initialisierung einer zulässigen Lösung:
def water_fill_initialization(K, capacities):
i = [0] * len(capacities)
need = K
for t in range(len(capacities)):
take = min(capacities[t], need)
i[t] = take
need -= take
if need == 0:
break
return i
Bei Multi-Source-Fractional-Knapsack-Problemen, wenn Gegenstände nach Dichte sortiert über m Shards verteilt sind, kann Co-Ranking verwendet werden, um die globale K-Präfix-Partitionierung zu berechnen, ohne Quelldaten zusammenzuführen.
Zur Zuweisung disjunkter Präfixe an Prozessoren, ohne vorbereitendes Merge durchzuführen. Der Co-Ranking-Vektor bestimmt genaue Übergangspunkte, und Prozessoren führen dann nur lokales Merge für ihre Bereiche durch.
In Datenbank- oder Stream-Processing-Pipelines ist die Partitionierung der Join-Front beim globalen Ranking eine natürliche Anforderung. Diese Methode erzeugt Pro-Stream-Cursor, die mit der globalen Präfix konsistent sind.
Obwohl sich das Papier hauptsächlich auf theoretische Analyse konzentriert, stellt der Autor Implementierungscode zur Verifikation bereit. Die praktische Leistung des Algorithmus kann durch folgende Aspekte bewertet werden:
Die Arbeit von Siebert und Träff bildet die Grundlage des Co-Ranking, hauptsächlich verwendet für Arbeitspartitionierung in parallelem Merge. Dieses Papier erweitert dies von 2-Wegen auf beliebige m-Wege.
Die Exact-Splitter-Methode von Siebert und Wolf operiert im Werteraum und sucht nach Schlüsselschwellwerten für ausgewogene Partitionierung. Im Gegensatz dazu operiert diese Methode im Indexraum und gibt direkt den Co-Ranking-Vektor aus.
Die klassische Arbeit von Frederickson-Johnson untersucht Auswahl und Ranking auf strukturierten Eingaben (wie Vereinigungen von m sortierten Listen). Ihr Algorithmus ist im Wesentlichen ein Werteraum-Prozess, während dieses Papier ein Indexraum-Primitiv bereitstellt.
3 Christian Siebert. Simple in-place yet comparison-optimal mergesort, arXiv:2509.24540, 2025.
4 Christian Siebert and Felix Wolf. A scalable parallel sorting algorithm using exact splitting. RWTH Aachen University technical report, 2011.
Gesamtbewertung: Dies ist ein theoretisch starkes Algorithmuspaper, das das wichtige Problem des Multi-Way-Co-Ranking erfolgreich löst. Obwohl es an experimenteller Verifikation mangelt, ist die theoretische Analyse rigoros, die Methode innovativ und bietet wertvolle theoretische Werkzeuge für verwandte Bereiche.