Инструменты планирования ASP для PDDL
plasp
— это набор инструментов для планирования программирования наборов ответов . plasp
3 поддерживает языки ввода PDDL 3.1 (за исключением расширенных функций, таких как длительные действия, числовые значения и настройки) и SAS (полная поддержка SAS 3), который используется Fast Downward.
Самый известный инструмент, предоставляемый plasp
— это plasp translate
, который переводит описания PDDL в факты ASP.
Экземпляры PDDL преобразуются в факты ASP следующим образом:
plasp перевести домен.pddl проблема.pddl
Альтернативно, экземпляры PDDL могут сначала быть преобразованы в SAS, выходной формат Fast Downward.
./fast-downward.py --translate --build=release64 домен.pddl проблема.pddl
При этом создается файл с именем output.sas
, который теперь также может быть переведен с помощью plasp
.
plasp перевести выход.сас
Переведенный экземпляр, наконец, можно решить с помощью clingo
и метакодировки, например, sequential-horizon.lp
:
plasp перевести домен.pddl проблема.pddl > экземпляр.lp кодировки клинго/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 3.1 см. в разделе «Поддержка функций PDDL».
Патрик Люне
Мартин Гебсер (кодировки)
Торстен Шауб (кодировки)
Рене Кнебель
Мурат Кнехт