مشكلة العد المميز

في علوم الحاسوب، تُعرف مسألة عدّ العناصر المميزة [ 1 ] (المعروفة أيضًا في الرياضيات التطبيقية بمسألة تقدير عدد العناصر ) بأنها مسألة إيجاد عدد العناصر المميزة في تدفق بيانات يحتوي على عناصر متكررة. هذه مسألة معروفة ولها تطبيقات عديدة. قد تمثل هذه العناصر عناوين IP لحزم البيانات التي تمر عبر جهاز توجيه ، أو زوارًا فريدين لموقع ويب، أو عناصر في قاعدة بيانات ضخمة، أو أنماطًا في تسلسل الحمض النووي ، أو عناصر شبكات RFID / المستشعرات .

التعريف الرسمي

مثال : لنفترض وجود سلسلة من العناصرx1،x2،...،xs{\displaystyle x_{1},x_{2},\ldots ,x_{s}}مع التكرار. دعن{\displaystyle n}يشير إلى عدد العناصر المتميزة في التدفق، مع تمثيل مجموعة العناصر المتميزة على النحو التالي:{هـ1،هـ2،...،هـن}{\displaystyle \{e_{1},e_{2},\ldots ,e_{n}\}}.
الهدف : إيجاد تقديرن^{\displaystyle {\widehat {n}}}لن{\displaystyle n}باستخدام فقطم{\displaystyle m}وحدات التخزين، حيثمن{\displaystyle m\ll n}.

ومن الأمثلة على حالات مشكلة تقدير عدد العناصر هو التدفق:أ،ب،أ،ج،د،ب،د{\displaystyle a,b,a,c,d,b,d}في هذه الحالة،ن=|{أ،ب،ج،د}|=4{\displaystyle n=|\left\{{a,b,c,d}\right\}|=4}.

حل ساذج

الحل البسيط للمشكلة هو كما يلي:

قم بتهيئة عداد، c ، إلى الصفر.ج0{\displaystyle c\leftarrow 0}قم بتهيئة بنية بيانات قاموس فعالة ، D ، مثل جدول التجزئة أو شجرة البحث، حيث يمكن إجراء عمليات الإضافة والانتماء بسرعة. لكل عنصرxأنا{\displaystyle x_{i}}يتم إصدار استعلام عن العضوية. إذاxأنا{\displaystyle x_{i}}ليس عضواً في D (xأناد{\displaystyle x_{i}\notin D}) يضيفxأنا{\displaystyle x_{i}}إلى D زيادة c بمقدار واحد،جج+1{\displaystyle c\leftarrow c+1} خلاف ذلك (xأناد{\displaystyle x_{i}\in D}) لا تفعل شيئًا. الإخراجن=ج{\displaystyle n=c}.

طالما أن عدد العناصر المختلفة ليس كبيرًا جدًا، فإن المصفوفة D تتسع في الذاكرة الرئيسية ويمكن استرجاع الإجابة الدقيقة. ومع ذلك، فإن هذا الأسلوب لا يتناسب مع سعة التخزين المحدودة، أو إذا كانت العمليات الحسابية التي تُجرى لكل عنصر كبيرة.xأنا{\displaystyle x_{i}}ينبغي تقليلها إلى الحد الأدنى. في مثل هذه الحالة، تم اقتراح العديد من خوارزميات البث التي تستخدم عددًا ثابتًا من وحدات التخزين.

خوارزمية HyperLogLog

خوارزميات البث

لمعالجة قيود التخزين المحدودة، تستخدم خوارزميات البث عملية عشوائية لإنتاج تقدير غير دقيق لعدد العناصر المميزة.ن{\displaystyle n}تقوم أحدث تقنيات التقدير بتجزئة كل عنصرهـج{\displaystyle e_{j}}تحويل البيانات إلى رسم تخطيطي منخفض الأبعاد باستخدام دالة تجزئة،ح(هـج){\displaystyle h(e_{j})}يمكن تصنيف التقنيات المختلفة وفقًا لرسومات البيانات التي تخزنها.

