آلة لاحقة
في علم الحاسوب ، تُعدّ آلة اللواحق بنية بيانات فعّالة لتمثيل فهرس السلسلة الفرعية لسلسلة نصية معينة، مما يسمح بتخزين ومعالجة واسترجاع معلومات مضغوطة حول جميع سلاسلها الفرعية .هو أصغر رسم بياني موجه غير دوري مع رأس ابتدائي مخصص ومجموعة من الرؤوس "النهائية"، بحيث تمثل المسارات من الرأس الابتدائي إلى الرؤوس النهائية لواحق السلسلة.
في نظرية الأوتوماتا ، تُعرَّف أوتوماتا اللواحق بأنها أصغر أوتوماتا جزئية حتمية محدودة تتعرف على مجموعة لواحق سلسلة معينة.. يُطلق على الرسم البياني للحالة الخاص بآلة لاحقة اسم الرسم البياني للكلمة الموجهة غير الدورية (DAWG)، وهو مصطلح يستخدم أحيانًا أيضًا لأي آلة حالة محدودة حتمية غير دورية .
تم تقديم آلات اللواحق في عام 1983 من قبل مجموعة من العلماء من جامعة دنفر وجامعة كولورادو بولدر . اقترحوا خوارزمية خطية زمنية عبر الإنترنت لإنشائها، وأظهروا أن آلة اللواحق لسلسلةيحتوي على طول لا يقل عن حرفين، وله على الأكثر الولايات وعلى الأكثرالانتقالات. وقد أظهرت أعمال أخرى وجود صلة وثيقة بين آلات اللواحق وأشجار اللواحق ، وحددت العديد من التعميمات لآلات اللواحق، مثل آلة اللواحق المضغوطة التي تم الحصول عليها عن طريق ضغط العقد ذات القوس الخارج الواحد.
توفر آلات اللواحق حلولاً فعالة لمشاكل مثل البحث عن السلاسل الفرعية وحساب أكبر سلسلة فرعية مشتركة بين سلسلتين أو أكثر.
تاريخ

