2025-11-11T16:25:09.674123

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

Grundinformationen

  • Paper-ID: 2510.22882
  • Titel: Multi-Way Co-Ranking: Index-Space Partitioning of Sorted Sequences Without Merge
  • Autor: Amit Joshi (Independent Researcher)
  • Klassifizierung: cs.DS (Datenstrukturen und Algorithmen)
  • Veröffentlichungsdatum: 27. Oktober 2025 (arXiv Preprint)
  • Paper-Link: https://arxiv.org/abs/2510.22882

Zusammenfassung

In diesem Papier wird ein Merge-freier Multi-Way-Co-Ranking-Algorithmus vorgestellt, um Schnittindizes i1,,imi_1,\dots,i_m zu berechnen, die mm sortierte Sequenzen so partitionieren, dass alle Präfixsegmente zusammen genau KK Elemente enthalten. Das Verfahren erweitert die Zwei-Listen-Co-Ranking-Methode von Siebert und Träff auf beliebige mm-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)O(\log(\sum_t n_t)\log m) und Raumkomplexität von O(m)O(m), unabhängig von KK. Die Korrektheit wird durch Austauschargumente bewiesen und Anwendungen in verteiltem Fractional Knapsack, parallelem Merge-Partitioning und Multi-Stream-Joins werden diskutiert.

Forschungshintergrund und Motivation

Problemdefinition

Das Multi-Way-Co-Ranking-Problem ist wie folgt definiert: Gegeben sind mm in nicht-absteigender Reihenfolge sortierte Sequenzen L1,,LmL_1, \ldots, L_m (mit Wiederholungen erlaubt), jeweils mit Länge ntn_t, und ein globales Zielranking K{0,,N}K \in \{0, \ldots, N\} (wobei N=tntN = \sum_t n_t), müssen Schnittindizes i1,,imi_1, \ldots, i_m gefunden werden, so dass:

t=1mit=Kundmaxttmintrt\sum_{t=1}^m i_t = K \quad \text{und} \quad \max_t \ell_t \leq \min_t r_t

wobei t\ell_t und rtr_t jeweils die linken und rechten Grenzwerte darstellen.

Forschungsmotivation

  1. Erweiterung klassischer Algorithmen: Bestehende Co-Ranking-Algorithmen konzentrieren sich hauptsächlich auf zwei Sequenzen und ermangeln effizienter Multi-Way-Erweiterungen
  2. Vermeidung von Merge-Overhead: Traditionelle Methoden erfordern zunächst das Zusammenführen mehrerer Sequenzen vor der Auswahl, was erhebliche Kosten verursacht
  3. Vorteile des Indexraums: Operationen im Indexraum statt im Werteraum vermeiden die Komplexität der Wertebereichssuche
  4. Praktische Anforderungen: Verteilte Datenverarbeitung, parallele Verarbeitung und Datenbankabfragen erfordern effiziente Multi-Way-Partitionierungsalgorithmen

Einschränkungen bestehender Methoden

  • Siebert-Träff-Methode: Unterstützt nur Co-Ranking für zwei Sequenzen
  • Frederickson-Johnson-Methode: Operiert im Werteraum und erfordert globale Zähloperationen
  • Splitter-basierte Methoden: Erfordern vorheriges Zusammenführen oder Wertebereichssuche mit höherer Komplexität

Kernbeiträge

  1. Algorithmusdesign: Vorstellung des ersten Merge-freien Multi-Way-Co-Ranking-Algorithmus, der die klassische Zwei-Wege-Methode auf beliebige mm-Wege erweitert
  2. Theoretische Analyse: Beweis der Korrektheit des Algorithmus und der Zeitkomplexität O(log(tnt)logm)O(\log(\sum_t n_t)\log m)
  3. Datenstruktur-Innovation: Design von adressierbaren Heaps zur effizienten Wartung von Grenzwerten
  4. Anwendungserweiterung: Demonstration des Algorithmuspotenzials in verteilter Optimierung, paralleler Verarbeitung und Datenbanksystemen

Methodische Details

Aufgabendefinition

