--- title: Rabin Karp Algorithm localeTitle: خوارزمية رابين كارب --- ## خوارزمية رابين كارب * خوارزمية مطابقة / بحث عن الخوارزمية طورها مايكل رابين وريتشارد م. كارب. * يستخدم تقنية **_التجزئة_** و **_القوة الغاشمة_** للمقارنة. #### شروط مهمة * **_النمط_** هو السلسلة المراد البحث عنها. النظر في طول نمط كأحرف **_M._** * **_النص_** هو **_النص_** الكامل الذي سيتم البحث عن النمط منه. النظر في طول النص كأحرف **_N._** #### ما هي القوة الغاشمة المقارنة؟ في مقارنة القوة الغاشمة يتم مقارنة كل حرف للنمط مع كل حرف من النص حتى يتم العثور على أحرف غير متطابقة. #### العمل من خوارزمية رابين كارب 1. حساب قيمة التجزئة _للنمط_ 2. حساب قيمة التجزئة من الشخصيات _M_ الأولى من _النص_ 3. قارن بين قيم التجزئة 4. إذا كانت غير متساوية ، قم بحساب قيمة التجزئة للأحرف _M_ _للنص التالي_ وقارن مرة أخرى. 5. إذا كانوا متساوين ، قم بإجراء مقارنة القوة الغاشمة. `hash_p = hash value of pattern hash_t = hash value of first M letters in body of text do if (hash_p == hash_t) brute force comparison of pattern and selected section of text hash_t= hash value of next section of text, one character over while (end of text or brute force comparison == true) ` #### ميزة أكثر من خوارزمية مطابقة سلسلة ناييف ينتج عن هذه التقنية مقارنة واحدة فقط لكل تسلسل فرعي للنص ، وتكون القوة الغاشمة مطلوبة فقط عندما تتطابق قيم هاش. #### تطبيقات * **_كشف الانتحال_** #### معلومات اكثر: [رابين كارب على ويكيبيديا](https://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm/)