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

ترتيب متعدد الاتجاهات المتزامن: تقسيم فضاء الفهرس للتسلسلات المرتبة بدون دمج

المعلومات الأساسية

  • معرّف الورقة: 2510.22882
  • العنوان: ترتيب متعدد الاتجاهات المتزامن: تقسيم فضاء الفهرس للتسلسلات المرتبة بدون دمج
  • المؤلف: أميت جوشي (باحث مستقل)
  • التصنيف: cs.DS (هياكل البيانات والخوارزميات)
  • تاريخ النشر: 27 أكتوبر 2025 (نسخة أولية على arXiv)
  • رابط الورقة: https://arxiv.org/abs/2510.22882

الملخص

تقدم هذه الورقة خوارزمية ترتيب متزامن متعدد الاتجاهات بدون دمج لحساب فهارس القطع i1,,imi_1,\dots,i_m التي تقسم mm من التسلسلات المرتبة، بحيث تحتوي جميع القطاعات البادئة مجتمعة على KK عنصر بالضبط. تمدد هذه الطريقة ترتيب سيبرت وتراف المتزامن ثنائي القائمة إلى أي mm-اتجاه، مع الحفاظ على حدود كل تسلسل والتقارب نحو جبهة عالمية متسقة، دون تنفيذ دمج متعدد الاتجاهات أو البحث في فضاء القيم. تطبق الخوارزمية البحث الثنائي في فضاء الفهرس بتعقيد زمني قدره O(log(tnt)logm)O(\log(\sum_t n_t)\log m) وتعقيد مكاني قدره O(m)O(m)، وهو مستقل عن KK. يتم إثبات الصحة من خلال حجج التبديل، وتناقش التطبيقات في حقيبة الكسور الموزعة والتقسيم المتوازي للدمج والربط متعدد التدفقات.

الخلفية البحثية والدافع

تعريف المشكلة

يُعرّف مشكلة الترتيب المتزامن متعدد الاتجاهات على النحو التالي: بمعطيات mm من التسلسلات L1,,LmL_1, \ldots, L_m المرتبة بترتيب غير تنازلي (مع السماح بالتكرار)، بطول ntn_t لكل منها، والهدف العالمي للترتيب K{0,,N}K \in \{0, \ldots, N\} (حيث N=tntN = \sum_t n_t)، يجب إيجاد فهارس القطع i1,,imi_1, \ldots, i_m بحيث:

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

حيث t\ell_t و rtr_t يمثلان قيم الحد الأيسر والأيمن على التوالي.

الدافع البحثي

  1. توسيع الخوارزميات الكلاسيكية: تركز الخوارزميات الموجودة للترتيب المتزامن بشكل أساسي على تسلسلين، مع نقص في التوسعات الفعالة متعددة الاتجاهات
  2. تجنب تكاليف الدمج: تتطلب الطرق التقليدية دمج تسلسلات متعددة أولاً ثم إجراء الاختيار، مما يزيد التكاليف
  3. مزايا فضاء الفهرس: العمل في فضاء الفهرس بدلاً من فضاء القيم يتجنب تعقيد البحث في المجال
  4. احتياجات التطبيقات العملية: تتطلب الحوسبة الموزعة والمعالجة المتوازية وعمليات استعلام قواعد البيانات خوارزميات تقسيم فعالة متعددة الاتجاهات

قيود الطرق الموجودة

  • طريقة سيبرت-تراف: تدعم فقط الترتيب المتزامن لتسلسلين
  • طريقة فريدريكسون-جونسون: تعمل في فضاء القيم، وتتطلب عمليات عد عالمية
  • الطرق القائمة على الفواصل: تتطلب دمجاً مسبقاً أو بحثاً في المجال، بتعقيد أعلى

المساهمات الأساسية

  1. تصميم الخوارزمية: تقديم أول خوارزمية ترتيب متزامن متعدد الاتجاهات بدون دمج، توسيع الطريقة الثنائية الكلاسيكية إلى أي mm-اتجاه
  2. التحليل النظري: إثبات صحة الخوارزمية وتعقيدها الزمني O(log(tnt)logm)O(\log(\sum_t n_t)\log m)
  3. ابتكار هيكل البيانات: تصميم أكوام قابلة للعنونة (addressable heaps) للحفاظ على قيم الحدود بكفاءة
  4. توسيع التطبيقات: عرض إمكانيات الخوارزمية في التحسين الموزع والمعالجة المتوازية وأنظمة قواعد البيانات