Eingabe:

  • mm sortierte Sequenzen L1,,LmL_1, \ldots, L_m mit Längen n1,,nmn_1, \ldots, n_m
  • Zielranking K[0,N]K \in [0, N], wobei N=t=1mntN = \sum_{t=1}^m n_t

Ausgabe:

  • Schnittindex-Vektor (i1,,im)(i_1, \ldots, i_m), der die Co-Ranking-Bedingungen erfüllt

Nebenbedingungen:

  • t=1mit=K\sum_{t=1}^m i_t = K
  • maxttmintrt\max_t \ell_t \leq \min_t r_t (Co-Ranking-Bedingung)

Algorithmus-Architektur

Zentrale Datenstruktur: Index-Heap

Der Algorithmus verwaltet zwei Index-Heaps:

  • HLH_L: Max-Heap, speichert Grenzwerte der linken Seite (t,t)(\ell_t, t), gibt die Sequenz mit dem größten linken Grenzwert zurück (Spender)
  • HRH_R: Min-Heap, speichert Grenzwerte der rechten Seite (rt,t)(r_t, t), gibt die Sequenz mit dem kleinsten rechten Grenzwert zurück (Empfänger)

Jeder Heap unterstützt update_key-Operationen in O(logm)O(\log m) und peek-Operationen in O(1)O(1).

Grenzwert-Verwaltung

Für jede Sequenz tt werden folgende Werte verwaltet:

  • Untere Grenze: Lb[t]i[t]Lb[t] \leq i[t]
  • Obere Grenze: i[t]Ub[t]i[t] \leq Ub[t]
  • Aktueller Index: i[t]i[t]

Iterationsstrategie

Der Algorithmus verwendet eine Spender-Empfänger-Greedy-Strategie:

  1. Identifikation von Extremwerten:
    • Spender p=argmaxttp = \arg\max_t \ell_t (größter linker Grenzwert)
    • Empfänger q=argmintrtq = \arg\min_t r_t (kleinster rechter Grenzwert)
  2. Berechnung der Transfermenge:
    donor_slack = ⌈(i[p] - Lb[p])/2⌉
    receiver_slack = ⌈(Ub[q] - i[q])/2⌉
    Δ = min{donor_slack, receiver_slack}
    
  3. Durchführung des Transfers:
    • i[p]i[p]Δi[p] \leftarrow i[p] - \Delta
    • i[q]i[q]+Δi[q] \leftarrow i[q] + \Delta
    • Grenzen aktualisieren: Ub[p]i[p]Ub[p] \leftarrow i[p], Lb[q]i[q]Lb[q] \leftarrow i[q]
  4. Heap-Aktualisierung: Aktualisierung der Heap-Schlüsselwerte betroffener Sequenzen

Technische Innovationen

  1. Indexraum-Operationen: Vollständige Arbeit im Indexraum, vermeidung von Wertebereichssuche und Merge-Operationen
  2. Geometrische Konvergenz: Durch Halbierung des zulässigen Bereichs wird logarithmische Konvergenzgeschwindigkeit garantiert
  3. Unausgeglichene Potentialfunktion: Definition von Φ(i)=maxttmintrt\Phi(i) = \max_t \ell_t - \min_t r_t als Konvergenzkriterium
  4. Deterministische Komplexität: Algorithmuskomplexität ist unabhängig vom Zielranking KK

Theoretische Analyse

Korrektheitsbeweis

Lemma 1 (Optimalität lokaler Extremwerte)

Wenn Φ(i)>0\Phi(i) > 0, seien p=argmaxttp = \arg\max_t \ell_t und q=argmintrtq = \arg\min_t r_t. Unter allen zulässigen infinitesimalen Transfers, die tit=K\sum_t i_t = K beibehalten, realisiert das Paar (p,q)(p,q) die maximale nicht-steigende Änderung von Φ\Phi.

Beweisskizze: Die Verringerung von ipi_p senkt p\ell_p (das lokale Maximum der linken Grenze), während die Erhöhung von iqi_q rqr_q erhöht (das lokale Minimum der rechten Grenze). Da pu\ell_p \geq \ell_u und rqrvr_q \leq r_v für alle u,vu,v gelten, erzeugt das Extremwertpaar (p,q)(p,q) die steilste Verringerung der Lücke maxminr\max\ell - \min r.

