Alat perencanaan ASP untuk PDDL
plasp
adalah kumpulan alat untuk perencanaan dalam pemrograman kumpulan jawaban . plasp
3 mendukung bahasa input PDDL 3.1 (kecuali untuk fitur lanjutan seperti tindakan duratif, kelancaran numerik, dan preferensi) dan SAS (dukungan penuh SAS 3), yang digunakan oleh Fast Downward.
Alat paling menonjol yang disediakan oleh plasp
adalah plasp translate
, yang menerjemahkan deskripsi PDDL menjadi fakta ASP.
Contoh PDDL diterjemahkan ke fakta ASP sebagai berikut:
plasp terjemahkan domain.pddl masalah.pddl
Alternatifnya, instans PDDL pertama-tama dapat diterjemahkan ke SAS, format keluaran Fast Downward.
./fast-downward.py --translate --build=release64 domain.pddl masalah.pddl
Ini menciptakan sebuah file bernama output.sas
, yang sekarang dapat diterjemahkan oleh plasp
juga.
plasp menerjemahkan keluaran.sas
Contoh yang diterjemahkan akhirnya dapat diselesaikan dengan clingo
dan pengkodean meta, misalnya, sequential-horizon.lp
:
plasp terjemahkan domain.pddl masalah.pddl > instance.lp pengkodean clingo/sequential-horizon.lp -c horizon=10 instance.lp
plasp translate
menyediakan format keluaran yang seragam untuk masalah masukan SAS dan PDDL. Lihat format keluaran untuk lebih jelasnya.
Jika Anda ingin menulis pengkodean meta Anda sendiri untuk keluaran plasp translate
, contoh pengkodean sederhana ini dapat membantu Anda memulai.
plasp <perintah> [<pilihan>...] [<file masukan>...]
Selain menerjemahkan fakta PDDL ke ASP, plasp
menyediakan perintah berikut:
memerintah | keterangan |
---|---|
translate | Terjemahkan fakta PDDL dan SAS ke ASP |
normalize | Normalisasikan PDDL ke format PDDL khusus plasp |
check-syntax | Periksa sintaks spesifikasi PDDL |
beautify | Format spesifikasi PDDL dengan rapi |
help | Tampilkan pesan bantuan |
version | Menampilkan informasi versi |
plasp help
menampilkan daftar semua perintah yang disediakan oleh plasp
. Untuk mencantumkan semua opsi perintah yang tersedia, panggil plasp <command> --help
atau plasp help <command>
.
plasp
secara otomatis mendeteksi bahasa (PDDL atau SAS) dari deskripsi input.
plasp
dibangun dengan CMake dan kompiler C++. Lihat bangunan untuk lebih jelasnya.
plasp
mendukung subset PDDL 3.1. Lihat dukungan fitur PDDL untuk daftar fitur PDDL 3.1 yang didukung dan tidak didukung.
Patrick Luhne
Martin Gebser (pengkodean)
Torsten Schaub (pengkodean)
René Knaebel
Murat Knecht