خوارزمية فريفالدز
خوارزمية فريفالدز (نسبةً إلى روسينش مارتينش فريفالدز ) هي خوارزمية احتمالية عشوائية تُستخدم للتحقق من ضرب المصفوفات . بفرض وجود ثلاث مصفوفات من الرتبة n × n ،، وتتمثل إحدى المشكلات العامة في التحقق مما إذاستقوم خوارزمية بسيطة بحساب الناتجقم بتوضيح ذلك وقارن كل حد على حدة لمعرفة ما إذا كان هذا الناتج يساويومع ذلك، فإن أفضل خوارزمية معروفة لضرب المصفوفات تعمل فيالوقت. تستخدم خوارزمية فريفالدز العشوائية لتقليل هذا الوقت المحدد لـ[ 1 ] باحتمالية عالية. فيالوقت الذي يمكن للخوارزمية فيه التحقق من ضرب المصفوفات باحتمالية فشل أقل من.
الخوارزمية
مدخل
ثلاث مصفوفات من الرتبة n × n ،، و.
الناتج
نعم، إذالا، وإلا.
إجراء
خطأ
لوإذا كان الأمر كذلك، فإن الخوارزمية تُرجع دائمًا "نعم".إذا كان احتمال أن تُرجع الخوارزمية "نعم" أقل من أو يساوي النصف، فإن هذا يُسمى خطأ من جانب واحد .
من خلال تكرار الخوارزمية k مرة وإرجاع "نعم" فقط إذا أسفرت جميع التكرارات عن "نعم"، يكون وقت التشغيل هوواحتمالية الخطأ لـيتم تحقيق ذلك.
مثال
لنفترض أن المرء يرغب في تحديد ما إذا كان:
يتم اختيار متجه عشوائي مكون من عنصرين، تكون قيم مدخلاته إما 0 أو 1 – على سبيل المثال - وتستخدم لحساب:
ينتج عن هذا المتجه الصفري، مما يشير إلى إمكانية أن يكون AB = C. ومع ذلك، إذا كان المتجه في تجربة ثانيةعند اختيارها، تصبح النتيجة:
والنتيجة غير صفرية، مما يثبت أن AB ≠ C في الواقع.
يوجد أربعة متجهات ثنائية العناصر من نوع 0/1، ونصفها يعطي المتجه الصفري في هذه الحالة (ووبالتالي، فإن احتمال اختيار هذه القيم عشوائيًا في تجربتين (والاستنتاج الخاطئ بأن AB=C) هو 1/2 أو 1/4. في الحالة العامة، قد تكون نسبة r التي تُعطي المتجه الصفري أقل من 1/2، وسيتم استخدام عدد أكبر من التجارب (مثل 20)، مما يجعل احتمال الخطأ ضئيلاً للغاية.
تحليل الأخطاء
لنفترض أن p تساوي احتمال الخطأ. ندعي أنه إذا كان A × B = C ، فإن p = 0، وإذا كان A × B ≠ C ، فإن p ≤ 1/2.
الحالة أ × ب = ج
هذا بغض النظر عن قيمةلأنه يستخدم ذلك فقطوبالتالي فإن احتمال الخطأ في هذه الحالة هو:
الحالة أ × ب ≠ ج
يتركبحيث
أين
- .
منذلدينا أن بعض عناصرغير صفري. لنفترض أن العنصربحسب تعريف ضرب المصفوفات ، لدينا:
- .
لبعض الثوابتباستخدام نظرية بايز ، يمكننا التقسيم على:
| 1 |
نستخدم ذلك:
وبإدخال هذه القيم في المعادلة ( 1 )، نحصل على:
لذلك،
وبهذا يكتمل البرهان.
التداعيات
يُظهر تحليل خوارزمي بسيط أن وقت تشغيل هذه الخوارزمية هو(باستخدام ترميز Big O ). وهذا يتفوق على وقت تشغيل الخوارزمية الحتمية الكلاسيكية البالغ(أوفي حالة استخدام ضرب المصفوفات السريع ). كما يُظهر تحليل الخطأ أنه في حالة تشغيل الخوارزميةفي بعض الأحيان، يكون هامش الخطأ أقل منيمكن تحقيق ذلك، وهي كمية صغيرة للغاية. كما أن الخوارزمية سريعة عمليًا نظرًا لتوافر تطبيقات سريعة لضرب المصفوفات في المتجهات. لذلك، يمكن استخدام الخوارزميات العشوائية لتسريع خوارزمية حتمية بطيئة جدًا .
كثيراً ما تظهر خوارزمية فريفالدز في مقدمات الخوارزميات الاحتمالية بسبب بساطتها وكيف توضح تفوق الخوارزميات الاحتمالية عملياً في بعض المشاكل.
انظر أيضاً
مراجع
- ↑ راغافان، برابهاكار (1997). "الخوارزميات العشوائية" . مجلة ACM Computing Surveys . 28 : 33-37 . doi : 10.1145/234313.234327 . S2CID 207196543 .
- فريفالدز، ر. (1977). "يمكن للآلات الاحتمالية استخدام وقت تشغيل أقل". معالجة المعلومات 77 : وقائع مؤتمر الاتحاد الدولي لمعالجة المعلومات 77، تورنتو، 8-12 أغسطس 1977. نورث هولاند. ص 839-842 . ISBN 0-7204-0755-9. OCLC 878720415 .
- ميتزنماخر، مايكل ؛ أوبفال، إيلي (2005). "1.3 تطبيق: التحقق من ضرب المصفوفات" . الاحتمالات والحوسبة: الخوارزميات العشوائية والتحليل الاحتمالي . مطبعة جامعة كامبريدج. ص 8-12 . ISBN 0-521-83540-2.
- نظرية المصفوفات
- الخوارزميات العشوائية
- خوارزميات ضرب المصفوفات