طُرح مفهوم آلة اللواحق في عام 1983 [ 1 ] من قِبل مجموعة من العلماء من جامعة دنفر وجامعة كولورادو بولدر، ضمت أنسيلم بلومر، وجانيت بلومر، وأندريه إهرنفويشت ، وديفيد هاوسلر ، وروس ماكونيل، على الرغم من أن مفاهيم مشابهة دُرست سابقًا إلى جانب أشجار اللواحق في أعمال بيتر واينر [ 2 ] ، وفون برات [ 3 ] ، وأناتول سليسينكو [ 4 ] . في عملهم الأولي، عرض بلومر وزملاؤه آلة لواحق مصممة للسلسلة النصيةطول أكبر منلديه على الأكثرالولايات وعلى الأكثر[ 5 ] الانتقالات، واقترح خوارزمية خطية لبناء الآلات.
في عام 1983، أثبت كل من مو-تيان تشين وجويل سيفراس بشكل مستقل أن خوارزمية بناء شجرة اللواحق لـ وينر لعام 1973 [ 2 ] أثناء بناء شجرة لواحق للسلسلةيقوم بإنشاء آلة لاحقة للسلسلة المعكوسةكبنية مساعدة. [ 6 ] في عام 1987، طبق بلومر وآخرون تقنية الضغط المستخدمة في أشجار اللواحق على آلة اللواحق، وابتكروا آلة اللواحق المضغوطة، والتي تُسمى أيضًا الرسم البياني للكلمات الموجهة غير الدورية المضغوطة (CDAWG). [ 7 ] في عام 1997، طور ماكسيم كروشيمور ورينو فيرين خوارزمية خطية لإنشاء CDAWG مباشر. [ 1 ] في عام 2001، طور شونسوكي إينيناغا وآخرون خوارزمية لإنشاء CDAWG لمجموعة من الكلمات مُعطاة بواسطة شجرة بحث . [ 8 ]
التعريفات
عادة عند الحديث عن آلات اللواحق والمفاهيم ذات الصلة، يتم استخدام بعض المفاهيم من نظرية اللغة الرسمية ونظرية الآلات ، على وجه الخصوص: [ 9 ]
- "الأبجدية" هي مجموعة منتهيةوالتي تُستخدم لتكوين الكلمات. وتسمى عناصرها "الحروف"؛
- "الكلمة" عبارة عن سلسلة محدودة من الأحرف. "طول" الكلمةيُشار إليه بـ؛
- " اللغة الرسمية " هي مجموعة من الكلمات على أبجدية معينة؛
- يُشار إلى "لغة جميع الكلمات" على النحو التالي:(حيث يرمز الرمز "*" إلى نجمة كلين )، ويُشار إلى "الكلمة الفارغة" (الكلمة التي طولها صفر) بالرمز؛
- " تسلسل الكلمات"ويُشار إليه بـأوويتوافق مع الكلمة التي يتم الحصول عليها عن طريق كتابةإلى يمين، إنه،؛
- "تسلسل اللغات"ويُشار إليه بـأوويتوافق مع مجموعة عمليات الربط الثنائية. :\alpha \in A,\beta \in B\}} ;
- إذا كانت الكلمةقد يتم تمثيلها على النحو التالي، أينثم الكلمات،وتُسمى هذه الأجزاء "بادئة" و"لاحقة" و" كلمة فرعية " (سلسلة فرعية) من الكلمةوبالمثل؛
- لوو(مع) ثميقال إنها "تحدث" فيككلمة فرعية. هناوتُسمى هذه المواقع بمواقع حدوث اليسار واليمين.فيوبالمثل.
بنية الأوتوماتون
بصورة رسمية، يتم تحديد الأوتوماتون المحدود الحتمي بواسطة مجموعة من خمسة عناصر، حيث: [ 10 ]
- هي "أبجدية" تُستخدم لتكوين الكلمات،
- هي مجموعة من " حالات " الآلة،
- هي حالة "ابتدائية" للآلة،
- هي مجموعة من الحالات "النهائية" للآلة،
- هي دالة "انتقال" جزئية للآلة، بحيثلوإما أن يكون غير مُعرَّف أو يُعرِّف انتقالًا منشخصية مفرطة.
في أغلب الأحيان، يتم تمثيل الآلة المحدودة الحتمية كرسم بياني موجه ("مخطط") بحيث: [ 10 ]
- مجموعة رؤوس الرسم البياني تتوافق مع حالة الحالات،
- يحتوي الرسم البياني على رأس مميز محدد يتوافق مع الحالة الأولية،
- يحتوي الرسم البياني على عدة رؤوس مميزة تتوافق مع مجموعة الحالات النهائية،
- مجموعة أقواس الرسم البياني تتوافق مع مجموعة الانتقالات،
- على وجه التحديد، كل انتقاليتم تمثيلها بقوس منلمُعلَّم بالحرفويمكن الإشارة إلى هذا الانتقال أيضًا باسم.
من حيث مخططها، يتعرف الجهاز الآلي على الكلمةفقط إذا كان هناك مسار من الرأس الأوليإلى رأس نهائي مابحيث يشكل تسلسل الأحرف على هذا المسارتشكل مجموعة الكلمات التي يتعرف عليها جهاز آلي لغةً مُعدّة ليتعرف عليها هذا الجهاز. وبناءً على ذلك، فإن اللغة التي يتعرف عليها جهاز آلي ذو لاحقة هي لغة مُحددة.هي لغة لواحقها (التي قد تكون فارغة). [ 9 ]
حالات الأتمتة
"السياق الصحيح" للكلمةفيما يتعلق باللغةهي مجموعة :\omega \alpha \in L\}} أي مجموعة من الكلماتبحيث يكون تسلسلها معيشكل كلمة منتؤدي السياقات الصحيحة إلى علاقة تكافؤ طبيعيةعلى مجموعة جميع الكلمات. إذا كانت اللغةإذا تم التعرف على لغة معينة بواسطة آلة حتمية محدودة، فإنه يوجد آلة فريدة، حتى التماثل ، تتعرف على نفس اللغة ولها أقل عدد ممكن من الحالات. وتسمى هذه الآلة بالآلة الدنيا للغة المعطاة.تسمح نظرية مايهيل-نيرود بتعريفها بشكل صريح من حيث السياقات الصحيحة : [ 11 ] [ 12 ]
نظرية — لغة التعرف على الآلات الدنياعلى الأبجديةيمكن تعريفها بشكل صريح بالطريقة التالية:
- الأبجديةيبقى على حاله،
- الولاياتيتوافق مع السياقات الصحيحةمن بين جميع الكلمات الممكنة،
- الحالة الابتدائيةيتوافق مع السياق الصحيح للكلمة الفارغة،
- الحالات النهائيةيتوافق مع السياقات الصحيحةمن الكلمات من،
- التحولاتيتم تقديمها بواسطة، أينو.
وبهذا المعنى، فإن "آلة اللواحق" هي آلة حتمية محدودة دنيا تتعرف على لغة لواحق الكلماتالسياق الصحيح للكلمةفيما يتعلق بهذه اللغة، فهي تتكون من كلماتبحيثهو لاحقة منيسمح ذلك بصياغة اللمة التالية التي تحدد تقابلاً بين السياق الصحيح للكلمة ومجموعة المواضع الصحيحة لظهورها في[ 13 ] [ 14 ]
نظرية — ليكنلتكن مجموعة المواضع الصحيحة لظهوراتفي.
يوجد تقابل تقابلي بينو:
- لو، ثم؛
- لو، ثم.
على سبيل المثال، بالنسبة للكلمةوكلمتها الفرعية، وهو يحملوبشكل غير رسمي،تتكون من كلمات تلي حالات حدوثحتى نهايةويتكون من المواضع الصحيحة لتلك التكرارات. في هذا المثال، العنصريتوافق مع الكلمةبينما الكلمةيتوافق مع العنصر.
وهذا يستلزم العديد من خصائص بنية حالات الأوتوماتون اللاحقة. لنفترضثم: [ 14 ]
- لوويشتركان في عنصر واحد على الأقل، ثمويوجد عنصر مشترك أيضًا. وهذا يعني ضمناًهو لاحقة منوبالتاليوفي المثال المذكور آنفاً،، لذاهو لاحقة منوبالتاليو؛
- لو، ثم، هكذايحدث فيفقط كلاحقة لـعلى سبيل المثال، لـووهذا يعني أنو؛
- لووهو لاحقة منبحيث، ثمفي المثال أعلاهوينطبق ذلك على اللاحقة "الوسيطة".الذي - التي.
أي ولايةيتعرف نظام اللاحقات الآلي على سلسلة متصلة من اللواحق المتداخلة لأطول كلمة تم التعرف عليها بواسطة هذه الحالة. [ 14 ]
"امتداد يساري"من السلسلةهي أطول سلسلةوهذا له نفس السياق الصحيح مثل. طولأطول سلسلة يتم التعرف عليها بواسطةيُرمز إليه بـ. ينص على ما يلي: [ 15 ]
نظرية - الامتداد الأيسر لـقد يتم تمثيلها على النحو التالي، أينهي أطول كلمة بحيث يكون أي ظهور لهافييسبقه.
"رابط لاحق"من الدولةهو المؤشر إلى الحالةالتي تحتوي على أكبر لاحقة منذلك غير معترف به من قبل.
وبهذا المعنى يمكن القوليتعرف بدقة على جميع اللواحق منهذا أطول منولا تتجاوز مدةوينطبق عليه أيضاً ما يلي: [ 15 ]
الاتصال بأشجار اللواحق

