بنية بيانات الاسترجاع

في علوم الحاسوب ، بنية بيانات الاسترجاع ، والمعروفة أيضًا باسم الدالة الثابتة ، هي نوع بيانات يشبه القاموس فعال من حيث المساحة ويتكون من مجموعة من أزواج (المفتاح، القيمة) التي تسمح بالعمليات التالية: [ 1 ]

  • البناء من مجموعة من أزواج (المفتاح، القيمة)
  • استرجع القيمة المرتبطة بالمفتاح المحدد، أو أي قيمة أخرى إذا لم يكن المفتاح موجودًا في المجموعة.
  • تحديث القيمة المرتبطة بمفتاح (اختياري)

ويمكن اعتبارها أيضًا دالةب:يو{0،1}ر{\displaystyle b\colon \,{\mathcal {U}}\to \{0,1\}^{r}}من أجل الكونيو{\displaystyle {\mathcal {U}}}ومجموعة المفاتيحSيو{\displaystyle S\subseteq {\mathcal {U}}}حيث يجب أن تُعيد عملية الاسترجاعب(x){\displaystyle b(x)}لأي قيمةxS{\displaystyle x\in S}وقيمة عشوائية من{0،1}ر{\displaystyle \{0,1\}^{r}}خلاف ذلك.

على عكس الوظائف الثابتة، تدعم مرشحات AMQ استعلامات العضوية (الاحتمالية) وتسمح القواميس أيضًا بعمليات مثل سرد المفاتيح أو البحث عن القيمة المرتبطة بمفتاح وإرجاع رمز آخر إذا لم يكن المفتاح موجودًا.

كما يتضح من العمليات، لا تحتاج بنية البيانات هذه إلى تخزين المفاتيح إطلاقًا، بل قد تستخدم مساحة أقل مما هو مطلوب لقائمة بسيطة من أزواج المفاتيح والقيم. وهذا ما يجعلها جذابة في الحالات التي تكون فيها البيانات المرتبطة صغيرة (مثل بضعة بتات) مقارنةً بالمفاتيح، إذ يمكننا توفير مساحة كبيرة بتقليل المساحة التي تشغلها المفاتيح.

لنفترض على سبيل المثال البسيطن{\displaystyle n}تُعرض أسماء ألعاب الفيديو مع إضافة قيمة منطقية (Boolean) تُشير إلى ما إذا كانت اللعبة تحتوي على كلب يمكن مداعبته. يمكن لدالة ثابتة مُنشأة من قاعدة البيانات هذه إعادة إنتاج العلامة المرتبطة بجميع الأسماء الموجودة في المجموعة الأصلية، وعلامة أخرى اختيارية لأسماء أخرى. يمكن تصغير حجم هذه الدالة الثابتة إلى 10 ...(1+ϵ)ن{\displaystyle (1+\epsilon )n}قطع صغيرةϵ{\displaystyle \epsilon }وهو أقل بكثير من أي تمثيل قائم على الأزواج. [ 1 ]

حدود المكان والزمان

بالنظر إلى مجموعة منن{\displaystyle n}أزواج المفتاح والقيمة، حيث تكون كل قيمةر{\displaystyle r}البتات، وهي بنية بيانات استرجاع تستخدمرv+ك{\displaystyle rv+k}يقال إن البتات تحتوي على فائضك{\displaystyle k}ينبغي أن تتميز بنية بيانات الاسترجاع المثالية بانخفاض التكرار، مع دعمها للاسترجاع السريع. [ 2 ]

في الإطار الثابت، حيث تقتصر العمليات على الإنشاء والاسترجاع، من الممكن إنشاء حلول مع وجود فائضك=o(ن){\displaystyle k=o(n)}[ 2 ] [ 3 ] ومع ذلك ، اعتمادًا على نظام المعلمات، ليس من الممكن دائمًا تحقيق هذا القدر الضئيل من التكرار مع دعم الاسترجاع في وقت ثابت. [ 4 ] على سبيل المثال، إذار=Θ(سجلن){\displaystyle r=\Theta (\log n)}وبافتراض أن طول الكلمات الآليةw=Θ(سجلن){\displaystyle w=\Theta (\log n)}أي حل يتضمن استعلامات استرجاع ثابتة الوقت يجب أن يتضمن تكرارًاك=Ω(ن){\displaystyle k=\Omega (n)}[ 4 ]

