آلة الحالة المحدودة

Combinational logicFinite-state machinePushdown automatonTuring machineAutomata theory
أنواع الأوتوماتا

في علم الحاسوب النظري ، تُعرف آلة الحالة المحدودة ( FSM ) أو آلة الحالة المحدودة ( FSA ، جمعها: آلات )، أو ببساطة آلة الحالة ، بأنها نموذج رياضي للحوسبة . [ 1 ] وهي آلة مجردة يمكن أن تكون في حالة واحدة فقط من بين عدد محدود من الحالات في أي وقت. يمكن لآلة الحالة المحدودة أن تنتقل من حالة إلى أخرى استجابةً لبعض المدخلات ؛ ويُسمى هذا الانتقال " انتقالًا" . [ 2 ] تُعرَّف آلة الحالة المحدودة بقائمة حالاتها، وحالتها الابتدائية، والمدخلات التي تُحفز كل انتقال. تنقسم آلات الحالة المحدودة إلى نوعين: آلات الحالة المحدودة الحتمية وآلات الحالة المحدودة غير الحتمية . [ 3 ] [ 4 ] يمكن إنشاء آلة حالة محدودة حتمية مكافئة لأي آلة حالة محدودة غير حتمية. [ 5 ]

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

تتمتع آلة الحالة المحدودة بقدرة حسابية أقل من بعض نماذج الحوسبة الأخرى، مثل آلة تورينج . [ 6 ] ويعني هذا التفاوت في القدرة الحسابية وجود مهام حسابية تستطيع آلة تورينج القيام بها بينما تعجز آلة الحالة المحدودة عن ذلك. ويعود ذلك إلى أن ذاكرة آلة الحالة المحدودة محدودة بعدد حالاتها. تمتلك آلة الحالة المحدودة نفس القدرة الحسابية لآلة تورينج، إلا أنها مقيدة بحيث لا يمكن لرأسها سوى إجراء عمليات "القراءة"، ويجب أن يتحرك دائمًا من اليسار إلى اليمين. وتُدرس آلات الحالة المحدودة ضمن مجال نظرية الأوتوماتا الأوسع .

مثال: بوابة دوارة تعمل بالعملات المعدنية

مخطط حالة البوابة الدوارة
بوابة دوارة

من الأمثلة على الآليات البسيطة التي يمكن نمذجتها باستخدام آلة الحالة، البوابة الدوارة . [ 7 ] [ 8 ] تُستخدم البوابة الدوارة للتحكم في الوصول إلى محطات المترو وألعاب الملاهي، وهي عبارة عن بوابة بثلاثة أذرع دوارة على مستوى الخصر، يمتد أحدها عبر المدخل. في البداية، تكون الأذرع مغلقة، مما يمنع الدخول ويحول دون مرور الزوار. يؤدي إدخال عملة معدنية أو رمز مميز في فتحة على البوابة الدوارة إلى فتح الأذرع، مما يسمح لزبون واحد بالمرور. بعد مرور الزبون، تُغلق الأذرع مرة أخرى حتى يتم إدخال عملة معدنية أخرى.

يُعتبر جهاز البوابة الدوارة بمثابة آلة حالة، وله حالتان محتملتان: مُغلق ومفتوح . [ 7 ] هناك مدخلان يؤثران على حالته: وضع عملة معدنية في الفتحة ( عملة ) ودفع الذراع ( دفع ). في الحالة المُغلقة، لا يُؤثر دفع الذراع؛ فمهما تكرر إدخال أمر الدفع ، يبقى الجهاز في الحالة المُغلقة. أما وضع عملة معدنية - أي إدخال أمر عملة - فيُغير الحالة من مُغلقة إلى مفتوحة . في الحالة المفتوحة، لا يُؤثر وضع عملات إضافية؛ أي أن إدخال المزيد من العملات لا يُغير الحالة. أما دفع العميل للذراعين فيُعطي أمر دفع ، ويُعيد الحالة إلى مُغلقة .

يمكن تمثيل آلة الحالة الخاصة بالبوابة الدوارة بواسطة جدول انتقال الحالة ، والذي يوضح لكل حالة ممكنة، الانتقالات بينها (بناءً على المدخلات المعطاة للآلة) والمخرجات الناتجة عن كل مدخل:

الوضع الحاليمدخلالولاية التاليةالناتج
مغلقعملةمفتوحيفتح البوابة الدوارة ليتمكن العميل من المرور.
يدفعمغلقلا أحد
مفتوحعملةمفتوحلا أحد
يدفعمغلقعندما يمر الزبون، يتم إغلاق البوابة الدوارة.

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

المفاهيم والمصطلحات

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

