التخطيط القائم على التفضيلات

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

تأخذ برامج التخطيط القائمة على التفضيلات هذه التفضيلات في الاعتبار عند وضع خطة لحل مشكلة معينة. ومن أمثلة برامج التخطيط القائمة على التفضيلات برنامج PPLAN [ 1 ] وبرنامج HTNPlan-P [ 2 ] ( التخطيط الهرمي لشبكة المهام القائم على التفضيلات ).

ملخص

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

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

لغة تعريف مجال التخطيط

تدعم لغة تعريف مجال التخطيط ، بدءًا من الإصدار 3.0، [ 4 ] تحديد التفضيلات من خلال preferenceالعبارات. على سبيل المثال، العبارة

(preference (always (clean room1)))

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

بالإضافة إلى ذلك always، يتم دعم بنيات أخرى تعتمد على المنطق الزمني الخطي ، مثل sometime(مرة واحدة على الأقل أثناء الخطة)، sometime-after(يتم التخطيط لها بعد حالة معينة) و at-most-once(يبقى التفضيل قائماً خلال تسلسل واحد على الأكثر من الحالات في الخطة).

جودة الخطة

بالإضافة إلى تحديد ما إذا كانت إحدى التفضيلات مُلبّاة، نحتاج أيضًا إلى حساب جودة الخطة بناءً على عدد التفضيلات المُلبّاة. لهذا الغرض، يتضمن PDDL 3.0 تعبيرًا يُسمى ، is-violated <name>وهو يساوي "عدد التفضيلات المختلفة التي تحمل الاسم المُعطى والتي لم يتم تلبيتها في الخطة". [ 4 ] بالنسبة للخطة، يمكن الآن حساب قيمة باستخدام دالة قياس، والتي يتم تحديدها باستخدام :metric:

(:metric minimize (+ (* 5 (is-violated pref1)) (* 7 (is-violated pref2))))

تُحدد دالة القياس هذه أن القيمة المحسوبة للخطة يجب أن تكون في أدنى حد (أي، خطة بقيمة v1 وخطة بقيمة v2 بحيث تكون v1 < v2 ، وتُفضل الخطة الأولى تفضيلاً قاطعاً). تُحسب قيمة الخطة بواسطة الدالة المُعطاة، والمُعبر عنها بالترميز البولنديpref2 . في هذه الحالة، يُفرض على انتهاك الأفضلية الثانية عقوبة أكبر من انتهاك الأفضلية الأولى pref1.

مشكلة إرضاء القيود

في مجال مشاكل إرضاء القيود ، توجد متغيرات مرنة تتعامل مع القيود غير الدقيقة بطريقة مشابهة للتفضيلات في التخطيط القائم على التفضيلات.

مراجع