تتغير نسبة التكرار الأمثل بشكل كبير إذا أخذنا في الاعتبار الإصدارات غير الثابتة للمشكلة.

  • في مشكلة استرجاع القيم الديناميكية ، حيث يجب أن يدعم هيكل البيانات عملية التحديث، يكون التكرار الأمثل هوك=Θ(ن){\displaystyle k=\Theta (n)}بغض النظر عن قيمةر{\displaystyle r}وبغض النظر عن كفاءة الوقت. [ 5 ] علاوة على ذلك، عندمار=ω(1){\displaystyle r=\omega (1)}يُعتقد أن التكرار الأمثل، حتى الحدود ذات الرتبة المنخفضة، يتم تحقيقه بواسطة دالة تجزئة مثالية دنيا . [ 5 ]
  • في مشكلة الاسترجاع الديناميكي ، يجب أن يدعم هيكل البيانات عمليات الإدراج والحذف على مجموعة أزواج المفاتيح والقيم، بسعة قصوىن{\displaystyle n}يعتمد ذلك على حجم المجموعة في أي لحظة معينة. بافتراض وجود مفاتيح من مجموعة كبيرة بحجم متعدد الحدود، فإن التكرار الأمثل لهذه النسخة من المشكلة هوك=Θ(نسجلسجلن){\displaystyle k=\Theta (n\log \log n)}أجزاء، حتى لور=1{\displaystyle r=1}[ 6 ] [ 7 ] علاوة على ذلك ، إذا كان قيد السعة لـن{\displaystyle n}إذا تمت إزالته، فسيظل من الممكن تحقيق التكرارك=Θ(نالأعلىسجلسجلنالأعلى){\displaystyle k=\Theta (n_{\text{max}}\log \log n_{\text{max}})}، أيننالأعلى{\displaystyle n_{\text{max}}}وهو أكبر حجم وصلت إليه المجموعة حتى الآن. [ 8 ]
  • في مشكلة الاسترجاع التدريجي ، يجب أن يدعم هيكل البيانات عمليات الإدراج على مجموعة أزواج المفاتيح والقيم، بسعة قصوىن{\displaystyle n}يعتمد ذلك على حجم المجموعة. في هذا السياق، يكون التكرار الأمثل هوك=o(ن){\displaystyle k=o(n)}البتات، كما هو الحال في الإعداد الثابت. [ 7 ]

أمثلة

من الأمثلة البسيطة على الدوال الثابتة قائمة مرتبة من المفاتيح والقيم، تُنفذ جميع العمليات المذكورة أعلاه، بالإضافة إلى العديد من العمليات الأخرى. مع ذلك، فإن استرجاع البيانات من قائمة ما بطيء، ونُنفذ العديد من العمليات غير الضرورية التي يُمكن حذفها لتحسين الأداء. علاوة على ذلك، يُسمح لنا حتى بإرجاع بيانات غير صالحة إذا لم يكن المفتاح المطلوب موجودًا، وهو أمر لم نستخدمه إطلاقًا.

دوال التجزئة المثالية

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

استرجاع XOR

يمكن تصنيف المرشحات المُجزأة حسب استعلاماتها إلى مرشحات OR وAND وXOR. على سبيل المثال، مرشح بلوم هو مرشح AND لأنه يُرجع القيمة "صحيح" لاستعلام العضوية إذا تطابقت جميع المواقع المُستهدفة. تعمل مرشحات XOR فقط مع عمليات الاسترجاع الثابتة، وهي الأنسب لبناء أنظمة فعالة من حيث المساحة. [ 9 ] يتم بناؤها عن طريق حل نظام خطي يضمن أن يُرجع الاستعلام لكل مفتاح القيمة "صحيح".

استرجاع عنصر

بناء

بافتراض دالة تجزئةح{\displaystyle h}التي تربط كل مفتاح بمتجه بت بطولم|S|=ن{\displaystyle m\geq \left\vert S\right\vert =n}حيث الجميع(ح(x))xS{\displaystyle (h(x))_{x\in S}}إذا كانت المعادلات الخطية التالية مستقلة خطيًا، فإن النظام التالي من المعادلات الخطية له حل.Z{0،1}م×ر{\displaystyle Z\in \{0,1\}^{m\times r}}:

(ح(x)Z=ب(x))xS{\displaystyle (h(x)\cdot Z=b(x))_{x\in S}}

وبالتالي، تُعطى الدالة الساكنة بالصيغة التالية:ح{\displaystyle h}وZ{\displaystyle Z}ويهيمن على استخدام المساحةZ{\displaystyle Z}وهو ما يعادل تقريبًا(1+ϵ)ن{\displaystyle (1+\epsilon )n}بت لكل مفتاح لـم=(1+ϵ)ن{\displaystyle m=(1+\epsilon )n}، يُفترض أن دالة التجزئة صغيرة.

استرجاع لـxيو{\displaystyle x\in {\mathcal {U}}}يمكن التعبير عنها كعملية XOR ثنائية للصفوفZأنا{\displaystyle Z_{i}}لجميع البتات المحددةأنا{\displaystyle i}لح(x){\displaystyle h(x)}علاوة على ذلك، تتطلب الاستعلامات السريعة بيانات متفرقةح(x){\displaystyle h(x)}وبالتالي فإن المشاكل التي يجب حلها لهذه الطريقة هي إيجاد دالة تجزئة مناسبة مع القدرة على حل نظام المعادلات الخطية بكفاءة.

استعادة الشريط

باستخدام مصفوفة عشوائية متفرقةح{\displaystyle h}يجعل ذلك عمليات الاسترجاع غير فعالة من حيث ذاكرة التخزين المؤقت لأنها تصل إلى معظمZ{\displaystyle Z}بنمط عشوائي غير محلي. يعمل استرجاع الشريط على تحسين ذلك من خلال إعطاء كلح(x){\displaystyle h(x)}شريط متتالي من العرضw=يا(سجلن/ϵ){\displaystyle w={\mathcal {O}}(\log n/\epsilon )}حيث يتم تعيين البتات بشكل عشوائي. [ 9 ]

باستخدام خصائص(ح(x))xS{\displaystyle (h(x))_{x\in S}}المصفوفةZ{\displaystyle Z}يمكن حسابها فييا(ن/ϵ2){\displaystyle {\mathcal {O}}(n/\epsilon ^{2})}الوقت المتوقع: تعمل خوارزمية الشريط عن طريق فرز الصفوف أولاً حسب موقعها الابتدائي (مثل فرز العد ). بعد ذلك، يمكن إنشاء نموذج REM بشكل تكراري عن طريق إجراء عمليات على الصفوف التي تلي الصف الحالي مباشرةً، مما يؤدي إلى حذف جميع القيم التي تساوي 1 في جميع الأعمدة التي تلي أول قيمة تساوي 1 في هذا الصف. لا تُنتج عمليات الصفوف أي قيم خارج الشريط، وهي غير مكلفة للغاية لأنها تتطلب فقط عملية XOR.يا(سجلن/ϵ){\displaystyle {\mathcal {O}}(\log n/\epsilon )}أجزاء يمكن القيام بها فييا(1/ϵ){\displaystyle {\mathcal {O}}(1/\epsilon )}الوقت على ذاكرة الوصول العشوائي (RAM) . يمكن إثبات أن الكمية المتوقعة لعمليات الصف هييا(ن/ϵ){\displaystyle {\mathcal {O}}(n/\epsilon )}وأخيرًا، يتم الحصول على الحل عن طريق التعويض العكسي. [ 10 ]

التطبيقات

تُستخدم دوال التجزئة التي تؤدي إلى عمليات الإدخال لبناء دالة تجزئة مثالية

العضوية التقريبية

لإنشاء بنية بيانات عضوية تقريبية، استخدم دالة بصمة الإصبع.ح:يو{0،1}ر{\displaystyle h\colon \,{\mathcal {U}}\to \{0,1\}^{r}}ثم قم بإنشاء دالة ثابتةدحS{\displaystyle D_{h_{S}}}علىحS{\displaystyle h_{S}}يقتصر على نطاق مفاتيحناS{\displaystyle S}.

