البرمجة غير الحتمية
لغة البرمجة غير الحتمية هي لغة تُتيح تحديد خيارات متعددة لسير البرنامج عند نقاط معينة فيه (تُسمى "نقاط الاختيار") . على عكس عبارة "إذا-ثم" ، لا يُحدد المبرمج طريقة الاختيار بين هذه الخيارات مباشرةً؛ بل يجب على البرنامج أن يُقرر ذلك أثناء التشغيل ، عبر طريقة عامة تُطبق على جميع نقاط الاختيار. يُحدد المبرمج عددًا محدودًا من الخيارات، لكن البرنامج هو من يختار بينها لاحقًا. (في الواقع، يُعدّ "الاختيار" اسمًا شائعًا للعامل غير الحتمي). يُمكن تكوين تسلسل هرمي لنقاط الاختيار، حيث تؤدي الخيارات ذات المستوى الأعلى إلى فروع تحتوي بدورها على خيارات ذات مستوى أدنى.
إحدى طرق الاختيار تتجسد في أنظمة التراجع (مثل Amb ، [ 1 ] أو التوحيد في لغة Prolog )، حيث قد "تفشل" بعض البدائل، مما يدفع البرنامج إلى التراجع وتجربة بدائل أخرى. إذا فشلت جميع البدائل عند نقطة اختيار معينة، فإن فرعًا كاملًا يفشل، ويتراجع البرنامج إلى نقطة اختيار سابقة. من بين التعقيدات، أنه نظرًا لأن أي اختيار مؤقت وقابل للتغيير، يجب أن يكون النظام قادرًا على استعادة حالات البرنامج السابقة عن طريق التراجع عن الآثار الجانبية الناتجة عن التنفيذ الجزئي لفرع فشل في النهاية.
يُعدّ التعلّم المعزز خيارًا آخرًا ، وهو مُجسّد في أنظمة مثل Alisp . [ 2 ] في هذه الأنظمة، بدلًا من التراجع، يتتبع النظام مقياسًا للنجاح ويتعلم الخيارات التي غالبًا ما تؤدي إلى النجاح، وفي أي المواقف (قد تؤثر حالة البرنامج الداخلية والمدخلات البيئية على الاختيار). تُناسب هذه الأنظمة تطبيقات الروبوتات وغيرها من المجالات التي ينطوي فيها التراجع على محاولة إلغاء الإجراءات المُنفذة في بيئة ديناميكية، وهو أمر قد يكون صعبًا أو غير عملي.
انظر أيضاً
- عدم الحتمية (توضيح)
- التصنيف: لغات البرمجة غير الحتمية
- اللا حتمية الملائكية
- عدم الحتمية الشيطانية
مراجع
- ↑ "بنية وتفسير برامج الحاسوب" .
- ↑ ديفيد أندريه؛ ستيوارت ج. راسل (يوليو 2002). "تجريد الحالة لوكلاء التعلم المعزز القابل للبرمجة" . المؤتمر الوطني الثامن عشر حول الذكاء الاصطناعي : 119-125 . ISBN 978-0-262-51129-2.
- برمجة الحاسوب
- نماذج البرمجة
- الحتمية
