أدوات تخطيط ASP لـ PDDL
plasp عبارة عن مجموعة أدوات للتخطيط في برمجة مجموعة الإجابات . يدعم plasp 3 لغات الإدخال PDDL 3.1 (باستثناء الميزات المتقدمة مثل الإجراءات الدورية والطلاقة العددية والتفضيلات) وSAS (الدعم الكامل لـ SAS 3)، والذي يستخدمه Fast Downward.
الأداة الأكثر شهرة التي توفرها شركة plasp هي plasp translate ، والتي تترجم أوصاف PDDL إلى حقائق ASP.
تتم ترجمة مثيلات PDDL إلى حقائق ASP كما يلي:
plasp ترجمة domain.pddl المشكلة.pddl
وبدلاً من ذلك، يمكن أولاً ترجمة مثيلات PDDL إلى SAS، وهو تنسيق الإخراج Fast Downward.
./fast-downward.py --translate --build=release64 domain.pddl المشكلة.pddl
يؤدي هذا إلى إنشاء ملف يسمى output.sas ، والذي يمكن ترجمته الآن بواسطة plasp أيضًا.
بلاسب ترجمة الإخراج.ساس
يمكن أخيرًا حل المثال المترجم باستخدام clingo وترميز التعريف، على سبيل المثال، sequential-horizon.lp :
plasp ترجمة domain.pddl المشكلة.pddl > example.lp ترميزات lingo/sequential-horizon.lp -c Horizon=10 example.lp
توفر plasp translate تنسيق إخراج موحدًا لمشاكل إدخال SAS وPDDL. انظر تنسيق الإخراج لمزيد من التفاصيل.
إذا كنت تريد كتابة التشفير التعريفي الخاص بك لمخرجات plasp translate ، فإن هذا المثال البسيط للتشفير يساعدك على البدء.
بلاسب <command> [<خيار>...] [<ملف الإدخال>...]
بصرف النظر عن ترجمة PDDL إلى حقائق ASP، يوفر plasp الأوامر التالية:
| يأمر | وصف |
|---|---|
translate | ترجمة PDDL وSAS إلى حقائق ASP |
normalize | قم بتطبيع PDDL إلى تنسيق PDDL المخصص لـ plasp |
check-syntax | تحقق من بناء جملة مواصفات PDDL |
beautify | تنسيق مواصفات PDDL بشكل نظيف |
help | عرض رسالة المساعدة |
version | عرض معلومات الإصدار |
تعرض plasp help قائمة بجميع الأوامر التي يوفرها plasp . لسرد جميع الخيارات المتاحة للأمر، اتصل plasp <command> --help أو plasp help <command> .
يكتشف plasp تلقائيًا لغة (PDDL أو SAS) الخاصة بأوصاف الإدخال.
تم إنشاء plasp باستخدام CMake ومترجم C++. انظر المبنى لمزيد من التفاصيل.
يدعم plasp مجموعة فرعية من PDDL 3.1. راجع دعم ميزة PDDL للحصول على قائمة بميزات PDDL 3.1 المدعومة وغير المدعومة.
باتريك لونه
مارتن جيبسر (الترميزات)
تورستن شواب (الترميزات)
رينيه نايبل
مراد كنشت