في بعض تمثيلات آلات الحالة المحدودة، من الممكن أيضًا ربط الإجراءات بحالة معينة:

  • إجراء دخول: يتم تنفيذه عند دخول الولاية، و
  • إجراء الخروج: يتم تنفيذه عند الخروج من الحالة.

التمثيلات

الشكل 1: مثال على مخطط حالة UML (فرن تحميص الخبز)
الشكل 2: مثال على آلة الحالة SDL
الشكل 3: مثال على آلة حالة محدودة بسيطة

جدول الحالة/الحدث

تُستخدم أنواعٌ عديدة من جداول انتقال الحالة . يُوضح الشكل التالي التمثيل الأكثر شيوعًا: حيث يُظهر الجمع بين الحالة الحالية (مثل B) والمدخلات (مثل Y) الحالة التالية (مثل C). لا يُمكن للجدول وحده وصف الإجراء وصفًا كاملًا، لذا يُستعان عادةً بالحواشي. قد لا تُعاني التمثيلات الأخرى ذات الصلة من هذا القيد. على سبيل المثال، يُمكن تعريف آلة الحالة المحدودة (FSM) بما في ذلك معلومات الإجراء الكاملة باستخدام جداول الحالة (انظر أيضًا آلة الحالة المحدودة الافتراضية ).

جدول انتقال الحالة
 الوضع الحالي
مدخل
الولاية أالولاية بالولاية ج
المدخل X.........
المدخل Y...الولاية ج...
المدخل Z.........

آلات الحالة UML

تستخدم لغة النمذجة الموحدة (UML) ترميزًا لوصف آلات الحالة. تتغلب آلات الحالة في UML على قيود آلات الحالة المحدودة التقليدية [ 9 ] مع الحفاظ على مزاياها الرئيسية. تُقدم آلات الحالة في UML مفاهيم جديدة للحالات المتداخلة هرميًا والمناطق المتعامدة ، مع توسيع مفهوم الإجراءات . تتميز آلات الحالة في UML بخصائص كلٍ من آلات ميلي وآلات مور . فهي تدعم الإجراءات التي تعتمد على كلٍ من حالة النظام والحدث المُحفز ، كما هو الحال في آلات ميلي، بالإضافة إلى إجراءات الدخول والخروج ، المرتبطة بالحالات بدلًا من الانتقالات، كما هو الحال في آلات مور. [ 10 ]

آلات الحالة SDL

لغة المواصفات والوصف هي معيار من الاتحاد الدولي للاتصالات يتضمن رموزًا رسومية لوصف الإجراءات في عملية الانتقال:

  • إرسال حدث
  • تلقي حدث
  • ابدأ المؤقت
  • إلغاء المؤقت
  • ابدأ تشغيل آلة حالة متزامنة أخرى
  • قرار

تتضمن لغة SDL أنواع بيانات أساسية تسمى "أنواع البيانات المجردة"، ولغة إجراءات، ودلالات تنفيذية لجعل آلة الحالة المحدودة قابلة للتنفيذ. [ 11 ]

مخططات الحالة الأخرى

هناك عدد كبير من المتغيرات لتمثيل آلة الحالة المحدودة مثل تلك الموجودة في الشكل 3.

الاستخدام

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

تصنيف

يمكن تقسيم الآلات ذات الحالة المحدودة إلى مستقبلات، ومصنفات، ومحولات، ومتسلسلات. [ 12 ]

المتقبلون

الشكل 4: آلة الحالة المحدودة للمستقبل: تحليل السلسلة "nice".
الشكل 5: تمثيل للمستقبل؛ يوضح هذا المثال واحدًا يحدد ما إذا كان العدد الثنائي يحتوي على عدد زوجي من الأصفار، حيث S 1 هي حالة قبول و S 2 هي حالة عدم قبول .

تُنتج المُستقبِلات (وتُسمى أيضًا الكاشفات أو المُعرِّفات ) مُخرجات ثنائية تُشير إلى ما إذا كان المُدخل المُستقبَل مقبولًا أم لا. كل حالة من حالات المُستقبِل إما حالة قبول أو حالة رفض . بمجرد استلام جميع المُدخلات، إذا كانت الحالة الحالية حالة قبول، يتم قبول المُدخل؛ وإلا يتم رفضه. وكقاعدة عامة، يكون المُدخل عبارة عن سلسلة من الرموز (الأحرف)؛ ولا تُستخدم الإجراءات. يُمكن أن تكون حالة البداية أيضًا حالة قبول، وفي هذه الحالة يقبل المُستقبِل السلسلة الفارغة. يُظهر المثال في الشكل 4 مُستقبِلًا يقبل السلسلة "nice". في هذا المُستقبِل، حالة القبول الوحيدة هي الحالة 7.

