Flajolet-مارتن الخوارزمية :سؤال عن استخدام بعض وظائف التجزئة

cs.stackexchange https://cs.stackexchange.com/questions/121184

  •  29-09-2020
  •  | 
  •  

سؤال

هذا هو السؤال بالنظر في ملف PDF عن تدفق خوارزميات (هذه ليست مهمة ولكن أحاول أن أفهم)

ممارسة 4.4.1 :لنفترض أن لدينا تيار يتكون من الاعداد الصحيحه 3, 1, 4, 1, 5, 9, 2, 6, 5.لدينا وظائف التجزئة سوف تكون جميع من شكل h(x) = ax+ b وزارة الدفاع 32 لبعض a و b.يجب أن يعامل نتيجة 5-بت عدد ثنائي.تحديد طول الذيل لكل تيار عنصر ، مما أدى تقدير من عدد من العناصر المتميزة إذا كانت التجزئة وظيفة:

(أ) h(x) = 2x + 1 mod 32.

(ب) h(x) = 3x + 7 mod 32.

(ج) h(x) = 4x وزارة الدفاع 32.

!ممارسة 4.4.2 :هل ترى أي مشاكل مع اختيار تجزئة وظائف في ممارسة 4.4.1?ما هي النصيحة التي يمكن أن تعطي شخص كان على وشك استخدام وظيفة تجزئة من شكل h(x) = ax + b وزارة الدفاع 2k ?

لدي بالفعل حل التمرين الأول إيجاد ماكس R طول الذيل من 0 (أ) و 4 (ب) و (ج) ، وبالتالي فإن الناتج تقدير عناصر متميزة هي على التوالي 1,16,16.(ليس من طلب منه القيام المتوسطات/الوساطات من تجزئة المهام إلى العثور على أفضل قيمة)

ومع ذلك, أنا لا يمكن أن يبدو لمعرفة الجواب الثاني exercice ?هو ببساطة أن تختار 'أ' و 'ب' بطريقة معينة ?أو هي هذه الوظائف ليست جيدة لتوليد بالتساوي عشوائيا على أرقام زائدة 0s لا زائدة 0s ?

شكرا لكم مقدما

يمكنك مراقبة نتائج كل وظائف التجزئة عن طريق تشغيل هذه التعليمة البرمجية : https://onlinegdb.com/rJXC4f4VL

هل كانت مفيدة؟

المحلول

ومع ذلك, أنا لا يمكن أن يبدو لمعرفة الجواب الثاني exercice ?هو ببساطة أن تختار 'أ' و 'ب' بطريقة معينة ?أو هي هذه الوظائف ليست جيدة لتوليد بالتساوي عشوائيا على أرقام زائدة 0s لا زائدة 0s ?

لديك فكرة الحق.أعتقد أن ما هو السؤال تحاول أن توحي أن هذه وظيفة تجزئة لديه مشكلة مع بعض القيم $a$ و $b$.تنظر على وجه الخصوص ، $a = 16$.ماذا سيحدث وظيفة تجزئة في هذه الحالة ؟ كيف العديد من القيم الممكنة هي هناك ؟

لذا لاختيار قيمة جيدة $a$, ربما يجب أن تأكد من أن $a = 16$ لا يسمح. $a = 8$ ليست جيدة أيضا.ماذا تقترح هو خيار جيد بالنسبة $a$?

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى cs.stackexchange
scroll top