خوارزمية ماركوف

في علم الحاسوب النظري ، تُعدّ خوارزمية ماركوف نظامًا لإعادة كتابة السلاسل النصية ، يستخدم قواعد شبيهة بالقواعد النحوية لمعالجة سلاسل الرموز. وقد ثبت أن خوارزميات ماركوف كاملة تورينج ، مما يعني أنها مناسبة كنموذج عام للحوسبة ، ويمكنها تمثيل أي تعبير رياضي من خلال ترميزه البسيط. سُميت خوارزميات ماركوف نسبةً إلى عالم الرياضيات السوفيتي أندريه ماركوف الابن.

ريفال هي لغة برمجة تعتمد على خوارزميات ماركوف.

وصف

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

يتكون تعريف أي خوارزمية عادية من جزأين: الأبجدية ، وهي مجموعة من الرموز، والمخطط . تُطبق الخوارزمية على سلاسل من رموز الأبجدية. المخطط عبارة عن مجموعة مرتبة منتهية من صيغ الاستبدال . يمكن أن تكون كل صيغة إما بسيطة أو نهائية . تُمثل صيغ الاستبدال البسيطة بسلاسل من الشكل التالي:لد{\displaystyle L\to D}، أينل{\displaystyle L}ود{\displaystyle D}هما سلسلتان عشوائيتان في الأبجدية. وبالمثل، يتم تمثيل صيغ الاستبدال النهائية بسلاسل من الشكل التالي:لد{\displaystyle L\to \cdot D}.

فيما يلي مثال على مخطط خوارزمية عادي في الأبجدية المكونة من خمسة أحرف|*أبج{\displaystyle |*abc}:

{|ببأ|أببأب*|ب**ج|ججأجج|ج{\displaystyle \left\{{\begin{matrix}|b&\to &ba|\\ab&\to &ba\\b&\to &\\{*}|&\to &b*&\\{*}&\to &c&\\|c&\to &c\\ac&\to &c|\\c&\to \cdot \end{matrix}}\right.}

عملية تطبيق الخوارزمية العادية على سلسلة نصية عشوائيةV{\displaystyle V}في أبجدية هذه الخوارزمية، توجد سلسلة منفصلة من الخطوات الأولية، تتكون مما يلي. لنفترض أنV{\displaystyle V'}هي الكلمة التي تم الحصول عليها في الخطوة السابقة من الخوارزمية (أو الكلمة الأصلية)V{\displaystyle V}(إذا كانت الخطوة الحالية هي الأولى). إذا لم يكن هناك طرف أيسر من صيغ الاستبدال يتم تضمينه فيV{\displaystyle V'}ثم تنتهي الخوارزمية، وتُعتبر نتيجة عملها هي السلسلةV{\displaystyle V'}وإلا، فإن أول صيغة من صيغ الاستبدال التي يتم تضمين أطرافها اليسرى فيV{\displaystyle V'}يتم اختياره. إذا كانت صيغة الاستبدال على الشكل التاليلد{\displaystyle L\to \cdot D}ثم من بين جميع التمثيلات الممكنة للسلسلةV{\displaystyle V'}من الشكلRلS{\displaystyle RLS}(أينR{\displaystyle R}وS{\displaystyle S}(سلاسل عشوائية) السلسلة الأقصرR{\displaystyle R}يتم اختيارها. ثم تنتهي الخوارزمية وتُعتبر نتيجة عملهاRدS{\displaystyle RDS}ومع ذلك، إذا كانت صيغة الاستبدال هذه على الشكل التاليلد{\displaystyle L\to D}ثم من بين جميع التمثيلات الممكنة للسلسلةV{\displaystyle V'}على شكلRلS{\displaystyle RLS}الأقصرR{\displaystyle R}يتم اختيار السلسلة، وبعد ذلكRدS{\displaystyle RDS}يُعتبر هذا نتيجة للخطوة الحالية، ويخضع لمزيد من المعالجة في الخطوة التالية.

على سبيل المثال، عملية تطبيق الخوارزمية الموصوفة أعلاه على الكلمة|*||{\displaystyle |*||}ينتج عنه تسلسل الكلمات|ب*|{\displaystyle |b*|}،بأ|*|{\displaystyle ba|*|}،أ|*|{\displaystyle a|*|}،أ|ب*{\displaystyle a|b*}،أبأ|*{\displaystyle aba|*}،بأأ|*{\displaystyle baa|*}،أأ|*{\displaystyle aa|*}،أأ|ج{\displaystyle aa|c}،أأج{\displaystyle aac}،أج|{\displaystyle ac|}وج||{\displaystyle c||}وبعد ذلك تتوقف الخوارزمية عند النتيجة||{\displaystyle ||}.

للاطلاع على أمثلة أخرى، انظر أدناه.

أي خوارزمية عادية تُكافئ آلة تورينج ، والعكس صحيح - أي آلة تورينج تُكافئ خوارزمية عادية. يُطلق على صيغة من أطروحة تشيرش-تورينج، المُصاغة فيما يتعلق بالخوارزمية العادية، اسم "مبدأ التطبيع". 

أثبتت الخوارزميات العادية أنها وسيلة ملائمة لبناء العديد من فروع الرياضيات البنائية . علاوة على ذلك، تتضمن تعريفات الخوارزمية العادية عدداً من الأفكار المستخدمة في لغات البرمجة التي تهدف إلى معالجة المعلومات الرمزية ، كما هو الحال في لغة ريفال على سبيل المثال . 

الخوارزمية

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

بافتراض وجود سلسلة نصية مُدخلة :

  1. تحقق من القواعد بالترتيب من الأعلى إلى الأسفل لمعرفة ما إذا كان يمكن العثور على أي من الأنماط في سلسلة الإدخال .
  2. إذا لم يتم العثور على أي منها، تتوقف الخوارزمية.
  3. إذا تم العثور على واحد (أو أكثر)، فاستخدم أولها لاستبدال أقصى ظهور للنص المطابق في سلسلة الإدخال بنصه البديل .
  4. إذا كانت القاعدة التي تم تطبيقها للتو قاعدة إنهاء، فإن الخوارزمية تتوقف.
  5. انتقل إلى الخطوة 1.

لاحظ أنه بعد تطبيق كل قاعدة، تبدأ عملية البحث من جديد من القاعدة الأولى.

مثال

يوضح المثال التالي العملية الأساسية لخوارزمية ماركوف.

قواعد

  1. "أ" -> "أبل"
  2. "B" -> "bag"
  3. "S" -> "shop"
  4. "T" -> "the"
  5. "المتجر" -> "أخي"
  6. "قاعدة غير مستخدمة مطلقًا" -> . "قاعدة إنهاء"

سلسلة الرموز

"اشتريت شهادة بكالوريوس من الدرجة الأولى من تي إس."

تنفيذ

إذا تم تطبيق الخوارزمية على المثال أعلاه، فسيتغير سلسلة الرموز بالطريقة التالية.

  1. "اشتريت شهادة بكالوريوس من الدرجة الأولى من تي إس."
  2. "اشتريت 8 تفاحات من تي إس."
  3. "اشتريت كيساً من التفاح من تي إس."
  4. "اشتريت كيساً من التفاح من متجر تي."
  5. "اشتريت كيساً من التفاح من المتجر."
  6. "اشتريت كيساً من التفاح من أخي."

ثم ستنتهي الخوارزمية.

مثال آخر

تُقدّم هذه القواعد مثالاً أكثر إثارة للاهتمام، حيث تُعيد كتابة الأعداد الثنائية إلى نظائرها الأحادية. على سبيل المثال، يُعاد كتابة العدد 101 إلى سلسلة من 5 خطوط متتالية.

قواعد

  1. "|0" -> "0||"
  2. "1" -> "0|"
  3. "0" -> ""

سلسلة الرموز

"101"

تنفيذ

إذا تم تطبيق الخوارزمية على المثال أعلاه، فسوف تنتهي بعد الخطوات التالية.

  1. "101"
  2. "0|01"
  3. "00||1"
  4. "00||0|"
  5. "00|0|||"
  6. "000|||||"
  7. "00|||||"
  8. "0|||||"
  9. "|||||"

انظر أيضاً

مراجع

  • كاراتشولو دي فورينو، أ. لغات معالجة السلاسل وخوارزميات ماركوف المعممة. في لغات وتقنيات معالجة الرموز، دي جي بوبرو (محرر)، دار نشر نورث هولاند، أمستردام، هولندا، 1968، ص  191-206.
  • أندريه أندرييفيتش ماركوف (1903-1979) 1960. نظرية الخوارزميات. ترجمات الجمعية الرياضية الأمريكية، السلسلة 2، 15، 1-14. (ترجمة من الروسية، أعمال معهد ستيكلوف 38 (1951) 176-189 [ 1 ] )
  1. كوشنر، بوريس أ. (28-05-1999). "التحليل البنّاء لماركوف: وجهة نظر مشارك" . علوم الحاسوب النظرية . 219 ( 1-2 ): 268، 284. doi : 10.1016/S0304-3975(98)00291-6 .