تُسمى مجموعة (قد تكون لانهائية) من متواليات الرموز، والتي تُسمى لغة رسمية ، لغة منتظمة إذا وُجد مُستقبِل يقبل تلك المجموعة تحديدًا . [ 13 ] على سبيل المثال، تُعد مجموعة السلاسل الثنائية التي تحتوي على عدد زوجي من الأصفار لغة منتظمة (انظر الشكل 5)، بينما لا تُعد مجموعة جميع السلاسل التي يكون طولها عددًا أوليًا لغة منتظمة. [ 14 ]

يمكن تعريف المُستقبِل أيضًا بأنه لغة تحتوي على جميع السلاسل النصية التي يقبلها المُستقبِل، ولا تحتوي على أي من السلاسل المرفوضة؛ وهذه اللغة مقبولة من قِبَل المُستقبِل. وبحسب التعريف، فإن اللغات التي يقبلها المُستقبِلون هي اللغات المنتظمة .

تُعدّ مشكلة تحديد اللغة المقبولة من قِبل مُستقبِل مُعيّن مثالاً على مشكلة المسار الجبري ، وهي في حد ذاتها تعميم لمشكلة أقصر مسار إلى الرسوم البيانية ذات الحواف الموزونة بعناصر شبه حلقة (اختيارية) . [ 15 ] [ 16 ]

يظهر مثال على حالة القبول في الشكل 5: آلة حتمية محدودة (DFA) تكتشف ما إذا كانت سلسلة الإدخال الثنائية تحتوي على عدد زوجي من الأصفار.

تشير الحالة S1 (وهي أيضًا حالة البداية) إلى الحالة التي تم فيها إدخال عدد زوجي من الأصفار. لذا، تُعدّ S1 حالة قبول. سينتهي هذا المُستقبِل بحالة قبول إذا احتوت السلسلة الثنائية على عدد زوجي من الأصفار (بما في ذلك أي سلسلة ثنائية لا تحتوي على أصفار). من أمثلة السلاسل التي يقبلها هذا المُستقبِل: ε ( السلسلة الفارغة )، 1، 11، 11...، 00، 010، 1010، 10110، إلخ.

المصنفات

المصنفات هي تعميم للمستقبلات التي تنتج مخرجات من الرتبة n حيث n أكبر من اثنين بشكل صارم. [ 17 ]

محولات الطاقة

الشكل 6: مثال على نموذج مور لآلة الحالة المحدودة للمحول
الشكل 7: مثال على نموذج ميلي باستخدام محول الطاقة FSM

تُنتج المحولات مخرجات بناءً على مدخلات معينة و/أو حالة معينة باستخدام إجراءات محددة. وتُستخدم هذه المحولات في تطبيقات التحكم وفي مجال اللغويات الحاسوبية .

في تطبيقات التحكم، يتم تمييز نوعين:

آلة مور
تعتمد آلة الحالة المحدودة (FSM) على إجراءات الدخول فقط، أي أن المخرجات تعتمد على الحالة فقط. وتكمن ميزة نموذج مور في تبسيط السلوك. لنفترض باب مصعد. تتعرف آلة الحالة على أمرين: "command_open" و"command_close"، واللذان يُحدثان تغييرات في الحالة. يبدأ إجراء الدخول (E:) في حالة "Opening" محركًا لفتح الباب، بينما يبدأ إجراء الدخول في حالة "Closing" محركًا في الاتجاه المعاكس لإغلاق الباب. تُوقف حالتا "Opened" و"Closed" المحرك عند فتح الباب أو إغلاقه بالكامل. تُشير هاتان الحالتان إلى العالم الخارجي (مثل آلات الحالة الأخرى) إلى الحالة: "الباب مفتوح" أو "الباب مغلق".
آلة الدقيق
تستخدم آلة الحالة المحدودة (FSM) أيضًا إجراءات الإدخال، أي أن المخرجات تعتمد على المدخلات والحالة. غالبًا ما يؤدي استخدام آلة حالة محدودة من نوع ميلي إلى تقليل عدد الحالات. يوضح المثال في الشكل 7 آلة حالة محدودة من نوع ميلي تُنفذ نفس السلوك كما في مثال مور (يعتمد السلوك على نموذج تنفيذ آلة الحالة المحدودة المُطبق، وسيعمل، على سبيل المثال، مع آلة الحالة المحدودة الافتراضية ، ولكن ليس مع آلة الحالة المحدودة القائمة على الأحداث ). يوجد إجراءان للإدخال (I:): "تشغيل المحرك لإغلاق الباب عند وصول الأمر command_close" و"تشغيل المحرك في الاتجاه المعاكس لفتح الباب عند وصول الأمر command_open". لم يتم عرض حالتي "الفتح" و"الإغلاق" الوسيطتين.

