Herramientas de planificación ASP para PDDL
plasp
es una colección de herramientas para la planificación en la programación de conjuntos de respuestas . plasp
3 admite los lenguajes de entrada PDDL 3.1 (excepto funciones avanzadas como acciones durativas, fluidez numérica y preferencias) y SAS (soporte total de SAS 3), que utiliza Fast Downward.
La herramienta más notable proporcionada por plasp
es plasp translate
, que traduce descripciones PDDL a hechos ASP.
Las instancias PDDL se traducen a hechos ASP de la siguiente manera:
plasp traducir dominio.pddl problema.pddl
Alternativamente, las instancias PDDL pueden traducirse primero a SAS, el formato de salida de Fast Downward.
./fast-downward.py --translate --build=release64 dominio.pddl problema.pddl
Esto crea un archivo llamado output.sas
, que ahora también puede traducirse mediante plasp
.
plasp traducir salida.sas
La instancia traducida finalmente se puede resolver con clingo
y una metacodificación, por ejemplo, sequential-horizon.lp
:
plasp traducir dominio.pddl problema.pddl > instancia.lp codificaciones clingo/sequential-horizon.lp -c horizonte=10 instancia.lp
plasp translate
proporciona un formato de salida uniforme para problemas de entrada SAS y PDDL. Consulte el formato de salida para obtener más detalles.
Si desea escribir su propia metacodificación para la salida de plasp translate
, este sencillo ejemplo de codificación le ayudará a comenzar.
plasp <comando> [<opción>...] [<archivo de entrada>...]
Además de traducir datos de PDDL a ASP, plasp
proporciona los siguientes comandos:
dominio | descripción |
---|---|
translate | Traducir datos de PDDL y SAS a ASP |
normalize | Normalizar PDDL al formato PDDL personalizado de Plasp |
check-syntax | Verifique la sintaxis de las especificaciones PDDL |
beautify | Formatee limpiamente las especificaciones PDDL |
help | Mostrar mensaje de ayuda |
version | Mostrar información de la versión |
plasp help
muestra una lista de todos los comandos proporcionados por plasp
. Para enumerar todas las opciones disponibles de un comando, llame plasp <command> --help
o plasp help <command>
.
plasp
detecta automáticamente el idioma (PDDL o SAS) de las descripciones de entrada.
plasp
está construido con CMake y un compilador de C++. Ver edificio para más detalles.
plasp
admite un subconjunto de PDDL 3.1. Consulte Compatibilidad con funciones PDDL para obtener una lista de funciones PDDL 3.1 compatibles y no compatibles.
Patricio Lühne
Martin Gebser (codificaciones)
Torsten Schaub (codificaciones)
René Knaebel
Murat Knecht