اختبار ميلر ورابين لأولية عدد ما

اختبار ميلر ورابين لأولية عدد ما (بالإنجليزية: Miller–Rabin primality test)‏ هو اختبار احتمالي لمعرفة إذا ما كان العدد أوليّاً: وهو خوارزمية تحدد فيما إذا كان العدد المعطى من المحتمل أن يكون أوليًا ، على غرار اختبار فيرمات لأولية عدد ما واختبار سولوفاي-ستراسن لأولية عدد ما.

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

[2]


المفهوم الرياضي

عدل

على غرار اختبارات فيرمات وسلوفاي ستراسن ، يفحص اختبار ميلر ورابين الأولية ما إذا كانت خاصية معينة، من المعروف أنها تحمل القيم الأولي، صالحة للرقم قيد الاختبار.

الأعداد الأولية القوية المحتملة

عدل

بنية الخوارزمية هي: بالنسبة إلى عدد صحيح فردي معين n > 2 ، لنكتب n في صورة 2sd + 1 حيث s و d عددان صحيحان موجبان و d عدد فردي. لنفكر في عدد صحيح a، يسمى القاعدة، يحقق 0 < a > n . بعد ذلك، يعتبر العدد n عدداً أولياً محتملاً للقاعدة a إذا كانت إحدى علاقات التطابق هذه صحيحة:

  •   ؛
  •   0≤ r <s .

الفكرة الكامنة وراء هذا الاختبار هي أنه عندما يكون n عددًا أوليًا فردياً، فإنه يجتاز الاختبار لوجود حقيقتين:

  • من خلال مبرهنة فيرما الصغرى،   (تحدد هذه الخاصية وحدها المفهوم الأضعف للقيمة الأولية المحتملة للقاعدة a ، والتي يعتمد عليها اختبار فيرما).
  • باقي الجذور التربيعية الوحيدة لـ1 مع باقي القسمة للعدد n هي 1 و -1.

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

اختيار القواعد

عدل

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

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


مثال

عدل

مراجع

عدل
  1. ^ Miller، Gary L. (1976)، "Riemann's Hypothesis and Tests for Primality"، Journal of Computer and System Sciences، ج. 13، ص. 300–317، DOI:10.1145/800116.803773
  2. ^ Rabin، Michael O. (1980)، "Probabilistic algorithm for testing primality"، Journal of Number Theory، ج. 12، ص. 128–138، DOI:10.1016/0022-314X(80)90084-0
  3. ^ اكتب عنوان المرجع بين علامتي الفتح <ref> والإغلاق </ref> للمرجع PSW