التحقق من انتماء عنصر ماxيو{\displaystyle x\in {\mathcal {U}}}يتم ذلك عن طريق التقييمدحS{\displaystyle D_{h_{S}}}معx{\displaystyle x}وإرجاع القيمة "صحيح" إذا كانت القيمة المُعادة تساويح(x){\displaystyle h(x)}.

  • لوxS{\displaystyle x\in S}،دحS{\displaystyle D_{h_{S}}}يعيد القيمة الصحيحةح(x){\displaystyle h(x)}ونعيد القيمة "صحيح".
  • خلاف ذلك،دحS{\displaystyle D_{h_{S}}}يُعيد قيمة عشوائية، وقد نحصل على إجابة خاطئة. الطولر{\displaystyle r}تتيح خاصية التجزئة التحكم في معدل النتائج الإيجابية الخاطئةو=2ر{\displaystyle f=2^{r}}.

إن أداء بنية البيانات هذه هو بالضبط أداء الدالة الثابتة الأساسية. [ 11 ]

دوال التجزئة المثالية

يمكن استخدام بنية بيانات الاسترجاع لإنشاء دالة تجزئة مثالية: أولاً، أدخل المفاتيح في جدول تجزئة الوقواق معح=2ر{\displaystyle H=2^{r}}دوال التجزئةحأنا{\displaystyle h_{i}}ومجموعات بحجم 1. ثم، لكل مفتاح، يتم تخزين فهرس دالة التجزئة التي أدت إلى إدخال المفتاح في جدول التجزئة فير{\displaystyle r}بنية بيانات استرجاع بتد{\displaystyle D}دالة التجزئة المثالية معطاة بواسطةحد(x)(x){\displaystyle h_{D(x)}(x)}[ 12 ]