Lemma 2 (Austauschbarkeit von Transferreihenfolgen)

Jede Folge von zulässigen Transfers, die Φ\Phi verringern, kann so umgeordnet werden, dass alle Extremwert-(p,q)(p,q)-Transfers vor allen Nicht-Extremwert-Transfers auftreten, ohne dass sich Φ\Phi in Zwischenschritten verschlechtert.

Theorem 1 (Konvergenz und Gültigkeit)

Algorithmus 2 terminiert mit einem gültigen Co-Ranking-Vektor (i1,,im)(i_1, \ldots, i_m), der tit=K\sum_t i_t = K und maxttmintrt\max_t \ell_t \leq \min_t r_t erfüllt.

Komplexitätsanalyse

Rundenanalyse

In jeder Runde wird der zulässige Abstand des Spenders oder Empfängers halbiert. Der Abstand Ub[t]Lb[t]Ub[t] - Lb[t] jeder Sequenz wird höchstens O(lognt)O(\log n_t)-mal verringert. Aggregiert über alle mm Sequenzen beträgt die Gesamtzahl der Runden:

T=O(log(t=1mnt))T = O\left(\log\left(\sum_{t=1}^m n_t\right)\right)

Zeitkomplexität

Jede Runde führt eine konstante Anzahl von Index-Heap-Operationen durch (O(logm)O(\log m) Zeit), daher beträgt die Gesamtzeitkomplexität:

O(log(tnt)logm)O\left(\log\left(\sum_t n_t\right) \cdot \log m\right)

Raumkomplexität

Der Algorithmus benötigt nur Speicher für Indizes und Grenzinformationen der mm Sequenzen, daher beträgt die Raumkomplexität O(m)O(m).

Algorithmus-Implementierung

Kern-Algorithmus-Ablauf

def multi_way_corank(sequences, K):
    m = len(sequences)
    # Initialisierung von Grenzen und Indizes
    Lb = [0] * m
    Ub = [len(seq) for seq in sequences]
    i = water_fill_initialization(K, Ub)
    
    # Konstruktion von Index-Heaps
    HL = MaxHeap()  # Max-Heap für linke Grenzen
    HR = MinHeap()  # Min-Heap für rechte Grenzen
    
    for t in range(m):
        HL.insert(t, left_boundary(sequences[t], i[t]))
        HR.insert(t, right_boundary(sequences[t], i[t]))
    
    while True:
        # Spender und Empfänger abrufen
        max_left, p = HL.peek()
        min_right, q = HR.peek()
        
        # Terminierungsbedingung prüfen
        if max_left <= min_right:
            break
            
        # Transfermenge berechnen
        donor_slack = ceil((i[p] - Lb[p]) / 2)
        receiver_slack = ceil((Ub[q] - i[q]) / 2)
        delta = min(donor_slack, receiver_slack)
        
        # Transfer durchführen
        i[p] -= delta
        i[q] += delta
        
        # Grenzen aktualisieren
        Ub[p] = i[p]
        Lb[q] = i[q]
        
        # Heaps aktualisieren
        update_heaps(HL, HR, sequences, i, p, q)
    
    return i

Initialisierungsstrategie

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

Anwendungsszenarien

1. Verteiltes Fractional-Knapsack-Problem

Bei Multi-Source-Fractional-Knapsack-Problemen, wenn Gegenstände nach Dichte sortiert über mm Shards verteilt sind, kann Co-Ranking verwendet werden, um die globale KK-Präfix-Partitionierung zu berechnen, ohne Quelldaten zusammenzuführen.

2. Paralleles mm-Wege-Merge-Partitioning

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.

3. Multi-Stream-Join-Partitionierung

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.

Experimentelle Verifikation

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:

Theoretische Leistungsgarantien

  • Zeitkomplexität: O(log(tnt)logm)O(\log(\sum_t n_t) \log m)
  • Raumkomplexität: O(m)O(m)
  • Unabhängigkeit: Komplexität ist unabhängig vom Zielranking KK