أجهزة التسلسل

تُعدّ المُسلسلات (وتُسمى أيضاً المُولدات ) فئة فرعية من المُستقبِلات والمُحوِّلات التي تحتوي على أبجدية إدخال أحادية الحرف. وهي تُنتج تسلسلاً واحداً فقط، والذي يُمكن اعتباره تسلسلاً مُخرجاً لمخرجات المُستقبِل أو المُحوِّل. [ 12 ]

الحتمية

ثمة فرق آخر بين الأوتوماتا الحتمية ( DFA ) والأوتوماتا غير الحتمية ( NFA ، GNFA ). في الأوتوماتا الحتمية، لكل حالة انتقال واحد فقط لكل مدخل ممكن. أما في الأوتوماتا غير الحتمية، فقد يؤدي المدخل إلى انتقال واحد، أو أكثر، أو لا يؤدي إلى أي انتقال لحالة معينة. ويمكن لخوارزمية بناء مجموعة القوى تحويل أي أوتوماتا غير حتمية إلى أوتوماتا حتمية (عادةً ما تكون أكثر تعقيدًا) ذات وظائف متطابقة.

تُسمى آلة الحالة المحدودة ذات الحالة الواحدة "آلة حالة محدودة توافقية". وهي لا تسمح بتنفيذ أي إجراءات إلا عند الانتقال إلى حالة معينة. يُعد هذا المفهوم مفيدًا في الحالات التي تتطلب فيها عدة آلات حالة محدودة العمل معًا، وعندما يكون من المناسب اعتبار جزء توافقي بحت شكلاً من أشكال آلة الحالة المحدودة ليتناسب مع أدوات التصميم. [ 18 ]

الدلالات البديلة

تتوفر مجموعات أخرى من الدلالات لتمثيل آلات الحالة. على سبيل المثال، توجد أدوات لنمذجة وتصميم منطق وحدات التحكم المدمجة. [ 19 ] تجمع هذه الأدوات بين آلات الحالة الهرمية (التي عادةً ما تحتوي على أكثر من حالة حالية واحدة)، ومخططات التدفق، وجداول الحقيقة في لغة واحدة، مما ينتج عنه شكلية مختلفة ومجموعة دلالات مختلفة. [ 20 ] تدعم هذه المخططات، مثل آلات الحالة الأصلية لهاريل ، [ 21 ] الحالات المتداخلة هرميًا، والمناطق المتعامدة ، وإجراءات الحالة، وإجراءات الانتقال. [ 22 ]

النموذج الرياضي

وفقًا للتصنيف العام، تم العثور على التعريفات الرسمية التالية.

الآلة الحتمية ذات الحالة المحدودة أو جهاز الاستقبال الحتمي ذو الحالة المحدودة هو خماسي(Σ،S،s0،دلتا،F){\displaystyle (\Sigma ,S,s_{0},\delta ,F)}، أين:

  • Σ{\displaystyle \Sigma }هي الأبجدية المدخلة (مجموعة محدودة غير فارغة من الرموز)؛
  • S{\displaystyle S}هي مجموعة محدودة غير فارغة من الحالات؛
  • s0{\displaystyle s_{0}}هي حالة ابتدائية، عنصر منS{\displaystyle S}؛
  • دلتا{\displaystyle \delta }هي دالة انتقال الحالة:دلتا:S×ΣS{\displaystyle \delta :S\times \Sigma \rightarrow S}(في آلة محدودة غير حتمية سيكون الأمر كذلك)دلتا:S×ΣP(S){\displaystyle \delta :S\times \Sigma \rightarrow {\mathcal {P}}(S)}، أيدلتا{\displaystyle \delta }سوف تُعيد مجموعة من الحالات)؛
  • F{\displaystyle F}هي مجموعة الحالات النهائية، وهي مجموعة فرعية (قد تكون فارغة) منS{\displaystyle S}.

بالنسبة لكل من آلات الحالة المحدودة الحتمية وغير الحتمية، من المتعارف عليه السماحدلتا{\displaystyle \delta }أن تكون دالة جزئية ، أيدلتا(s،x){\displaystyle \delta (s,x)}لا يلزم تعريفها لكل تركيبة منsS{\displaystyle s\in S}وxΣ{\displaystyle x\in \Sigma }إذا كانت آلة الحالة المحدودةم{\displaystyle M}يقع في ولايةs{\displaystyle s}الرمز التالي هوx{\displaystyle x}ودلتا(s،x){\displaystyle \delta (s,x)}إذا لم يتم تعريفها، فـم{\displaystyle M}يمكن للخوارزمية الإعلان عن خطأ (أي رفض المدخلات). يُعدّ هذا مفيدًا في تعريفات آلات الحالة العامة، ولكنه أقل فائدة عند تحويل الآلة. قد تتطلب بعض الخوارزميات في شكلها الافتراضي دوالًا كلية.