الرسومات التخطيطية الدنيا/القصوى

تخزن رسومات الحد الأدنى/الأقصى [ 2 ] [ 3 ] القيم المُجزأة الدنيا/القصوى فقط. من أمثلة مُقدِّرات رسومات الحد الأدنى/الأقصى المعروفة: يُقدِّم شاسينغ وآخرون [ 4 ] رسم الحد الأقصى، وهو مُقدِّر غير متحيز ذو تباين أدنى للمسألة. مُقدِّر رسومات الحد الأقصى المستمر [ 5 ] هو مُقدِّر الاحتمال الأقصى . المُقدِّر المُختار عمليًا هو خوارزمية هايبر لوغ لوغ [ 6 ] .

يكمن الحدس وراء هذه التقديرات في أن كل رسم تخطيطي يحمل معلومات حول الكمية المطلوبة. على سبيل المثال، عندما يكون كل عنصرهـج{\displaystyle e_{j}}يرتبط بـ RV منتظم ،ح(هـج)يو(0،1){\displaystyle h(e_{j})\sim U(0,1)}، القيمة الدنيا المتوقعة لـح(هـ1)،ح(هـ2)،...،ح(هـن){\displaystyle h(e_{1}),h(e_{2}),\ldots ,h(e_{n})}يكون1/(ن+1){\displaystyle 1/(n+1)}تضمن دالة التجزئة أنح(هـج){\displaystyle h(e_{j})}وهو متطابق في جميع مظاهرهـج{\displaystyle e_{j}}وبالتالي، فإن وجود النسخ المكررة لا يؤثر على قيمة إحصائيات الترتيب المتطرف .

توجد تقنيات تقدير أخرى غير رسومات الحد الأدنى/الأقصى. تصف الورقة البحثية الأولى حول تقدير عدد العناصر المميزة [ 7 ] خوارزمية فلاجو-مارتن ، وهي عبارة عن رسم تخطيطي لنمط بت. في هذه الحالة، تُجزأ العناصر إلى متجه بت، ويحتوي الرسم التخطيطي على عملية OR المنطقية لجميع القيم المُجزأة. وقدّم دانيال إم. كين ، وجيلاني نيلسون ، وديفيد ب . وودروف [ 8 ] أول خوارزمية مثالية من حيث المساحة والوقت لحل هذه المشكلة.

الرسومات التخطيطية السفلية

تُعدّ الرسومات التخطيطية ذات القاعدة m [ 9 ] تعميمًا للرسومات التخطيطية ذات القاعدة min، والتي تحافظ علىم{\displaystyle m}القيم الدنيا، حيثم1{\displaystyle m\geq 1}انظر Cosma et al. [ 2 ] للحصول على نظرة عامة نظرية عن خوارزميات التقدير المميزة بالعد، وMetwally [ 10 ] للحصول على نظرة عامة عملية مع نتائج محاكاة مقارنة.

تطبيق بايثون لخوارزمية Knuth's CVM

دالة algorithm_d ( stream , s : int ):p = 1.0المخزن المؤقت = {}للحصول على بث مباشر :إذا كان a موجودًا في المخزن المؤقت :buffer.pop ( a )u = uniform ( 0 , 1 )إذا كان u < p :إذا كان طول ( المخزن المؤقت ) أقل من s :المخزن المؤقت [ أ ] = uآخر :a_p , u_p = max ( buffer.items ( ), key = lambda x : x [ 1 ] )إذا كانت u > u_p :p = uآخر :buffer.pop ( a_p )المخزن المؤقت [ أ ] = up = u_pإرجاع طول ( المخزن المؤقت ) / p

خوارزمية CVM