Vergleich mit bestehenden Methoden

  • Gegenüber Merge-Methoden: Vermeidung von O(N)O(N) Merge-Overhead
  • Gegenüber Werteraum-Methoden: Vermeidung globaler Zähloperationen
  • Gegenüber Frederickson-Johnson: Indexraum-Operationen sind effizienter

Verwandte Arbeiten

Zwei-Listen-Co-Ranking

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 mm-Wege.

Splitter-basiertes paralleles Sortieren

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.

Auswahl in Sortierpartitionierung

Die klassische Arbeit von Frederickson-Johnson untersucht Auswahl und Ranking auf strukturierten Eingaben (wie Vereinigungen von mm sortierten Listen). Ihr Algorithmus ist im Wesentlichen ein Werteraum-Prozess, während dieses Papier ein Indexraum-Primitiv bereitstellt.

Schlussfolgerung und Diskussion

Hauptschlussfolgerungen

  1. Erfolgreiche Erweiterung des Zwei-Wege-Co-Ranking auf Multi-Way-Fall unter Beibehaltung guter theoretischer Eigenschaften
  2. Indexraum-Operationen vermeiden Wertebereichssuche und bieten deterministische Komplexitätsgarantien
  3. Algorithmus ist einfach zu implementieren und hat gute praktische Anwendbarkeit

Einschränkungen

  1. Annahmen: Erfordert, dass Eingabesequenzen bereits sortiert sind
  2. Anwendungsbereich: Hauptsächlich für Szenarien geeignet, die genaue Partitionierung erfordern
  3. Experimentelle Verifikation: Mangel an großflächiger experimenteller Verifikation der Leistung

Zukünftige Richtungen

  1. Dynamische Sequenzen: Erweiterung zur Unterstützung dynamischer Sequenzaktualisierungen
  2. Approximationsalgorithmen: Entwicklung schnellerer Approximationsversionen
  3. Parallelisierung: Untersuchung von Parallelisierungsmöglichkeiten des Algorithmus
  4. Praktische Anwendungen: Verifikation der Effektivität in mehr praktischen Systemen

Tiefgreifende Bewertung

Stärken

  1. Theoretischer Beitrag: Erstmals effizienter Algorithmus für Multi-Way-Co-Ranking, füllt theoretische Lücke
  2. Methodische Innovation: Neuartige Indexraum-Operationen vermeiden Einschränkungen traditioneller Methoden
  3. Rigorose Analyse: Vollständige Korrektheitsbeweis und Komplexitätsanalyse
  4. Praktischer Wert: Einfacher Algorithmus, leicht zu implementieren, klare Anwendungsszenarien

Mängel

  1. Fehlende Experimente: Papier ermangelt experimenteller Verifikation, kann tatsächliche Leistung nicht bewerten
  2. Begrenzte Vergleiche: Keine detaillierten Leistungsvergleiche mit bestehenden Methoden
  3. Oberflächliche Anwendungen: Diskussion von Anwendungsszenarien ist relativ einfach, ermangelt tiefgreifender Analyse

Einflussfähigkeit

  1. Akademischer Wert: Bietet theoretische Grundlagen für Multi-Way-Co-Ranking-Problem
  2. Praktisches Potenzial: Hat Anwendungsperspektiven in verteilten Datenverarbeitungs- und parallelen Verarbeitungsbereichen
  3. Reproduzierbarkeit: Autor stellt Implementierungscode bereit, erleichtert Verifikation und Erweiterung

Anwendbare Szenarien

  • Datenpartitionierung in verteilten Systemen
  • Lastausgleich in parallelen Algorithmen
  • Abfrageoptimierung in Datenbanksystemen
  • Multi-Stream-Merge in Stream-Processing-Systemen

Literaturverzeichnis

1 Greg N. Frederickson and Donald B. Johnson. Generalized selection and ranking. STOC 1980.

2 Christian Siebert. Perfectly load-balanced, stable, synchronization-free parallel merge. Parallel Processing Letters, 2014.

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.