تتمتع آلة الحالة المحدودة بنفس القدرة الحسابية لآلة تورينج المقيدة بحيث لا يمكن لرأسها سوى إجراء عمليات "القراءة"، ويجب أن يتحرك دائمًا من اليسار إلى اليمين. أي أن كل لغة رسمية تقبلها آلة الحالة المحدودة تقبلها أيضًا آلة تورينج المقيدة من هذا النوع، والعكس صحيح. [ 23 ]

المحول ذو الحالة المحدودة هو سداسي(Σ،Γ،S،s0،دلتا،ω){\displaystyle (\Sigma ,\Gamma ,S,s_{0},\delta ,\omega )}، أين:

  • Σ{\displaystyle \Sigma }هي الأبجدية المدخلة (مجموعة محدودة غير فارغة من الرموز)؛
  • Γ{\displaystyle \Gamma }هي الأبجدية الناتجة (مجموعة محدودة غير فارغة من الرموز)؛
  • S{\displaystyle S}هي مجموعة محدودة غير فارغة من الحالات؛
  • s0{\displaystyle s_{0}}هي الحالة الابتدائية، عنصر منS{\displaystyle S}؛
  • دلتا{\displaystyle \delta }هي دالة انتقال الحالة:دلتا:S×ΣS{\displaystyle \delta :S\times \Sigma \rightarrow S}؛
  • ω{\displaystyle \omega }هي دالة الإخراج.

