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