شرح الطريقة

تعريف المهمة

المدخلات:

  • mm من التسلسلات المرتبة L1,,LmL_1, \ldots, L_m بأطوال n1,,nmn_1, \ldots, n_m على التوالي
  • هدف الترتيب K[0,N]K \in [0, N]، حيث N=t=1mntN = \sum_{t=1}^m n_t

المخرجات:

  • متجه فهارس القطع (i1,,im)(i_1, \ldots, i_m) يحقق شروط الترتيب المتزامن

القيود:

  • t=1mit=K\sum_{t=1}^m i_t = K
  • maxttmintrt\max_t \ell_t \leq \min_t r_t (شرط الترتيب المتزامن)

معمارية الخوارزمية

هيكل البيانات الأساسي: أكوام الفهرس

تحافظ الخوارزمية على كومين من الفهارس:

  • HLH_L: أقصى كومة، تخزن قيم الحد الأيسر (t,t)(\ell_t, t)، وترجع التسلسل ذا أقصى حد أيسر (المانح)
  • HRH_R: أدنى كومة، تخزن قيم الحد الأيمن (rt,t)(r_t, t)، وترجع التسلسل ذا أدنى حد أيمن (المستقبل)

يدعم كل كومة عملية update_key بـ O(logm)O(\log m) وعملية peek بـ O(1)O(1).

إدارة الحدود

للحفاظ على كل تسلسل tt:

  • الحد الأدنى: Lb[t]i[t]Lb[t] \leq i[t]
  • الحد الأقصى: i[t]Ub[t]i[t] \leq Ub[t]
  • الفهرس الحالي: i[t]i[t]

استراتيجية التكرار

تستخدم الخوارزمية استراتيجية جشعة من المانح-المستقبل:

  1. تحديد القيم الحدية:
    • المانح p=argmaxttp = \arg\max_t \ell_t (أقصى حد أيسر)
    • المستقبل q=argmintrtq = \arg\min_t r_t (أدنى حد أيمن)
  2. حساب مقدار النقل:
    donor_slack = ⌈(i[p] - Lb[p])/2⌉
    receiver_slack = ⌈(Ub[q] - i[q])/2⌉
    Δ = min{donor_slack, receiver_slack}
    
  3. تنفيذ النقل:
    • i[p]i[p]Δi[p] \leftarrow i[p] - \Delta
    • i[q]i[q]+Δi[q] \leftarrow i[q] + \Delta
    • تحديث الحدود: Ub[p]i[p]Ub[p] \leftarrow i[p]، Lb[q]i[q]Lb[q] \leftarrow i[q]
  4. تحديث الأكوام: تحديث قيم مفاتيح الأكوام للتسلسلات المتأثرة

نقاط الابتكار التقني

  1. العمل في فضاء الفهرس: العمل بالكامل في فضاء الفهرس، مما يتجنب البحث في فضاء القيم وعمليات الدمج
  2. التقارب الهندسي: من خلال تقليل المجال الممكن بمقدار النصف، يضمن سرعة تقارب لوغاريتمية
  3. دالة الجهد غير المتوازنة: تعريف Φ(i)=maxttmintrt\Phi(i) = \max_t \ell_t - \min_t r_t كمعيار التقارب
  4. التعقيد الحتمي: تعقيد الخوارزمية مستقل عن هدف الترتيب KK

التحليل النظري

إثبات الصحة

اللمة 1 (الأمثلية المحلية للقيم الحدية)

إذا كان Φ(i)>0\Phi(i) > 0، وليكن p=argmaxttp = \arg\max_t \ell_t و q=argmintrtq = \arg\min_t r_t. من بين جميع التحويلات اللامتناهية الممكنة التي تحافظ على tit=K\sum_t i_t = K، يحقق الزوج (p,q)(p,q) أقصى تغيير غير متزايد في Φ\Phi.

فكرة الإثبات: تقليل ipi_p يقلل p\ell_p (الحد الأيسر الأقصى محلياً)، وزيادة iqi_q ترفع rqr_q (الحد الأيمن الأدنى محلياً). بما أن pu\ell_p \geq \ell_u و rqrvr_q \leq r_v لجميع u,vu,v، فإن الزوج الحدي (p,q)(p,q) ينتج أكثر انخفاض حاد في الفجوة maxminr\max\ell - \min r.

اللمة 2 (قابلية تبديل ترتيب النقل)