إذا كانت دالة الإخراج تعتمد على الحالة ورمز الإدخال (ω:S×ΣΓ{\displaystyle \omega :S\times \Sigma \rightarrow \Gamma }يتوافق هذا التعريف مع نموذج ميلي ، ويمكن نمذجته كآلة ميلي . إذا كانت دالة الإخراج تعتمد فقط على الحالة (ω:SΓ{\displaystyle \omega :S\rightarrow \Gamma }يتوافق هذا التعريف مع نموذج مور ، ويمكن نمذجته كآلة مور . تُعرف الآلة ذات الحالات المحدودة التي لا تحتوي على دالة إخراج على الإطلاق باسم شبه آلي أو نظام انتقالي .

إذا تجاهلنا رمز الإخراج الأول لآلة مور،ω(s0){\displaystyle \أوميغا (s_{0})}ثم يمكن تحويلها بسهولة إلى آلة ميلي مكافئة للمخرجات عن طريق تحديد دالة الإخراج لكل انتقال ميلي (أي تسمية كل حافة) برمز الإخراج المعطى لحالة مور الوجهة. أما التحويل العكسي فهو أقل وضوحًا لأن حالة آلة ميلي قد تحتوي على تسميات إخراج مختلفة على انتقالاتها (حوافها) الواردة. كل حالة من هذا القبيل تحتاج إلى تقسيمها إلى حالات متعددة لآلة مور، حالة لكل رمز إخراج وارد. [ 24 ]

تحسين

تحسين آلة الحالة المحدودة يعني إيجاد آلة بأقل عدد من الحالات تؤدي نفس الوظيفة. أسرع خوارزمية معروفة لتحقيق ذلك هي خوارزمية هوبكروفت للتقليل . [ 25 ] [ 26 ] تشمل التقنيات الأخرى استخدام جدول الاستلزام ، أو إجراء اختزال مور. [ 27 ] بالإضافة إلى ذلك، يمكن تقليل آلات الحالة المحدودة غير الدورية في وقت خطي . [ 28 ]

تطبيق

إلكتروني

الشكل 9: مخطط الدائرة لعداد TTL ذي 4 بتات ، وهو نوع من آلات الحالة

عند تنفيذها كدائرة رقمية ، يمكن بناء آلة الحالة المحدودة (FSM) باستخدام البوابات المنطقية والقلابات ، أو وحدة تحكم منطقية قابلة للبرمجة ، أو المرحلات . تتطلب كل آلة حالة محدودة من هذا النوع مسجلاً لتخزين الحالة الحالية، ومنطقًا توافقيًا لتحديد الحالة التالية، وفي كثير من الحالات، منطقًا توافقيًا لتحويل الحالة الحالية إلى إشارات خرج آلة الحالة المحدودة.

تُصنَّف آلات الحالة المحدودة الإلكترونية وفقًا لبنيتها العامة. يُعدّ خرج آلة ميلي دالةً لكلٍّ من إشارات دخلها وحالتها الراهنة، بينما يُعدّ خرج آلة مور دالةً لحالتها الراهنة فقط. في آلة ميدفيديف ، وهي فئة فرعية من آلات مور، يُستثنى منطق الخرج ويُستخدم سجل الحالة مباشرةً كخرج لآلة الحالة المحدودة، مما يُقلّل من التأخير الزمني بين انتقال الحالة وتغيير الخرج. [ 29 ] [ 30 ]

يمكن تحسين آلات الحالة منخفضة الطاقة من خلال ترميز الحالة لتقليل استهلاك الطاقة إلى الحد الأدنى.

تطبيقات البرمجيات

تُستخدم المفاهيم التالية بشكل شائع لبناء تطبيقات برمجية باستخدام آلات الحالة المحدودة:

آلات الحالة المحدودة والمترجمات

تُستخدم الأوتوماتا المحدودة غالبًا في واجهة مُترجمات لغات البرمجة. قد تتألف هذه الواجهة من عدة آلات ذات حالات محدودة تُنفذ مُحللًا معجميًا ومُحللًا نحويًا. يبدأ المُحلل المعجمي من سلسلة من الأحرف، ثم يُنشئ سلسلة من رموز اللغة (مثل الكلمات المحجوزة، والقيم الحرفية، والمُعرفات) التي يُنشئ منها المُحلل النحوي شجرة بناء الجملة. يتولى كل من المُحلل المعجمي والمُحلل النحوي معالجة الأجزاء العادية وغير السياقية من قواعد لغة البرمجة. [ 31 ]

انظر أيضاً

مراجع

  1. يقدم مينسكي (1967) المصطلحات البديلة، آلات الحالة المحدودة والآلات المحدودة ، في بداية الفصل 2 .
  2. وانغ 2019 ، ص 34.
  3. رائع .
  4. ^ لويس وباباديميتريو 1998 ، الفصل الثاني: الآلات المحدودة .
  5. ^ لويس وباباديميتريو 1998 ، ص. 64 . 
  6. بيلزر، هولزمان وكينت 1975 ، ص 73.
  7. 1 2 كوشي 2004 .
  8. رايت 2005 .
  9. بورغر، إيغون؛ كافارا، أليساندرا؛ ريكوبين، إلفينيا (2000). غوريفيتش، يوري؛ كوتر، فيليب دبليو؛ أوديرسكي، مارتن؛ ثيل، لوثار (محررون). "نمذجة ديناميكيات آلات الحالة في لغة النمذجة الموحدة" . آلات الحالة المجردة - النظرية والتطبيقات . برلين، هايدلبرغ: سبرينغر: 223-241 . doi : 10.1007/3-540-44518-8_13 . ISBN 978-3-540-44518-0.
  10. "دورة مكثفة في آلات الحالة UML" (ملف PDF) . شركة Quantum Leaps، ذ.م.م. تم الاطلاع عليه بتاريخ 13 يونيو 2026 .
  11. "الدلالات الرسمية لـ SDL-2000: الوضع الراهن والآفاق المستقبلية" . شبكات الحاسوب . 42 (3): 343-358 . 21 يونيو 2003. doi : 10.1016/S1389-1286(03)00247-0 . ISSN 1389-1286 . 
  12. 1 2 كيلر 2001 .
  13. هوبكروفت وأولمان 1979 ، ص 18.
  14. هوبكروفت، موتاني وأولمان 2006 ، ص 130-131.
  15. Pouly & Kohlas 2011 ، ص. 223 ، الفصل 6. جبر التقييم لمسائل المسار.
  16. جونتسي 2008 ، ص 34.
  17. فيلكين 2007 ، ص 277-278.
  18. بروتشيك وآخرون 2008 .
  19. تيواري 2002 .
  20. هامون 2005 .
  21. هاريل 1987 .
  22. Alur et al. 2008 .
  23. بلاك 2008 .
  24. أندرسون وهيد 2006 ، ص 105-108.
  25. هوبكروفت 1971 .
  26. ^ ألميدا، موريرا وريس 2007 .
  27. مور 1956 ، ص 142، النظرية 4.
  28. Revuz 1992 .
  29. كايسلين 2008 .
  30. شوارتز .
  31. ^ أهو وسيثي وأولمان 1986 .

مصادر

للمزيد من القراءة

عام
  • كارول، ج.؛ لونغ، د. (1989). نظرية الأوتوماتا المحدودة مع مقدمة في اللغات الرسمية (ملف PDF) . إنجلوود كليفس: برنتيس هول.
  • كاساندراس، سي.؛ لافورتون، إس. (1999). مقدمة في أنظمة الأحداث المنفصلة . كلوير. ISBN 0-7923-8609-4.
  • غاردنر، ت. (2007). "الإدارة المتقدمة للدولة" . مؤرشف من الأصل في 19 نوفمبر 2008.
  • جيل، أ. (1962). مقدمة في نظرية الآلات ذات الحالة المحدودة . ماكجرو هيل.
  • جينسبيرج، س. (1962). مقدمة في نظرية الآلة الرياضية . أديسون-ويسلي.
  • ITU-T. "التوصية Z.100 لغة المواصفات والوصف (SDL)" .
  • كام، تيموثي (1997). توليف آلات الحالة المحدودة: التحسين الوظيفي . بوسطن: دار نشر كلوير الأكاديمية. ISBN 0-7923-9842-4.
  • كوهفي، ز. (1978). نظرية التبديل والأتمتة المحدودة . ماكجرو هيل.
  • ساكاروفيتش، جاك (2009). عناصر نظرية الأوتوماتا . ترجمة روبن توماس من الفرنسية. مطبعة جامعة كامبريدج. ISBN 978-0-521-84425-3. Zbl 1188.68177 . 
  • سامك، م. (2002). مخططات الحالة العملية في لغة C/C++ . منشورات CMP. رقم ISBN 1-57820-110-1.
  • سامك، م. (2008). مخططات حالة UML العملية في لغة C/C++، الطبعة الثانية . نيونس. ISBN 0-7506-8706-1.
  • فيلا، تيزيانو (1997). توليف آلات الحالة المحدودة: تحسين المنطق . بوسطن: دار نشر كلوير الأكاديمية. ISBN 0-7923-9892-0.
  • فاغنر، ف. (2006). نمذجة البرمجيات باستخدام آلات الحالة المحدودة: منهج عملي . منشورات أورباخ. ISBN 0-8493-8086-3.
الآلات ذات الحالة المحدودة (نظرية الأوتوماتا) في علوم الحاسوب النظرية
  • أربيب، مايكل أ. (1969). نظريات الأوتوماتا المجردة (  الطبعة الأولى). إنجلوود كليفس، نيوجيرسي: برنتيس هول، إنك. ISBN 978-0-13-913368-8.
  • بوبرو، ليونارد س.؛ أربيب، مايكل أ. (1974). الرياضيات المتقطعة: الجبر التطبيقي لعلوم الحاسوب والمعلومات (الطبعة الأولى  ). فيلادلفيا: شركة دبليو بي سوندرز. رقم ISBN 978-0-7216-1768-8.
  • بوث، تايلور ل. (1967). الآلات التسلسلية ونظرية الأوتوماتا (  الطبعة الأولى). نيويورك: جون وايلي وأولاده، رقم فهرس بطاقات مكتبة الكونغرس 67-25924.
  • بولوس، جورج؛ جيفري، ريتشارد (1999) [1989]. الحوسبة والمنطق (  الطبعة الثالثة). كامبريدج، إنجلترا: مطبعة جامعة كامبريدج. ISBN 978-0-521-20402-6.
  • بروكشير، ج. جلين (1989). نظرية الحوسبة: اللغات الرسمية، والأتمتة، والتعقيد . ريدوود سيتي، كاليفورنيا: شركة بنجامين/كومينغز للنشر. ISBN 978-0-8053-0143-4.
  • ديفيس، مارتن؛ سيغال، رون؛ ويوكر، إيلين جيه. (1994). الحوسبة، والتعقيد، واللغات والمنطق: أساسيات علوم الحاسوب النظرية (  الطبعة الثانية). سان دييغو: أكاديميك برس، هاركورت، بريس وشركاه. ISBN 978-0-12-206382-4.
  • هوبكين، ديفيد؛ موس، باربرا (1976). أتمتة . نيويورك: إلسفير شمال هولندا. رقم ISBN 978-0-444-00249-5.
  • كوزين، ديكستر سي. (1997). الأتمتة والحوسبة (الطبعة الأولى  ). نيويورك: سبرينغر-فيرلاغ. رقم ISBN 978-0-387-94907-9.
  • لويس، هاري ر.؛ باباديميتريو ، كريستوس هـ. (1998). عناصر نظرية الحوسبة (  الطبعة الثانية). أبر سادل ريفر، نيو جيرسي: برنتيس هول. ISBN 978-0-13-262478-7.
  • لينز، بيتر (2006). اللغات الرسمية والأتمتة (  الطبعة الرابعة). سودبري، ماساتشوستس: جونز وبارتليت. ISBN 978-0-7637-3798-6.
  • مينسكي، مارفن (1967). الحوسبة: الآلات المحدودة واللامحدودة (  الطبعة الأولى). نيو جيرسي: برنتيس هول.
  • باباديميتريو، كريستوس (1993). التعقيد الحسابي (  الطبعة الأولى). أديسون ويسلي. ISBN 978-0-201-53082-7.
  • بيبينجر، نيكولاس (1997). نظريات الحوسبة (  الطبعة الأولى). كامبريدج، إنجلترا: مطبعة جامعة كامبريدج. ISBN 978-0-521-55380-3.
  • رودجر، سوزان؛ فينلي، توماس (2006). JFLAP: حزمة لغات رسمية تفاعلية وأتمتة (  الطبعة الأولى). سودبري، ماساتشوستس: جونز وبارتليت. ISBN 978-0-7637-3834-1.
  • سيبسر، مايكل (2006). مقدمة في نظرية الحوسبة (  الطبعة الثانية). بوسطن، ماساتشوستس: تومسون كورس تكنولوجي. ISBN 978-0-534-95097-2.
  • وود، ديريك (1987). نظرية الحوسبة (  الطبعة الأولى). نيويورك: هاربر آند رو، ناشرون. ISBN 978-0-06-047208-5.
آلات الحالة المجردة في علوم الحاسوب النظرية
التعلم الآلي باستخدام خوارزميات الحالة المحدودة
  • ميتشل، توم م. (1997). تعلم الآلة (  الطبعة الأولى). نيويورك: دبليو سي بي/مؤسسة ماكجرو هيل. رقم ISBN 978-0-07-042807-2.
هندسة الأجهزة
تقليل عدد الحالات وتوليف الدوائر التسلسلية
  • بوث، تايلور ل. (1967). الآلات التسلسلية ونظرية الأوتوماتا (  الطبعة الأولى). نيويورك: جون وايلي وأولاده، رقم فهرس بطاقات مكتبة الكونغرس 67-25924.
  • بوث، تايلور ل. (1971). الشبكات الرقمية وأنظمة الحاسوب (  الطبعة الأولى). نيويورك: جون وايلي وأولاده، رقم ISBN 978-0-471-08840-0.
  • ماكلوسكي، إي جيه (1965). مقدمة في نظرية دوائر التبديل (  الطبعة الأولى). نيويورك: شركة ماكجرو هيل للنشر. رقم فهرس بطاقات مكتبة الكونغرس 65-17394.
  • هيل، فريدريك جيه؛ بيترسون، جيرالد آر. (1965). مقدمة في نظرية دوائر التبديل (  الطبعة الأولى). نيويورك: شركة ماكجرو هيل للنشر. رقم فهرس بطاقات مكتبة الكونغرس 65-17394.
عمليات سلسلة ماركوف المحدودة

يمكننا اعتبار سلسلة ماركوف عملية تنتقل تباعًا عبر مجموعة من الحالات s1 ، s2 ، ...، sr . ... إذا كانت في الحالة si، فإنها تنتقل إلى الحالة التالية sj باحتمال pij . يمكن تمثيل هذه الاحتمالات في شكل مصفوفة انتقال .

تُعرف عمليات سلسلة ماركوف المحدودة أيضًا باسم التحولات الفرعية من النوع المحدود .

  • بوث، تايلور ل. (1967). الآلات التسلسلية ونظرية الأوتوماتا (  الطبعة الأولى). نيويورك: جون وايلي وأولاده، رقم فهرس بطاقات مكتبة الكونغرس 67-25924.
  • كيميني، جون ج.؛ ميركيل، هازلتون؛ سنيل، ج. لوري؛ طومسون، جيرالد ل. (1959). البنى الرياضية المحدودة (  الطبعة الأولى). إنجلوود كليفس، نيوجيرسي: برنتيس هول، إنك. رقم فهرس بطاقات مكتبة الكونغرس 59-12841.الفصل السادس "سلاسل ماركوف المحدودة".
  • GetLastError. "نمذجة سلوك ذكاء اصطناعي بسيط باستخدام آلة الحالة المحدودة" . مدونة تطوير ألعاب مانوفرا . مؤرشفة من الأصل في 2 ديسمبر 2012.
  • "آلة الحالة المحدودة" . قاموس الحوسبة المجاني على الإنترنت . مؤرشف من الأصل في 11 ديسمبر 2017.– وصف آلات الحالة المحدودة
  • "آلة الحالة المحدودة" . قاموس المعهد الوطني للمعايير والتكنولوجيا للخوارزميات وهياكل البيانات. مؤرشف من الأصل في 13 أكتوبر 2018.– وصف آلات الحالة المحدودة