เครื่องมือการวางแผน ASP สำหรับ PDDL
plasp
คือชุดเครื่องมือสำหรับการวางแผนในการ เขียนโปรแกรมชุดคำตอบ plasp
3 รองรับภาษาอินพุต PDDL 3.1 (ยกเว้นคุณสมบัติขั้นสูง เช่น การดำเนินการระยะยาว ความคล่องแคล่วด้านตัวเลข และการตั้งค่า) และ SAS (รองรับ SAS 3 เต็มรูปแบบ) ซึ่งใช้โดย Fast Downward
เครื่องมือที่โดดเด่นที่สุดที่ plasp
มอบให้คือ plasp translate
ซึ่งแปลคำอธิบาย PDDL ไปเป็นข้อเท็จจริง ASP
อินสแตนซ์ PDDL ได้รับการแปลเป็นข้อเท็จจริงของ ASP ดังนี้:
plasp แปล domain.pddl problems.pddl
หรืออีกทางหนึ่ง อินสแตนซ์ PDDL อาจถูกแปลเป็น SAS ก่อน ซึ่งเป็นรูปแบบเอาต์พุตแบบ Fast Downward
./fast-downward.py --translate --build=release64 domain.pddl problems.pddl
สิ่งนี้จะสร้างไฟล์ชื่อ output.sas
ซึ่งสามารถแปลโดย plasp
ได้เช่นกัน
pspp แปล output.sas
ในที่สุดอินสแตนซ์ที่แปลสามารถแก้ไขได้ด้วย clingo
และการเข้ารหัสเมตาเช่น sequential-horizon.lp
:
plasp แปล domain.pddl problems.pddl > instance.lp การเข้ารหัส clingo/sequential-horizon.lp -c Horizon=10 instance.lp
plasp translate
ให้รูปแบบเอาต์พุตที่สม่ำเสมอสำหรับปัญหาอินพุต SAS และ PDDL ดูรูปแบบผลลัพธ์สำหรับรายละเอียดเพิ่มเติม
หากคุณต้องการเขียนการเข้ารหัสเมตาของคุณเองสำหรับเอาต์พุตของ plasp translate
การเข้ารหัสตัวอย่างง่ายๆ นี้จะช่วยให้คุณเริ่มต้นได้
plasp <คำสั่ง> [<ตัวเลือก>...] [<ไฟล์อินพุต>...]
นอกเหนือจากการแปล 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 ที่รองรับและไม่รองรับ
แพทริค ลือเนอ
Martin Gebser (เข้ารหัส)
Torsten Schaub (เข้ารหัส)
เรเน่ แนเบล
มูรัต คเนชท์