يمكن إعادة ترتيب أي تسلسل نقل ممكن يقلل Φ\Phi بحيث تحدث جميع نقلات الزوج الحدي (p,q)(p,q) قبل أي نقل غير حدي، دون تفاقم Φ\Phi في أي خطوة وسيطة.

النظرية 1 (التقارب والصحة)

تنتهي الخوارزمية 2 بمتجه ترتيب متزامن صحيح (i1,,im)(i_1, \ldots, i_m) يحقق tit=K\sum_t i_t = K و maxttmintrt\max_t \ell_t \leq \min_t r_t.

تحليل التعقيد

تحليل الجولات

في كل جولة، يتم تقليل المسافة الممكنة للمانح أو المستقبل بمقدار النصف. المسافة Ub[t]Lb[t]Ub[t] - Lb[t] لكل تسلسل تتناقص بحد أقصى O(lognt)O(\log n_t) مرة. بتجميع جميع mm من التسلسلات، يكون إجمالي عدد الجولات:

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

التعقيد الزمني

تنفذ كل جولة عدداً ثابتاً من عمليات كومة الفهرس (وقت O(logm)O(\log m))، والتعقيد الزمني الكلي هو:

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

التعقيد المكاني

تحتاج الخوارزمية فقط إلى تخزين الفهارس والحدود لـ mm من التسلسلات، بتعقيد مكاني قدره O(m)O(m).

تنفيذ الخوارزمية

تدفق الخوارزمية الأساسي

def multi_way_corank(sequences, K):
    m = len(sequences)
    # تهيئة الحدود والفهارس
    Lb = [0] * m
    Ub = [len(seq) for seq in sequences]
    i = water_fill_initialization(K, Ub)
    
    # بناء أكوام الفهرس
    HL = MaxHeap()  # أقصى كومة للحد الأيسر
    HR = MinHeap()  # أدنى كومة للحد الأيمن
    
    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:
        # الحصول على المانح والمستقبل
        max_left, p = HL.peek()
        min_right, q = HR.peek()
        
        # فحص شرط الإنهاء
        if max_left <= min_right:
            break
            
        # حساب مقدار النقل
        donor_slack = ceil((i[p] - Lb[p]) / 2)
        receiver_slack = ceil((Ub[q] - i[q]) / 2)
        delta = min(donor_slack, receiver_slack)
        
        # تنفيذ النقل
        i[p] -= delta
        i[q] += delta
        
        # تحديث الحدود
        Ub[p] = i[p]
        Lb[q] = i[q]
        
        # تحديث الأكوام
        update_heaps(HL, HR, sequences, i, p, q)
    
    return i

استراتيجية التهيئة

استخدام استراتيجية "ملء الماء" لتهيئة حل ممكن:

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

حالات التطبيق

1. مشكلة حقيبة الكسور الموزعة

في مشكلة حقيبة الكسور متعددة المصادر، عندما تكون العناصر مرتبة حسب الكثافة وموزعة على mm من الأجزاء، يمكن استخدام الترتيب المتزامن لحساب تقسيم البادئة العالمية KK بدون دمج بيانات المصدر.

2. تقسيم الدمج المتوازي mm-اتجاه

لتخصيص معالجات بادئات منفصلة، دون تنفيذ دمج تحضيري. يحدد متجه الترتيب المتزامن نقاط الاتصال الدقيقة، ثم تنفذ المعالجات فقط دمجاً محلياً لنطاقها.

3. تقسيم الربط متعدد التدفقات

في خط أنابيب قاعدة البيانات أو معالجة التدفقات، يعتبر التقسيم عند الترتيب العالمي احتياجاً طبيعياً، وتنتج هذه الطريقة مؤشرات لكل تدفق متسقة مع البادئة العالمية.

التحقق التجريبي

على الرغم من أن الورقة تركز بشكل أساسي على التحليل النظري، يوفر المؤلف كود تنفيذ للتحقق. يمكن تقييم الأداء الفعلية للخوارزمية من خلال الجوانب التالية:

ضمانات الأداء النظرية

  • التعقيد الزمني: O(log(tnt)logm)O(\log(\sum_t n_t) \log m)
  • التعقيد المكاني: O(m)O(m)
  • الاستقلالية: التعقيد مستقل عن هدف الترتيب KK

المقارنة مع الطرق الموجودة

  • مقابل طرق الدمج: تجنب تكاليف الدمج O(N)O(N)
  • مقابل طرق فضاء القيم: تجنب عمليات العد العالمية
  • مقابل فريدريكسون-جونسون: العمل في فضاء الفهرس، أكثر كفاءة