بالمقارنة مع خوارزميات التقريب الأخرى لمسألة عدّ العناصر المتميزة، تستخدم خوارزمية CVM [ 11 ] (التي سمّاها دونالد كنوث نسبةً إلى الأحرف الأولى من أسماء سوراف تشاكرابورتي، وإن في فينودشاندرا، وكولديب إس ميل) أسلوب المعاينة بدلاً من التجزئة. توفر خوارزمية CVM مُقدِّراً غير متحيز لعدد العناصر المتميزة في التدفق، [ 12 ] بالإضافة إلى ضمانات (ε-δ) القياسية. فيما يلي خوارزمية CVM، مع التعديل الطفيف الذي أجراه دونالد كنوث. [ 12 ]

تهيئةص1{\displaystyle p\leftarrow 1} تهيئة الحد الأقصى لحجم المخزن المؤقتs{\displaystyle s}، أينs1{\displaystyle s\geq 1} قم بتهيئة مخزن مؤقت فارغ، B لكل عنصرأت{\displaystyle a_{t}}في تدفق البياناتأ{\displaystyle A}من الحجمن{\displaystyle n}افعل: إذا(أت،u)،u{\displaystyle (a_{t},u),\forall u}إذا كان في B ، فاحذفه(أت،u){\displaystyle (a_{t},u)}من بu{\displaystyle u\leftarrow }رقم عشوائي في[0،1){\displaystyle [0,1)}لوu<ص{\displaystyle u<p}ثم إذا|ب|<s{\displaystyle |B|<s}ثم أدخل(أت،u){\displaystyle (a_{t},u)}في ب آخر (أ،u){\displaystyle (a',u')}بحيثu=الأعلى{u":(أ"،u")ب،أ"}{\displaystyle u'=\max\{u'':(a'',u'')\in B,\forall a''\}}/*(أ،u){\displaystyle (a',u')}لمنu{\displaystyle u'}أقصى قيمة في B */ لوu>u{\displaystyle u>u'}ثم صu{\displaystyle p\leftarrow u} آخر يستبدل(أ،u){\displaystyle (a',u')}مع(أت،u){\displaystyle (a_{t},u)}صu{\displaystyle p\leftarrow u'}نهاية حلقة الإرجاع|ب|/ص{\displaystyle |B|/p}.

تم تحسين الإصدار السابق من خوارزمية CVM بالتعديل التالي الذي أجراه دونالد كنوث، والذي أضاف حلقة while لضمان تقليل B. [ 12 ]

