أدوات تخطيط 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 المدعومة وغير المدعومة.
باتريك لونه
مارتن جيبسر (الترميزات)
تورستن شواب (الترميزات)
رينيه نايبل
مراد كنشت