الأعمال ذات الصلة

الترتيب المتزامن ثنائي القائمة

يضع عمل سيبرت وتراف الأساس للترتيب المتزامن، ويستخدم بشكل أساسي لتقسيم العمل في الدمج المتوازي. توسع هذه الورقة من 2-اتجاه إلى أي mm-اتجاه.

الفرز المتوازي القائم على الفواصل

تدرس طريقة الفاصل الدقيق لسيبرت وولف العمليات في فضاء القيم، وتبحث عن عتبات مفاتيح لتقسيم متوازن. في المقابل، تعمل طريقة هذه الورقة في فضاء الفهرس، وتخرج مباشرة متجه الترتيب المتزامن.

الاختيار والترتيب في تقسيم الفرز

يدرس العمل الكلاسيكي لفريدريكسون-جونسون الاختيار والترتيب على المدخلات المنظمة (مثل اتحاد mm من القوائم المرتبة). تعتبر خوارزميتهم بشكل أساسي عملية فضاء قيم، بينما توفر هذه الورقة بدائية فضاء فهرس.

الخلاصة والمناقشة

الاستنتاجات الرئيسية

  1. توسيع ناجح للترتيب المتزامن ثنائي الاتجاه إلى حالة متعددة الاتجاهات، مع الحفاظ على الخصائص النظرية الجيدة
  2. العمل في فضاء الفهرس يتجنب البحث في فضاء القيم، ويوفر ضمانات تعقيد حتمية
  3. الخوارزمية بسيطة وسهلة التنفيذ، بتطبيق عملي جيد

القيود

  1. الافتراضات: يتطلب أن تكون التسلسلات المدخلة مرتبة بالفعل
  2. نطاق التطبيق: ينطبق بشكل أساسي على السيناريوهات التي تتطلب تقسيماً دقيقاً
  3. التحقق التجريبي: يفتقد إلى التحقق التجريبي على نطاق واسع لأداء الأداء

الاتجاهات المستقبلية

  1. التسلسلات الديناميكية: توسيع لدعم التسلسلات ذات التحديثات الديناميكية
  2. الخوارزميات التقريبية: تطوير نسخ تقريبية أسرع
  3. المتوازاة: البحث في إمكانيات موازاة الخوارزمية
  4. التطبيقات العملية: التحقق من الفعالية في المزيد من الأنظمة العملية

التقييم المتعمق

المزايا

  1. المساهمة النظرية: توفير أول خوارزمية فعالة للترتيب المتزامن متعدد الاتجاهات، ملء فراغ نظري
  2. ابتكار الطريقة: فكرة العمل في فضاء الفهرس جديدة، وتتجنب قيود الطرق التقليدية
  3. التحليل الصارم: توفير إثبات صحة كامل وتحليل تعقيد
  4. القيمة العملية: الخوارزمية بسيطة وسهلة التنفيذ، مع حالات تطبيق واضحة

أوجه القصور

  1. غياب التجارب: تفتقد الورقة إلى التحقق التجريبي، مما يجعل من الصعب تقييم الأداء الفعلية
  2. المقارنة المحدودة: لا توجد مقارنة تفصيلية مع الطرق الموجودة
  3. عمق التطبيق: النقاش حول حالات التطبيق نسبياً بسيط، يفتقد إلى التحليل المتعمق

التأثير

  1. القيمة الأكاديمية: توفير أساس نظري لمشكلة الترتيب المتزامن متعدد الاتجاهات
  2. الإمكانات العملية: آفاق تطبيقية في مجالات الحوسبة الموزعة والمعالجة المتوازية
  3. قابلية التكرار: يوفر المؤلف كود التنفيذ، مما يسهل التحقق والتوسيع

حالات التطبيق المناسبة

  • تقسيم البيانات في الأنظمة الموزعة
  • توازن الحمل في الخوارزميات المتوازية
  • تحسين الاستعلامات في أنظمة قواعد البيانات
  • دمج التدفقات المتعددة في أنظمة معالجة التدفقات

المراجع

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.


التقييم الإجمالي: هذه ورقة بحثية قوية من حيث النظرية، تحل بنجاح مشكلة الترتيب المتزامن متعدد الاتجاهات المهمة. على الرغم من افتقارها إلى التحقق التجريبي، فإن التحليل النظري صارم وابتكار الطريقة قوي، مما يوفر أداة نظرية قيمة للمجالات ذات الصلة.