تهيئةص1{\displaystyle p\leftarrow 1} تهيئة الحد الأقصى لحجم المخزن المؤقتs{\displaystyle s}، أينs1{\displaystyle s\geq 1} قم بتهيئة مخزن مؤقت فارغ، B لكل عنصرأت{\displaystyle a_{t}}في تدفق البياناتأ{\displaystyle A}من الحجمن{\displaystyle n}افعل: إذاأت{\displaystyle a_{t}}إذا كان في B ، فاحذفهأت{\displaystyle a_{t}}من بu{\displaystyle u\leftarrow }رقم عشوائي في[0،1){\displaystyle [0,1)}لوuص{\displaystyle u\leq p}ثم أدخل(أت،u){\displaystyle (a_{t},u)}إلى ب بينما|ب|=su<ص{\displaystyle |B|=s\wedge u<p}ثم قم بإزالة كل عنصر من(أ،u){\displaystyle (a',u')}من B معu>ص2{\displaystyle u'>{\frac {p}{2}}}صص2{\displaystyle p\leftarrow {\frac {p}{2}}}أنهِ الحلقة إذاu<ص{\displaystyle u<p}ثم أدخل(أت،u){\displaystyle (a_{t},u)}إلى B نهاية للعودة|ب|/ص{\displaystyle |B|/p}.

مشكلة العد المرجح للعناصر المميزة

في نسختها الموزونة، يرتبط كل عنصر بوزن، والهدف هو تقدير المجموع الكلي للأوزان. رسميًا،

مثال : سلسلة من العناصر الموزونةx1،x2،...،xs{\displaystyle x_{1},x_{2},\ldots ,x_{s}}مع التكرارات، وعدد صحيحم{\displaystyle m}. يتركن{\displaystyle n}ليكن عدد العناصر المتميزة، أين=|{x1،x2،...،xs}|{\displaystyle n=|\left\{{x_{1},x_{2},\ldots ,x_{s}}\right\}|}ولتكن هذه العناصر{هـ1،هـ2،...،هـن}{\displaystyle \left\{{e_{1},e_{2},\ldots ,e_{n}}\right\}}وأخيرًا، دعwج{\displaystyle w_{j}}ليكن وزنهـج{\displaystyle e_{j}}.
الهدف : إيجاد تقديرw^{\displaystyle {\widehat {w}}}لw=ج=1نwج{\displaystyle w=\sum _{j=1}^{n}w_{j}}باستخدام فقطم{\displaystyle m}وحدات التخزين، حيثمن{\displaystyle m\ll n}.

ومن الأمثلة على حالات المسألة الموزونة ما يلي:أ(3)،ب(4)،أ(3)،ج(2)،د(3)،ب(4)،د(3){\displaystyle a(3),b(4),a(3),c(2),d(3),b(4),d(3)}في هذه الحالة،هـ1=أ،هـ2=ب،هـ3=ج،هـ4=د{\displaystyle e_{1}=a,e_{2}=b,e_{3}=c,e_{4}=d}الأوزان هيw1=3،w2=4،w3=2،w4=3{\displaystyle w_{1}=3,w_{2}=4,w_{3}=2,w_{4}=3}وwج=12{\displaystyle \sum {w_{j}}=12}.

كمثال تطبيقي،x1،x2،...،xs{\displaystyle x_{1},x_{2},\ldots ,x_{s}}قد تكون حزم بيانات IP التي يستقبلها الخادم. كل حزمة تنتمي إلى أحدن{\displaystyle n}تدفقات بروتوكول الإنترنتهـ1،هـ2،...،هـن{\displaystyle e_{1},e_{2},\ldots ,e_{n}}الوزنwج{\displaystyle w_{j}}يمكن أن يكون الحمل الناتج عن التدفقهـج{\displaystyle e_{j}}على الخادم. وبالتالي،ج=1نwج{\displaystyle \sum _{j=1}^{n}{w_{j}}}يمثل إجمالي الحمل المفروض على الخادم من جميع التدفقات التي تستقبل الحزمx1،x2،...،xs{\displaystyle x_{1},x_{2},\ldots ,x_{s}}ينتمي ل.

حل مشكلة العد الموزون للعناصر المميزة

يمكن تعميم أي مُقدِّر إحصائي للترتيب المتطرف (رسومات الحد الأدنى/الأقصى) للمسألة غير الموزونة ليصبح مُقدِّرًا للمسألة الموزونة. [ 13 ] على سبيل المثال، يمكن الحصول على المُقدِّر الموزون الذي اقترحه كوهين وآخرون [ 5 ] عند توسيع مُقدِّر رسومات الحد الأقصى المستمر لحل المسألة الموزونة. على وجه الخصوص، يمكن توسيع خوارزمية HyperLogLog [ 6 ] لحل المسألة الموزونة. تُقدِّم خوارزمية HyperLogLog الموسعة أفضل أداء، من حيث الدقة الإحصائية واستخدام الذاكرة، مقارنةً بجميع الخوارزميات الأخرى المعروفة للمسألة الموزونة.

انظر أيضاً

مراجع

  1. ^ أولمان ، جيف ؛ راجارامان، أناند؛ ليسكوفيك، جوير . “تدفقات بيانات التعدين” (PDF) .{{cite journal}}يتطلب الاستشهاد بالمجلة ( مساعدة )|journal=
  2. 1 2 كوزما، إيوانا أ.؛ كليفورد، بيتر (2011). "تحليل إحصائي لخوارزميات العد الاحتمالية". المجلة الإسكندنافية للإحصاء . arXiv : 0801.3552 .
  3. جيروار، فريدريك؛ فوسي، إريك (2007). وقائع ورشة العمل الرابعة لعام 2007 حول الخوارزميات التحليلية والتوافقية (ANALCO) . الصفحات 223-231 . CiteSeerX 10.1.1.214.270 . doi : 10.1137/1.9781611972979.9 . ISBN   978-1-61197-297-9.
  4. شاسينغ، فيليب؛ جيرين، لوكاس (2006). "التقدير الفعال لعدد عناصر مجموعات البيانات الكبيرة". وقائع الندوة الرابعة حول الرياضيات وعلوم الحاسوب . arXiv : math/0701347 . Bibcode : 2007math......1347C .
  5. 1 2 كوهين، إديث (1997). "إطار تقدير الحجم مع تطبيقات على الإغلاق المتعدي وإمكانية الوصول" . مجلة علوم الحاسوب والأنظمة . 55 (3): 441-453 . doi : 10.1006/jcss.1997.1534 .
  6. 1 2 فلاجو، فيليب ؛ فوسي، إريك؛ غاندويه، أوليفييه؛ مونييه، فريدريك (2007). "هايبرلوجلوج: تحليل خوارزمية تقدير عدد العناصر شبه المثلى" (ملف PDF) . تحليل الخوارزميات .
  7. فلاجو، فيليب ؛ مارتن، جي. نايجل (1985). "خوارزميات العد الاحتمالية لتطبيقات قواعد البيانات" (ملف PDF) . مجلة علوم الحاسوب والأنظمة . 31 (2): 182-209 . doi : 10.1016/0022-0000(85)90041-8 .
  8. كين، دانيال منيلسون، جيلاني ؛ وودروف، ديفيد ب. (2010). "خوارزمية مثلى لمسألة العناصر المتميزة" . وقائع الندوة التاسعة والعشرين لجمعية ACM SIGMOD-SIGACT-SIGART حول مبادئ أنظمة قواعد البيانات . الصفحات 41-52 . doi : 10.1145/1807085.1807094 . ISBN  978-1-4503-0033-9.
  9. كوهين، إديث ؛ كابلان، حاييم (2008). "تقدير أكثر دقة باستخدام رسومات تخطيطية لأقل k قيمة" (ملف PDF) . PVLDB .
  10. متولي، أحمد؛ أغراوال، ديفياكانت؛ عبادي، عمرو (2008)، لماذا نلجأ إلى اللوغاريتمات إذا كان بإمكاننا اللجوء إلى الخطية؟: نحو عدٍّ فعّال ومميز لحركة البحث ، وقائع المؤتمر الدولي الحادي عشر حول توسيع تكنولوجيا قواعد البيانات: التطورات في تكنولوجيا قواعد البيانات، الصفحات 618-629 ، CiteSeerX 10.1.1.377.4771  
  11. ^ تشاكرابورتي، سوراف. فينودشاندران، نيفادا؛ ميل، كولديب س. (2022). العناصر المميزة في التدفقات: خوارزمية للكتاب (النص ) إجراءات لايبنيز الدولية في مجال المعلوماتية (LIPIcs). المجلد. 244. شلوس داغستوهل – مركز لايبنتز للمعلوماتية. ص 6 صفحات، 727571 بايت. أرخايف : 2301.10191 . دوى : 10.4230/LIPIcs.ESA.2022.34 . رقم ISBN   978-3-95977-247-1ISSN 1868-8969 
  12. 1 2 3 كنوت، دونالد (مايو 2023). "خوارزمية CVM لتقدير العناصر المميزة في التدفقات" (PDF) .{{cite journal}}يتطلب الاستشهاد بالمجلة ( مساعدة )|journal=
  13. كوهين، رؤوفين ؛ كاتسير، ليران؛ يحزقيل، أفيف (2014). "مخطط موحد لتعميم مقدرات العددية لتجميع المجموع". رسائل معالجة المعلومات . 115 (2): 336-342 . doi : 10.1016/j.ipl.2014.10.009 .