شجرة البادئة (أو "شجرة البادئة") هي شجرة موجهة ذات جذر، حيث يتم تمييز الأقواس بأحرف بطريقة لا يوجد فيها رأستحتوي هذه الشجرة على قوسين خارجيين يحملان نفس الحرف. بعض رؤوس الشجرة تُصنّف على أنها نهائية. يُقال إن الشجرة تتعرف على مجموعة من الكلمات المُحددة بمسارات من جذرها إلى رؤوسها النهائية. وبهذه الطريقة، تُعد أشجار البادئات نوعًا خاصًا من الأوتوماتا المحدودة الحتمية إذا اعتبرنا جذرها رأسًا ابتدائيًا. [ 16 ] "شجرة اللاحقة" للكلمةهي شجرة بادئات تتعرف على مجموعة من لواحقها. " شجرة اللواحق " هي شجرة يتم الحصول عليها من شجرة اللواحق عبر إجراء الضغط، حيث يتم دمج الحواف المتتالية إذا كانت درجة الرأس بينهما تساوي اثنين. [ 15 ]
بحسب تعريفها، يمكن الحصول على آلة لاحقة من خلال تصغير شجرة اللواحق. ويمكن إثبات أن آلة لاحقة مضغوطة تُحصل عليها من خلال تصغير شجرة اللواحق (بافتراض أن كل سلسلة على حافة شجرة اللواحق هي حرف صلب من الأبجدية) وضغط آلة اللواحق. [ 17 ] بالإضافة إلى هذه العلاقة بين شجرة اللواحق وآلة اللواحق لنفس السلسلة، توجد أيضًا علاقة بين آلة اللواحق للسلسلةوشجرة اللواحق للسلسلة المعكوسة[ 18 ]
وبالمثل، يمكن تقديم "سياقات يسارية" كما هو الحال مع السياقات اليمنى.، "امتدادات اليمين"بما يتوافق مع أطول سلسلة لها نفس السياق الأيسر مثلوعلاقة التكافؤإذا نظرنا إلى الامتدادات الصحيحة فيما يتعلق باللغةمن "بادئات" السلسلةيمكن الحصول عليه من خلال: [ 15 ]
نظرية — شجرة اللواحق للسلسلةيمكن تعريفها بشكل صريح بالطريقة التالية:
- الرؤوستتوافق أجزاء الشجرة مع الامتدادات اليمنىمن بين الجميعالسلاسل الفرعية،
- الحوافيتوافق مع التوائم الثلاثيةبحيثو.
هنا ثلاثة توائميعني ذلك وجود ميزة منلمع السلسلةمكتوب عليه
وهذا يعني شجرة روابط اللواحق للسلسلةوشجرة اللواحق للسلسلةمتماثلة: [ 18 ]
| بنية اللواحق للكلمتين "abbcbc" و "cbcbba" |
|---|
|
وبالمثل لحالة الامتدادات اليسرى، فإن اللمة التالية تنطبق على الامتدادات اليمنى: [ 15 ]
نظرية — الامتداد الأيمن للسلسلةقد يتم تمثيلها على النحو التالي، أينهي أطول كلمة بحيث يكون كل ظهور لهافيويخلفه.
مقاس
آلة لاحقة للسلسلةمن الطوللديه على الأكثرالولايات وعلى الأكثرالانتقالات. يتم الوصول إلى هذه الحدود على السلاسل النصيةووبالمثل. [ 13 ] يمكن صياغة ذلك بطريقة أكثر دقة على النحو التاليأينو[ 14 ] تمثل أعداد الانتقالات والحالات في الأوتوماتون على التوالي.
| آلات اللواحق القصوى |
|---|
|
بناء
في البداية، تتكون الآلة من حالة واحدة فقط تتوافق مع الكلمة الفارغة، ثم تُضاف أحرف السلسلة حرفًا حرفًا، وتُعاد بناء الآلة في كل خطوة بشكل تدريجي. [ 19 ]
تحديثات الولاية
بعد إضافة حرف جديد إلى السلسلة، تتغير بعض فئات التكافؤ. لنفترضكن السياق الصحيح لـفيما يتعلق بلغةاللواحق. ثم الانتقال منلبعديُلحق بـيتم تعريفها بواسطة اللمة: [ 14 ]
نظرية — ليكنبعد بضع كلماتوليكن حرفًا من هذه الأبجدية. ثم توجد علاقة تناظرية بينو:
- لوهو لاحقة من؛
- خلاف ذلك.
بعد الإضافةإلى الكلمة الحاليةالسياق الصحيح لـقد يتغير بشكل كبير فقط إذاهو لاحقة منوهذا يعني وجود علاقة تكافؤ.هو تحسين لـبمعنى آخر، إذا، ثمبعد إضافة حرف جديد، لا يوجد على الأكثر فئتان مكافئتان منسيتم تقسيمها، وقد ينقسم كل منها إلى فئتين جديدتين على الأكثر. أولاً، يتم دائمًا تقسيم فئة التكافؤ المقابلة للسياق الأيمن الفارغ إلى فئتين من فئات التكافؤ، إحداهما مقابلة لـنفسها وامتلاكهاكسياق صحيح. تحتوي فئة التكافؤ الجديدة هذه بالضبطوجميع لواحقها التي لم تظهر في، حيث كان السياق الصحيح لمثل هذه الكلمات فارغًا من قبل، ويحتوي الآن على كلمة فارغة فقط. [ 14 ]
بالنظر إلى التطابق بين حالات آلة اللواحق ورؤوس شجرة اللواحق، فمن الممكن تحديد الحالة الثانية التي قد تنقسم بعد إضافة حرف جديد. الانتقال منليتوافق ذلك مع الانتقال منلفي السلسلة المعكوسة. من حيث أشجار اللواحق، يتوافق ذلك مع إدخال أطول لاحقة جديدةفي شجرة اللواحق لـقد يتشكل رأسان جديدان على الأكثر بعد هذا الإدخال: أحدهما يتوافق معبينما يتوافق الآخر مع سلفه المباشر في حالة وجود تفرع. وبالعودة إلى آلات اللواحق، فهذا يعني أن الحالة الجديدة الأولى التي يتم التعرف عليهاوالثاني (إن وُجدت حالة جديدة ثانية) هو رابطها اللاحق. ويمكن صياغته على شكل مبرهنة: [ 14 ]
نظرية — ليكن،بعض الكلمات والشخصيات. دع أيضًاأن يكون أطول لاحقة من، وهو ما يحدث فيودعثم لأي سلاسل فرعيةلوهذا صحيح:
- لوو، ثم؛
- لوو، ثم؛
- لوو، ثم.
وهذا يعني أنه إذا(على سبيل المثال، عندما)لم يحدث فيعلى الإطلاق و)، عندئذٍ يتم تقسيم فئة التكافؤ المقابلة للسياق الأيمن الفارغ فقط. [ 14 ]
إلى جانب روابط اللواحق، من الضروري أيضًا تحديد الحالات النهائية للآلة. ويترتب على خصائص البنية أن جميع لواحق الكلمةمعترف بها من قبليتم التعرف عليها بواسطة بعض الرؤوس على مسار اللاحقةلأي اللواحق التي يزيد طولها عناسترخي، اللواحق التي يزيد طولها عنلكن ليس أكبر مناسترخيوهكذا دواليك. وبالتالي، إذا كانت الدولة تعترفيُرمز إليه بـثم جميع الحالات النهائية (أي التعرف على لواحق من) تشكيل التسلسل[ 19 ]
تحديثات الانتقالات وروابط اللواحق
بعد الشخصيةيُلحق بـالحالات الجديدة المحتملة لآلة اللواحق هيورابط لاحق منيذهب إلىومنيذهب إلىكلمات منيحدث فيفقط كلاحقاتها، لذلك لا ينبغي أن تكون هناك أي انتقالات على الإطلاق منبينما ينبغي أن تتم الانتقالات إليه من لواحق منبطول لا يقل عنوأن يتم تمييزها بالحرف. ولايةتتكون من مجموعة فرعية منوهكذا ينتقل منينبغي أن يكون هو نفسه كما هو منفي غضون ذلك، تؤدي التحولات إلىينبغي أن تنتقل من لواحق منطوله أقل منوعلى الأقلحيث أدت هذه التحولات إلىقبل ذلك، كانت تُقابل الجزء المنفصل من هذه الولاية. ويمكن تحديد الولايات التي تُقابل هذه اللواحق من خلال اجتياز مسار رابط اللاحقة لـ[ 19 ]
| بناء آلة لاحقة للكلمة abbcbc | |||||||||
|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||
|
| ||||||||
|
| ||||||||
خوارزمية البناء
تؤدي النتائج النظرية المذكورة أعلاه إلى الخوارزمية التالية التي تأخذ الحرف x وتعيد بناء آلة اللواحق الخاصة بـ ω إلى آلة اللواحق الخاصة بـ[ 19 ]
- يتم الاحتفاظ بالحالة المقابلة للكلمة ω كآخر حالة ؛
- بعد إضافة x ، يتم تخزين القيمة السابقة لـ last في المتغير p، ويتم إعادة تعيين last نفسه إلى الحالة الجديدة المقابلة لـ؛
- يتم تحديث الحالات المقابلة لللاحقات ω بالانتقالات إلى الحالة الأخيرة . وللقيام بذلك، يجب المرور عبر، إلى أن تكون هناك حالة قد حدثت فيها بالفعل عملية انتقال بمقدار x ؛
- بمجرد انتهاء الحلقة المذكورة أعلاه، توجد 3 حالات:
- إذا لم تشهد أي من الحالات على مسار اللاحقة انتقالًا بواسطة x ، فإن x لم يظهر أبدًا في ω من قبل، ويجب أن يؤدي رابط اللاحقة من الأخير إلى؛
- إذا تم العثور على الانتقال بواسطة x والذي يؤدي من الحالة p إلى الحالة q ، بحيث، عندئذٍ لا يلزم تقسيم q وهو رابط لاحق لـ last ؛
- إذا تم العثور على الانتقال ولكنثم الكلمات من q التي لا يتجاوز طولهاينبغي فصلها إلى حالة "استنساخ" جديدة cl ؛
- إذا تم الانتهاء من الخطوة السابقة بإنشاء cl ، فيجب أن تنسخ الانتقالات منه ورابط اللاحقة الخاص به تلك الخاصة بـ q ، وفي نفس الوقت يتم تعيين cl ليكون رابط لاحقة مشترك لكل من q و last ؛
- الانتقالات التي أدت إلى q من قبل ولكنها تتوافق مع كلمات لا يتجاوز طولهايتم إعادة توجيهها إلى cl . وللقيام بذلك، يستمر المرء في المرور عبر مسار اللاحقة لـ p حتى يتم العثور على الحالة التي لا يؤدي الانتقال بواسطة x منها إلى q .
يتم وصف الإجراء بأكمله بواسطة الشفرة الزائفة التالية: [ 19 ]
دالة إضافة_حرف(x) : تعريف p = last تعيين last = new_state() تعيين len(last) = len(p) + 1 طالما أن δ(p, x) غير معرف: تعيين δ(p, x) = last، p = link(p) تعريف q = δ(p, x) إذا كان q = last : تعيين link(last) = q 0 وإلا إذا كان len(q) = len(p) + 1 : تعيين link(last) = q وإلا : تعريف cl = new_state() تعيين len(cl) = len(p) + 1 تعيين δ(cl) = δ(q)، link(cl) = link(q) تعيين link(last) = link(q) = cl طالما أن δ(p, x) = q : تعيين δ(p, x) = cl، p = link(p)
هناتمثل الحالة الابتدائية للآلة، و new_state()هي دالة تُنشئ حالة جديدة لها. يُفترض أن قيم lastو lenو linkمخزنة δكمتغيرات عامة. [ 19 ] وللتسهيل، تُعرَّف بأنهاlink(q0).
تعقيد
قد تختلف درجة تعقيد الخوارزمية تبعًا للبنية الأساسية المستخدمة لتخزين انتقالات الأوتوماتون. ويمكن تنفيذها فيمعأو في تكلفة الذاكرةمعزيادة الحمل على الذاكرة إذا افترضنا أن تخصيص الذاكرة يتم فيللحصول على هذا القدر من التعقيد، يجب استخدام أساليب التحليل المُستهلك . قيمةيتناقص هذا المقدار بشكل صارم مع كل تكرار للدورة، بينما قد يزيد بمقدار واحد فقط بعد التكرار الأول للدورة عند استدعاء الدالة add_letter التالي . القيمة الإجمالية لـلا يتجاوز أبداًولا يزيد إلا بمقدار واحد بين كل تكرار لإضافة أحرف جديدة، مما يشير إلى أن التعقيد الكلي خطي على الأكثر. وقد تم إثبات خطية الدورة الثانية بطريقة مماثلة. [ 19 ]
التعميمات
ترتبط آلة اللواحق ارتباطًا وثيقًا ببنى اللواحق الأخرى ومؤشرات السلاسل الفرعية . وبمعرفة آلة لواحق لسلسلة معينة، يمكن إنشاء شجرة اللواحق الخاصة بها عبر الضغط والاجتياز المتكرر في وقت خطي. [ 20 ] ويمكن إجراء تحويلات مماثلة في كلا الاتجاهين للتبديل بين آلة اللواحق الخاصة بـوشجرة اللواحق للسلسلة المعكوسة[ 18 ] بالإضافة إلى ذلك ، طُوِّرت عدة تعميمات لإنشاء آلة لسلسلة السلاسل النصية المُعطاة بواسطة شجرة البحث (Trie)، [ 8 ] وآلة اللواحق المضغوطة (CDAWG)، [ 7 ] وللحفاظ على بنية الآلة على النافذة المنزلقة، [ 21 ] ولإنشاءها بطريقة ثنائية الاتجاه، تدعم إدخال الأحرف في بداية ونهاية السلسلة. [ 22 ]
آلة لاحقة مضغوطة
كما ذُكر سابقًا، يُمكن الحصول على آلة لاحقة مضغوطة من خلال ضغط آلة لاحقة عادية (عن طريق إزالة الحالات غير النهائية والتي لها قوس خروج واحد فقط) وتقليل شجرة لاحقة. وعلى غرار آلة اللاحقة العادية، يُمكن تعريف حالات آلة اللاحقة المضغوطة بشكل صريح. امتداد ثنائي الاتجاهكلمةهي أطول كلمةبحيث يكون كل ظهور لـفييسبقهوخلفهأما فيما يتعلق بالامتدادات اليسرى واليمنى، فهذا يعني أن الامتداد ثنائي الاتجاه هو الامتداد الأيسر للامتداد الأيمن، أو ما يعادله، الامتداد الأيمن للامتداد الأيسر.. من حيث الامتدادات ثنائية الاتجاه، يتم تعريف الأوتومات المضغوط على النحو التالي: [ 15 ]
نظرية — آلة لاحقة مضغوطة للكلمةيتم تعريفها بواسطة زوج، أين:
- هي مجموعة من حالات الأوتوماتون؛
- هي مجموعة من انتقالات الأوتوماتون.
تؤدي الامتدادات ثنائية الاتجاه إلى علاقة تكافؤوالتي تحدد مجموعة الكلمات التي تتعرف عليها نفس حالة الآلة المضغوطة. علاقة التكافؤ هذه هي إغلاق متعدٍ للعلاقة المحددة بواسطةمما يسلط الضوء على حقيقة أنه يمكن الحصول على آلة مضغوطة عن طريق لصق رؤوس شجرة اللواحق المتكافئة عبرالعلاقة (تقليل شجرة اللواحق) ولصق حالات آلة اللواحق المتكافئة عبرالعلاقة (ضغط آلة اللواحق). [ 23 ] إذا كانت الكلماتولها نفس الامتدادات الصحيحة، والكلماتوإذا كانت لها نفس الامتدادات اليسرى، فإن جميع السلاسل تتراكم.،ولها نفس الامتدادات ثنائية الاتجاه. في الوقت نفسه، قد يحدث ألا يكون للامتدادات اليسرى أو اليمنى لـويتزامن. على سبيل المثال، يمكن للمرء أن يأخذ،و، والتي تكون امتداداتها اليسرى واليمنى كما يلي:، لكنومع ذلك، فبينما تتشكل علاقات التكافؤ للامتدادات أحادية الاتجاه من خلال سلسلة متصلة من البادئات أو اللواحق المتداخلة، فإن علاقات التكافؤ للامتدادات ثنائية الاتجاه أكثر تعقيدًا، والشيء الوحيد الذي يمكن استنتاجه على وجه اليقين هو أن السلاسل التي لها نفس الامتداد ثنائي الاتجاه هي سلاسل فرعية من أطول سلسلة لها نفس الامتداد ثنائي الاتجاه، ولكن قد يحدث حتى ألا يكون لها أي سلسلة فرعية غير فارغة مشتركة. لا يتجاوز العدد الإجمالي لفئات التكافؤ لهذه العلاقةوهذا يعني أن آلة اللاحقة المضغوطة للسلسلة ذات الطوللديه على الأكثرالحالات. عدد الانتقالات في مثل هذه الآلة هو على الأكثر[ 15 ]
آلة لاحقة لعدة سلاسل
لنفترض مجموعة من الكلماتمن الممكن بناء تعميم لآلة اللواحق بحيث تتعرف على اللغة المكونة من لواحق جميع الكلمات من المجموعة. وستبقى قيود عدد الحالات والانتقالات في هذه الآلة كما هي بالنسبة لآلة الكلمة الواحدة إذا وضعنا[ 23 ] تشبه الخوارزمية بناء آلة الكلمات المفردة باستثناء أنه بدلاً منستعمل الدالة add_letter مع الحالة التي تتوافق مع الكلمةبافتراض الانتقال من مجموعة الكلماتإلى المجموعة[ 24 ] [ 25 ]
تُعمم هذه الفكرة بشكل أكبر لتشمل الحالة عندمالا يتم تحديدها بشكل صريح، بل يتم تحديدها بواسطة شجرة بادئة معأظهر موهري وآخرون أن مثل هذه الآلة سيكون لها على الأكثر رؤوس.ويمكن بناؤها في وقت خطي انطلاقاً من حجمها. وفي الوقت نفسه، قد يصل عدد الانتقالات في هذه الآلة إلىعلى سبيل المثال، بالنسبة لمجموعة الكلماتعلى الأبجديةيبلغ الطول الإجمالي للكلمات ما يلي:عدد الرؤوس في شجرة اللاحق المقابلة يساويوتتكون الآلة اللاحقة المقابلة منالولايات والانتقالات. الخوارزمية التي اقترحها موهري تُكرر بشكل أساسي الخوارزمية العامة لبناء آلة من عدة سلاسل نصية، ولكن بدلاً من إضافة الكلمات واحدة تلو الأخرى، فإنها تجتاز شجرة البحث بترتيب بحث العرض أولاً ، وتُضيف الأحرف الجديدة عند مصادفتها أثناء الاجتياز، مما يضمن تعقيدًا خطيًا مُستهلكًا. [ 26 ]
نافذة منزلقة
قد تستفيد بعض خوارزميات الضغط ، مثل LZ77 و RLE، من تخزين آلة لاحقة أو بنية مشابهة ليس للسلسلة بأكملها، بل للجزء الأخير فقط.يتم تحديث أحرفها أثناء تحديث السلسلة. وذلك لأن ضغط البيانات عادة ما يكون كبيرًا بشكل ملحوظ، واستخدامالذاكرة غير مرغوب فيها. في عام 1985، طورت جانيت بلومر خوارزمية للحفاظ على آلة لاحقة على نافذة منزلقة بحجمفيأسوأ الحالات وفي المتوسط، بافتراض أن الشخصيات موزعة بشكل مستقل ومتساوٍ . كما أظهرت أيضًالا يمكن تحسين التعقيد: إذا اعتبرنا الكلمات بمثابة سلسلة من عدةالكلمات، حيثثم عدد الحالات لنافذة بحجمسيتغير بشكل متكرر مع قفزات الترتيبمما يجعل حتى التحسين النظري لـبالنسبة لآلات اللواحق المنتظمة، يكون ذلك مستحيلاً. [ 27 ]
ينطبق الأمر نفسه على شجرة اللواحق، لأن رؤوسها تُطابق حالات آلة اللواحق للسلسلة المعكوسة، ولكن يمكن حل هذه المشكلة بعدم تخزين كل رأس يُطابق لاحقة السلسلة كاملةً بشكل صريح، وبالتالي تخزين الرؤوس التي لها حافتان صادرتان على الأقل فقط. اقترح إدوارد فيالا ودانيال غرين في عام 1989 تعديلًا لخوارزمية بناء شجرة اللواحق لماكريت لهذه المهمة؛ [ 28 ] وبعد عدة سنوات، تم الحصول على نتيجة مماثلة باستخدام تعديل لخوارزمية أوكونين بواسطة جيسبر لارسون. [ 29 ] [ 30 ] ظل وجود مثل هذه الخوارزمية، لآلة اللواحق المضغوطة التي تجمع بعض خصائص كل من أشجار اللواحق وآلات اللواحق، سؤالًا مفتوحًا لفترة طويلة حتى اكتشف مارتن سينفت وتوماس دفوراك في عام 2008 أنه من المستحيل وجودها إذا كان حجم الأبجدية اثنين على الأقل. [ 31 ]
إحدى طرق التغلب على هذه العقبة هي السماح بعرض النافذة بالتغير قليلاً مع البقاءيمكن تحقيق ذلك باستخدام خوارزمية تقريبية اقترحها إينيناغا وآخرون في عام 2004. ولا يُضمن أن تكون النافذة التي يُبنى عليها آلة اللواحق في هذه الخوارزمية بطوللكن من المؤكد أن يكون على الأقلوعلى الأكثرمع توفير تعقيد خطي إجمالي للخوارزمية. [ 32 ]
التطبيقات
آلة لاحقة السلسلةيمكن استخدامها لحل مشاكل مثل: [ 33 ] [ 34 ]
- حساب عدد السلاسل الفرعية المميزة منفيمتصل،
- إيجاد أطول سلسلة فرعية منيحدث مرتين على الأقل في،
- إيجاد أطول سلسلة فرعية مشتركة منوفي،
- حساب عدد مرات حدوثفيفي،
- إيجاد جميع حالاتفيفي، أينهو عدد مرات الظهور.
يفترض هنا أنيتم إدخالها بعد لاحقة أوتوماتون[ 33 ]
تُستخدم آلات اللواحق أيضًا في ضغط البيانات، [ 35 ] واسترجاع الموسيقى [ 36 ] [ 37 ] ومطابقة تسلسلات الجينوم. [ 38 ]
مراجع
- 1 2 كروشيمور وفيرين (1997) ، ص. 192
- 1 2 واينر (1973)
- ↑ برات (1973)
- ↑ سليسينكو (1983)
- ↑ بلومر وآخرون (1984) ، ص 109
- ↑ تشين وسيفيراس (1985) ، ص 97
- 1 2 بلومر وآخرون (1987) ، ص 578
- 1 2 إنيناجا وآخرون. (2001) ، ص. 1
- 1 2 كروشيمور وهانكارت (1997) ، الصفحات 3-6
- 1 2 سيريبرياكوف وآخرون. (2006) ، ص. 50-54
- ^ روبتسوف (2019) ، ص 89-94
- ↑ هوبكروفت وأولمان (1979) ، الصفحات 65-68
- 1 2 بلومر وآخرون (1984) ، الصفحات 111-114
- 1 2 3 4 5 6 7 8 كروشيمور وهانكارت (1997) ، الصفحات 27-31
- 1 2 3 4 5 6 7 إنيناجا وآخرون. (2005) ، ص 159 – 162
- ^ روبينتشيك وشور (2018) ، ص 1–2
- ^ إنيناجا وآخرون. (2005) ، ص 156-158
- 1 2 3 فوجيشيجي وآخرون. (2016) ، ص. 1–3
- 1 2 3 4 5 6 7 كروشيمور وهانكارت (1997) ، الصفحات 31-36
- ^ باراينكو (2007) ، ص 19 – 22
- ↑ بلومر (1987) ، ص 451
- ↑ إينيناغا (2003) ، ص. 1
- 1 2 بلومر وآخرون (1987) ، الصفحات 585-588
- ↑ بلومر وآخرون (1987) ، الصفحات 588-589
- ↑ بلومر وآخرون (1987) ، ص 593
- ^ موهري، مورينو وينشتاين (2009) ، ص 3558–3560
- ↑ بلومر (1987) ، الصفحات 461-465
- ^ فيالا وغرين (1989) ، ص. 490
- ↑ لارسون (1996)
- ^ برودنيك وجيكوفيك (2018) ، ص. 1
- ^ سينفت ودفورجاك (2008) ، ص. 109
- ↑ إينيناغا وآخرون (2004)
- 1 2 كروشيمور وهانكارت (1997) ، الصفحات 36-39
- ↑ كروشيمور وهانكارت (1997) ، الصفحات 39-41
- ^ ياماموتو وآخرون. (2014) ، ص. 675
- ^ كروشيمور وآخرون. (2003) ، ص. 211
- ^ موهري، مورينو وينشتاين (2009) ، ص. 3553
- ↑ فارو (2016) ، ص 145
فهرس
- بلومر، أ.؛ بلومر، ج.؛ إهرنفويشت، أ.؛ هاوسلر، د.؛ ماكونيل، ر. (1984). "بناء آلة الحالة المحدودة المحددة الدنيا لمجموعة جميع الكلمات الفرعية لكلمة ما عبر الإنترنت في وقت خطي". الأوتوماتا واللغات والبرمجة . سلسلة محاضرات في علوم الحاسوب. المجلد 172. الصفحات 109-118 . doi : 10.1007/3-540-13345-3_9 . ISBN 978-3-540-13345-2.
- بلومر، أ.؛ بلومر، ج.؛ هاوسلر، د.؛ ماكونيل، ر.؛ إهرنفويشت، أ. (1987). "ملفات معكوسة كاملة لاسترجاع النصوص وتحليلها بكفاءة". مجلة ACM . 34 (3): 578-595 . doi : 10.1145/28869.28873 . Zbl 1433.68118 .
- بلومر، جانيت أ. (1987). "ما مقدار DAWG في النافذة؟ خوارزمية نافذة متحركة للرسم البياني الموجه غير الدوري للكلمات". مجلة الخوارزميات . 8 (4): 451-469 . doi : 10.1016/0196-6774(87)90045-9 . Zbl 0636.68109 .
- برودنيك، أندريه؛ جيكوفيتش، ماتيفز (2018). "شجرة اللاحقة المنزلقة" . الخوارزميات . 11 (8): 118. أرخايف : 1801.07449 . دوى : 10.3390 / A11080118 . زبل 1458.68043 .
- تشين، إم تي؛ سيفراس، جويل (1985). "بناء شجرة الكلمات الفرعية بكفاءة وأناقة". الخوارزميات التوافقية على الكلمات . ص 97-107 . doi : 10.1007/978-3-642-82456-2_7 . ISBN 978-3-642-82458-6.
- كروشيمور، ماكسيم؛ هانكارت، كريستوف (1997). "آلات مطابقة الأنماط". دليل اللغات الرسمية . ص 399-462 . doi : 10.1007/978-3-662-07675-0_9 . ISBN 978-3-642-08230-6.
- كروشيمور، ماكسيم؛ فيرين، رينو (1997). "حول الرسوم البيانية للكلمات الموجهة المدمجة غير الدورية". هياكل في المنطق وعلوم الحاسوب . سلسلة محاضرات في علوم الحاسوب. المجلد 1261. الصفحات 192-211 . doi : 10.1007/3-540-63246-8_12 . ISBN 978-3-540-63246-7.
- كروشيمور، ماكسيم؛ إليوبولوس، كوستاس س. نافارو، جونزالو؛ بينزون، يوان ج. (2003). “نهج آلي لاحقة متوازية للبت لـ (δ، γ) – المطابقة في استرجاع الموسيقى”. معالجة السلسلة واسترجاع المعلومات . ملاحظات محاضرة في علوم الكمبيوتر. المجلد. 2857. ص 211 – 223. دوى : 10.1007 / 978-3-540-39984-1_16 . رقم ISBN 978-3-540-20177-9.
- سيريبرياكوف، فلاديمير؛ جالوتشكين، مكسيم بافلوفيتش؛ فوروجيان، ميران جابيبولايفيتش؛ جونشار، دميتري رسلانوفيتش (2006). نظرية وتحقيق языков программирования: Учебное пособие (PDF) (بالروسية). موسكو: مطبعة إم زد. رقم ISBN 5-94073-094-9.
- فارو، سيمون (2016). "تقييم وتحسين الخوارزميات السريعة للمطابقة الدقيقة لتسلسلات الجينوم". خوارزميات علم الأحياء الحاسوبي . سلسلة محاضرات في علوم الحاسوب. المجلد 9702. الصفحات 145-157 . doi : 10.1007/978-3-319-38827-4_12 . ISBN 978-3-319-38826-7.
- فيالا، إي آر؛ غرين، دي إتش (1989). "ضغط البيانات باستخدام نوافذ محدودة". اتصالات رابطة آلات الحوسبة . 32 (4): 490-505 . doi : 10.1145/63334.63341 .
- فوجيشيغي، يوتا؛ تسوجيمارو، يوكي؛ إينيناغا، شونسوكي؛ باناي، هيديو؛ تاكيدا، ماسايوكي (2016). "حساب مجموعات الكلمات الرقمية المعممة (DAWGs) والكلمات الغائبة الدنيا في زمن خطي للأبجديات العددية الصحيحة". الندوة الدولية الحادية والأربعون حول الأسس الرياضية لعلوم الحاسوب (MFCS 2016) . وقائع لايبنيز الدولية في المعلوماتية. شلوس داغشتول - مركز لايبنيز للمعلوماتية. الصفحات 38:1-38:14. doi : 10.4230/LIPICS.MFCS.2016.38 . Zbl 1398.68703 .
- هوبكروفت، جون إدوارد؛ أولمان، جيفري ديفيد (1979). مقدمة في نظرية الأوتوماتا واللغات والحوسبة (الطبعة الأولى ). ماساتشوستس: أديسون-ويسلي. ISBN 978-81-7808-347-6. OL 9082218M .
- إينيناغا، شونسوكي (2003). "البناء ثنائي الاتجاه لأشجار اللواحق" (ملف PDF) . المجلة الإسكندنافية للحوسبة . 10 (1): 52-67 . CiteSeerX 10.1.1.100.8726 .
- إنيناجا، شونسوكي؛ هوشينو، هيروماسا؛ شينوهارا، أيومي؛ تاكيدا، ماسايوكي؛ أريكاوا، سيتسو؛ موري، جيانكارلو؛ بافيسي، جوليو (2005). “الإنشاء عبر الإنترنت للرسوم البيانية للكلمات غير الحلقية المدمجة والموجهة”. الرياضيات التطبيقية المنفصلة . 146 (2): 156–179 . دوى : 10.1016/J.DAM.2004.04.012 . زبل 1084.68137 .
- إنيناجا، شونسوكي؛ هوشينو، هيروماسا؛ شينوهارا، أيومي؛ تاكيدا، ماسايوكي؛ أريكاوا ، سيتسو (2001). "إنشاء CDAWG للتجربة" (PDF) . مؤتمر براغ لعلم السلاسل. الإجراءات . ص 37 – 48. CiteSeerX 10.1.1.24.2637 .
- إنيناجا، شونسوكي؛ شينوهارا، أيومي؛ تاكيدا، ماسايوكي؛ أريكاوا ، سيتسو (2004). “رسوم بيانية مدمجة موجهة للكلمات غير الحلقية لنافذة منزلقة”. مجلة الخوارزميات المنفصلة . 2 : 33 – 51. دوى : 10.1016 / S1570-8667 (03)00064-9 . زبل 1118.68755 .
- لارسون، ن. ج. (1996). "تطبيق موسع لأشجار اللواحق على ضغط البيانات". وقائع مؤتمر ضغط البيانات - DCC '96 . الصفحات 190-199 . doi : 10.1109/DCC.1996.488324 . ISBN 0-8186-7358-3.
- مهري، مهريار؛ مورينو، بيدرو؛ وينشتاين، يوجين (2009). "خوارزمية بناء آلة اللواحق العامة وحدود المساحة". علوم الحاسوب النظرية . 410 (37): 3553-3562 . doi : 10.1016/J.TCS.2009.03.034 . Zbl 1194.68143 .
- باراوينكو، دميتري أ. (2007). Обработка строк на основе suffиксный автоматов (PDF) (بالروسية). سانت بطرسبرغ: جامعة ITMO.
- برات، فوغان رونالد (1973). تحسينات وتطبيقات لأداة البحث عن التكرارات لـ وينر . OCLC 726598262 .
- روبتوف ، ألكسندر ألكسندروفيتش (2019). Заметки и задачи о regулярный языкан и конечныно автоматан (PDF) (بالروسية). موسكو: معهد موسكو للفيزياء والتكنولوجيا. رقم ISBN 978-5-7417-0702-9.
- روبينتشيك، ميخائيل؛ شور، أرسيني م. (2018). “EERTREE: بنية بيانات فعالة لمعالجة المتناظرات في السلاسل”. المجلة الأوروبية للتوافقيات . 68 : 249 – 265. أرخايف : 1506.04862 . دوى : 10.1016/J.EJC.2017.07.021 . زبل 1374.68131 .
- سينفت، مارتن؛ دفوراك، توماش (2008). "إتقان CDAWG المنزلق". معالجة السلاسل واسترجاع المعلومات . سلسلة محاضرات في علوم الحاسوب. المجلد 5280. الصفحات 109-120 . doi : 10.1007/978-3-540-89097-3_12 . ISBN 978-3-540-89096-6.
- سليسينكو، أ.و. (1983). "الكشف عن الدورات ومطابقة السلاسل في الوقت الحقيقي". مجلة الرياضيات السوفيتية . 22 (3): 1316-1387 . doi : 10.1007/BF01084395 . Zbl 0509.68043 .
- واينر، بيتر (1973). "خوارزميات مطابقة الأنماط الخطية". الندوة السنوية الرابعة عشرة حول نظرية التبديل والأتمتة (سوات 1973) . الصفحات 1-11 . doi : 10.1109/SWAT.1973.13 .
- ياماموتو، جونيتشي؛ إي، توموهيرو؛ باناي، هيديو؛ إينيناغا، شونسوكي؛ تاكيدا، ماسايوكي (2014). "تحليل ليمبل-زيف المضغوط عبر الإنترنت بشكل أسرع". الندوة الدولية الحادية والثلاثون حول الجوانب النظرية لعلوم الحاسوب (STACS 2014) . وقائع لايبنيز الدولية في المعلوماتية. شلوس داغشتول - مركز لايبنيز للمعلوماتية. الصفحات 675-686 . doi : 10.4230/LIPICS.STACS.2014.675 . Zbl 1359.68341 .
روابط خارجية
الوسائط المتعلقة بآلة اللواحق على ويكيميديا كومنز- مقال عن خوارزميات E-Maxx في اللغة الإنجليزية
- آلات الحالة المحدودة
- مؤشرات السلاسل الفرعية