مراجع

  1. 1 2 ستيفان، والزر (2020). الرسوم البيانية الفائقة العشوائية لهياكل البيانات القائمة على التجزئة (أطروحة دكتوراه). ص 27-30 . 
  2. 1 2 ديتزفيلبينجر، مارتن؛ باج، راسموس (2008)، "هياكل بيانات موجزة للاسترجاع والعضوية التقريبية (ملخص موسع)" ، سلسلة محاضرات في علوم الحاسوب ، برلين، هايدلبرغ: سبرينغر برلين هايدلبرغ، ص 385-396 ، doi : 10.1007/978-3-540-70575-8_32 ، ISBN  978-3-540-70574-1تم الاطلاع عليه بتاريخ 2026-04-04
  3. بورات، إيلي (2009)، "استبدال مرشح بلوم الأمثل بناءً على حل المصفوفات" ، علوم الحاسوب - النظرية والتطبيقات ، سلسلة محاضرات في علوم الحاسوب، المجلد 5675، برلين، هايدلبرغ: سبرينغر برلين هايدلبرغ، الصفحات 263-273 ، doi : 10.1007/978-3-642-03351-3_25 ، ISBN   978-3-642-03350-6تم الاطلاع عليه بتاريخ 2026-04-04
  4. ١ ٢ هو، يانغ؛ كوزماول، ويليام؛ ليانغ، جينغشون؛ يو، هواشنغ؛ تشانغ، جونكاي؛ تشو، رينفي (١٤ ديسمبر ٢٠٢٥). "إعادة النظر في الاسترجاع الثابت: نحو الأمثلية وما بعدها" . المؤتمر السنوي السادس والستون لمؤسسة مهندسي الكهرباء والإلكترونيات (IEEE) حول أسس علوم الحاسوب (FOCS) لعام ٢٠٢٥. IEEE. الصفحات ٢٣٩٢-٢٤٠٩ . doi : 10.1109/focs63196.2025.00126 . ISBN  979-8-3315-7132-0.
  5. 1 2 كوزماول، ويليام؛ والزر، ستيفان (10-06-2024). "الحدود الدنيا للمساحة للمرشحات الديناميكية واسترجاع القيم الديناميكية". وقائع الندوة السنوية السادسة والخمسين لجمعية ACM حول نظرية الحوسبة . نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM. الصفحات 1153-1164 . doi : 10.1145/3618260.3649649 . ISBN  979-8-4007-0383-6.
  6. ^ ديمين، إريك د. دير هايد، فريدهيلم ماير عوف؛ باغ، راسموس. Pītraşcu، Mihai (2006)، “De Dictionariis Dynamicis Pauco Spatio Utentibus” ، ملاحظات محاضرة في علوم الكمبيوتر ، برلين، هايدلبرغ: سبرينغر برلين هايدلبرغ، الصفحات من 349 إلى 361، دوى : 10.1007 / 11682462_34 ، ISBN  978-3-540-32755-4تم الاطلاع عليه بتاريخ 2026-04-04
  7. 1 2 كوزماول، ويليام؛ بوترمان، آرون؛ شو، تينغكيانغ؛ تشو، هانغروي؛ تشو، رينفي (2025)، "الحدود المحكمة والانتقالات الطورية للاسترجاع التزايدي والديناميكي" ، وقائع ندوة ACM-SIAM السنوية لعام 2025 حول الخوارزميات المنفصلة (SODA) ، فيلادلفيا، بنسلفانيا: جمعية الرياضيات الصناعية والتطبيقية، الصفحات 3974-3997 ، doi : 10.1137/1.9781611978322.135 ، ISBN  978-1-61197-832-2تم الاطلاع عليه بتاريخ 2026-04-04
  8. بيرسيا، إيوانا أوريانا؛ إيفن، جاي (9 يونيو 2022). "بنية بيانات قابلة للتوسيع للتجزئة المثالية المستقرة التزايدية" . وقائع الندوة السنوية الرابعة والخمسين لجمعية ACM SIGACT حول نظرية الحوسبة . نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM. الصفحات 1298-1310 . doi : 10.1145/3519935.3520070 . ISBN  978-1-4503-9264-8.
  9. 1 2 ديلينجر، بيتر سي؛ والزر، ستيفان (2021). "مرشح الشريط: أصغر عمليًا من بلوم و Xor". arXiv : 2103.02515 [ cs.DS ].
  10. ^ ديتزفيلبينجر ، مارتن. والتزر، ستيفان (2019). “إزالة غاوس الفعالة للمصفوفات شبه التربيعية مع كتلة عشوائية قصيرة واحدة لكل صف، مع التطبيقات”. في بندر، مايكل أ. سفينسون، علا؛ هيرمان، جريزيجورز (محرران). الندوة الأوروبية السنوية السابعة والعشرون حول الخوارزميات، وكالة الفضاء الأوروبية 2019، 9-11 سبتمبر 2019، ميونيخ/ جارشينج، ألمانيا . LIPics. المجلد. 144. شلوس داغستوهل – مركز لايبنتز للمعلوماتية. ص 39: 1-39: 18. أرخايف : 1907.04750 . دوى : 10.4230/LIPIcs.ESA.2019.39 .  
  11. ديتزفيلبينجر، مارتن؛ باج، راسموس (2008). "هياكل بيانات موجزة للاسترجاع والعضوية التقريبية (ملخص موسع)". في: أسيتو، لوكا؛ دامغارد، إيفان؛ غولدبيرغ، ليزلي آن؛ هالدورسون، ماغنوس م.؛ إنغولفسدوتير، آنا؛ والوكيفيتش، إيغور (محررون). الأوتوماتا واللغات والبرمجة، الندوة الدولية الخامسة والثلاثون، ICALP 2008، ريكيافيك، أيسلندا، 7-11 يوليو 2008، وقائع المؤتمر، الجزء الأول: المسار أ: الخوارزميات والأوتوماتا والتعقيد والألعاب . سلسلة محاضرات في علوم الحاسوب. المجلد 5125. سبرينغر. الصفحات 385-396 . arXiv : 0803.3693 . دوى : 10.1007/978-3-540-70575-8_32 . رقم ISBN   978-3-540-70574-1.
  12. والزر، ستيفان (2021). "الاقتراب من عتبة التوجيه - الاقتران المكاني في هياكل البيانات القائمة على التجزئة". في ماركس، دانيال (محرر). وقائع ندوة ACM-SIAM لعام 2021 حول الخوارزميات المنفصلة، ​​SODA 2021، مؤتمر افتراضي، 10-13 يناير 2021. جمعية الرياضيات الصناعية والتطبيقية. ص 2194-2211 . arXiv : 2001.10500 . doi : 10.1137/ 1.9781611976465.131 . ISBN  978-1-61197-646-5.