أطروحة البكالوريوس في البرمجة بالقيود
يونيو 2019
نظرة عامة
بوصفي طالبًا جامعيًا في علوم الحاسوب، انطلق بحثي من سؤال عملي: حين يتراكم في المحاكي عدد كبير من الشروط المحتملة، كيف نجعله يتوقف عن إعادة النظر في تلك التي لم يعد بإمكانها أن تحدث؟ طوّرتُ لـ HydLa طريقةً تستفيد من الاتجاه الذي يتغير فيه المتغير لإزالة الشروط التي فقدت جدواها من البحث، ثم قيّمتُها. في النموذج المرجعي، انخفض زمن المحاكاة الكلي إلى النصف تقريبًا.
هذا العمل أحد الأسس الأولى لفلسفتي في التصميم. علّمتني البرمجة بالقيود أن النتائج المركّبة لا تحتاج دائمًا إلى تحديد مباشر: يمكن أن تنشأ من فضاء مرسوم بعناية من القواعد والأولويات والحدود. تلك الطريقة في التفكير هي ما يسند اليوم نهجي في التصميم انطلاقًا من القيود في زمن الذكاء الاصطناعي — أي تصميم الشروط التي يبقى النظام التوليدي حرًّا في التصرف داخلها.
الملخص
HydLa لغة نمذجة للأنظمة الهجينة، أي الأنظمة التي يتفاعل فيها التغيّر المتصل مع الأحداث المنفصلة. تصميمها القائم على القيود يتيح وصف هذه الأنظمة بإيجاز ومحاكاتها بدقة عالية. والثمن أن النموذج الكبير قد يترك المحاكي يفحص عددًا هائلًا من القواعد الشرطية، حتى بعد أن يصبح بعضها بلا صلة.
اقترح هذا البحث تقليص تلك القيود المحروسة أثناء التشغيل. فبالتعرّف على السلوك الرتيب — قيمة تواصل التحرك في اتجاه واحد — يستطيع المحاكي أن يستنتج أن حرّاسًا معيّنين لن يتحققوا في المستقبل أبدًا، فيتوقف عن فحصهم بأمان. وكان النهج فعّالًا بوجه خاص في نموذج يحتوي على كثير من الكائنات المحروسة بالطريقة نفسها، حيث هبط زمن التشغيل المقيس إلى نحو نصف الأصل.
1. مقدمة
يجمع النظام الهجين سلوكًا متصلًا مع أحداث منفصلة. الكرة المرتدة مثال بسيط: يتغير موضعها وسرعتها تغيّرًا متصلًا وهي في الهواء، لكن لحظة ارتطامها بسطح تُنشئ حدثًا منفصلًا يغيّر اتجاهها. ومنظّمات الحرارة والمركبات والروبوتات تحتوي كلها على صور أخطر من هذا الخليط نفسه.
تتيح HydLa للنمذج أن يصف هذه الأنظمة بقيود رياضية ومنطقية، بدلًا من كتابة تسلسل إجرائي واحد. ومحاكيها HyLaGI قادر على إجراء حسابات رمزية بلا خطأ تقريب، وعلى التعامل مع وسائط غير محدَّدة القيمة. غير أن هذا النهج المعبّر يخلق مشكلة في الحجم: عندما يحتوي النموذج على قواعد كثيرة لا تنشط إلا في ظروف معيّنة، يجد المحاكي نفسه يسأل مرارًا عن كل شرط: هل هو الشرط الذي سيتحقق تاليًا؟
2. القيود المحروسة في المحاكاة
القيد المحروس قاعدة لا تنشط إلا إذا تحقق شرطها الحارس. في النموذج المرجعي أعلاه، لكل مقطع من السطح قاعدته الخاصة: إذا بلغت الكرة الارتفاع صفرًا وكان موضعها الأفقي داخل ذلك المقطع، طُبِّقت قاعدة الارتداد. ومن ثم فإن تقسيم السطح إلى قطع أكثر يمنح المحاكي حرّاسًا أكثر ليفحصهم.
غيّرت التجربة عدد المقاطع من 10 إلى 200. وصار المحاكي الأصلي أبطأ بما يتناسب تقريبًا مع مربّع ذلك العدد. وللأمر دلالة تتجاوز المثال المصغّر: فالنموذج الأكبر قد يمثّل كثيرًا من الأجسام الفيزيائية أو مناطق التلامس أو الأحداث الممكنة، بهذه الصورة المحروسة بعينها.
3. موضع عنق الزجاجة
أظهر قياس الأداء أن التباطؤ لم يكن موزّعًا بالتساوي على أجزاء المحاكي. فمع 100 مقطع من السطح، استُهلك 96% من زمن التشغيل المقيس داخل FindMinTime، وهي العملية التي تبحث عن أقرب حدث تالٍ ممكن. كانت تعيد تقييم حرّاس كل قيد مرشّح مرةً بعد مرة.
جعلت تلك النتيجة هدف التحسين محدَّدًا: تقليل عدد الحرّاس الذين يتعين على FindMinTime النظر فيهم، مع الحفاظ على السلوك المحاكى كما هو تمامًا.
4. تقليص القيود المحروسة
تصوّر كرة ترتد نازلةً على سُلَّم. متى تجاوزت الكرة درجةً وواصلت تقدّمها، لم يعد بإمكان تلك الدرجة أن تؤثر فيها. من ينظر إلى الرسم يتجاهل فورًا الدرجات التي خلف الكرة؛ أما الخوارزمية الأصلية فقد ظلت تفحصها واحدةً واحدة.
الجزء الصعب هو إثبات أن الحارس المُستبعَد لن يُحتاج إليه لاحقًا. فإسقاطه لمجرد أنه كاذب الآن قد يُنتج نتيجة خاطئة بصمت إن صار صادقًا مرة أخرى. لذلك يستند المقترح إلى الرتابة: هل نضمن أن متغيّرًا ما سيواصل التزايد، أو سيواصل التناقص، على امتداد فترة زمنية؟
4.1 نهج الرتابة المنتظمة
ينطبق النهج الأول عندما يتحرك المتغيّر في اتجاه واحد طوال المحاكاة. في نموذج السطح المقسوم، يتزايد الموضع الأفقي للكرة دائمًا. ومتى تجاوزت مقطعًا، لم يعد ممكنًا أن يتحقق شرط ذلك المقطع مرة أخرى. وتقنيات فحص النماذج قادرة على إثبات هذه الخاصية قبل المحاكاة، فتُزال الحرّاس التي فقدت جدواها بأمان مع تقدّم التشغيل.
4.2 نهج الرتابة المتبادلة
كثير من الأنظمة الواقعية لا يتحرك في اتجاه واحد إلى الأبد. فقد يتزايد المتغيّر، ثم ينعطف، ثم يتناقص. لذلك رسمت الورقة نهجًا ثانيًا: نبدأ باتجاه مفترض، ونراقب هذا الافتراض بتأكيدات، ونعيد تشغيل منطق التقليص من النقطة التي يتغير فيها الاتجاه. والحرّاس التي أُزيلت من أجل فترة رتيبة واحدة تُستعاد عند بداية الفترة التالية.
5. النتائج التجريبية
نفّذتُ نهج الرتابة المنتظمة وقيّمته على نموذج السطح المقسوم. ظل زمن الخوارزمية الأصلية والخوارزمية المقترحة يطول بزيادة عدد المقاطع، لكن النسخة المقترحة أدّت عملًا أقل باستمرار. وبمقارنة المنحنيين المطابقين، هبط المعامل الأعلى من 1.1463 إلى 0.6083؛ أي أن زمن المحاكاة الكلي في هذا النموذج المرجعي انخفض إلى النصف تقريبًا.
ليست النتيجة ادّعاءً بأن كل نموذج في HydLa سيصبح أسرع بمرتين. إنها تُظهر أين تنفع الطريقة: في النماذج التي تحتوي على كثير من الكائنات المحروسة واتجاه تغيّر قابل للإثبات، حيث يصبح الحرّاس بلا صلة نهائيًا في أثناء التشغيل.
6. الخاتمة والعمل المستقبلي
أظهر البحث أن المعرفة بالنموذج — لا مجرد حساب أسرع في المستوى المنخفض — قادرة على جعل المحاكاة أكثر كفاءة. فباستخدام الرتابة للتعرّف على الاحتمالات التي صارت مستحيلة، يستطيع HyLaGI أن يقلّص مجموعة قيوده النشطة دون أن يغيّر النتيجة.
غطّت التجربة المنفَّذة الرتابة المنتظمة. وتركت الورقة اتجاهين لعمل لاحق: تقييم الطريقة القائمة على التأكيدات في حالة السلوك المتبادل، واستخدام ثوابت أخرى غير الرتابة للتعرّف على مزيد من القيود التي يمكن إزالتها بأمان.
Takafumi Horiuchi and Kazunori Ueda. “Dynamic Reduction of Guarded Constraints for the Hybrid Systems Modeling Language HydLa.” The 33rd Annual Conference of the Japanese Society for Artificial Intelligence, 2019. DOI: 10.11517/pjsai.JSAI2019.0_1E3OS3b02.