Outils de planification ASP pour PDDL
plasp est une collection d'outils pour la planification de la programmation d'ensembles de réponses . plasp 3 prend en charge les langages de saisie PDDL 3.1 (à l'exception des fonctionnalités avancées telles que les actions durables, les courants numériques et les préférences) et SAS (prise en charge complète de SAS 3), qui est utilisé par Fast Downward.
L'outil le plus remarquable fourni par plasp est plasp translate , qui traduit les descriptions PDDL en faits ASP.
Les instances PDDL sont traduites en faits ASP comme suit :
plasp traduire domaine.pddl problème.pddl
Alternativement, les instances PDDL peuvent d'abord être traduites en SAS, le format de sortie de Fast Downward.
./fast-downward.py --translate --build=release64 domain.pddl problème.pddl
Cela crée un fichier appelé output.sas , qui peut désormais également être traduit par plasp .
plasp traduire sortie.sas
L'instance traduite peut finalement être résolue avec clingo et un méta-encodage, par exemple, sequential-horizon.lp :
plasp traduire domaine.pddl problème.pddl > instance.lp encodages clingo/sequential-horizon.lp -c horizon=10 instance.lp
plasp translate fournit un format de sortie uniforme pour les problèmes d'entrée SAS et PDDL. Voir le format de sortie pour plus de détails.
Si vous souhaitez écrire votre propre méta-encodage pour la sortie de plasp translate , cet exemple d'encodage simple vous aidera à démarrer.
plasp <commande> [<option>...] [<fichier d'entrée>...]
En plus de traduire les faits PDDL en ASP, plasp fournit les commandes suivantes :
| commande | description |
|---|---|
translate | Traduire les faits PDDL et SAS en ASP |
normalize | Normaliser PDDL au format PDDL personnalisé de Plasp |
check-syntax | Vérifier la syntaxe des spécifications PDDL |
beautify | Formater proprement les spécifications PDDL |
help | Afficher un message d'aide |
version | Afficher les informations sur la version |
plasp help affiche une liste de toutes les commandes fournies par plasp . Pour répertorier toutes les options disponibles d'une commande, appelez plasp <command> --help ou plasp help <command> .
plasp détecte automatiquement la langue (PDDL ou SAS) des descriptions d'entrée.
plasp est construit avec CMake et un compilateur C++. Voir le bâtiment pour plus de détails.
plasp prend en charge un sous-ensemble de PDDL 3.1. Voir Prise en charge des fonctionnalités PDDL pour une liste des fonctionnalités PDDL 3.1 prises en charge et non prises en charge.
Patrick Lühne
Martin Gebser (encodages)
Torsten Schaub (encodages)
René Knaebel
Murat Knecht