PDDL 用の ASP 計画ツール
plasp
、解答セット プログラミングの計画を立てるためのツール コレクションです。 plasp
3 は、入力言語 PDDL 3.1 (持続アクション、数値的流暢さ、設定などの高度な機能を除く) および Fast Downward で使用される SAS (SAS 3 の完全サポート) をサポートします。
plasp
が提供する最も注目すべきツールは、PDDL 記述を ASP ファクトに変換するplasp translate
です。
PDDL インスタンスは、次のように ASP ファクトに変換されます。
plasp 翻訳ドメイン.pddl 問題.pddl
あるいは、PDDL インスタンスを最初に、Fast Downward の出力形式である SAS に変換することもできます。
./fast-downward.py --translate --build=release64 ドメイン.pddl 問題.pddl
これにより、 output.sas
というファイルが作成され、これはplasp
によっても翻訳されるようになります。
plasp 翻訳出力.sas
翻訳されたインスタンスは、最終的にclingo
とメタ エンコーディング (たとえば、 sequential-horizon.lp
を使用して解決できます。
plasp 翻訳ドメイン.pddl 問題.pddl > インスタンス.lp clingo エンコーディング/sequential-horizon.lp -c Horizon=10 インスタンス.lp
plasp translate
SAS および PDDL の入力問題に対して統一された出力形式を提供します。詳細については、出力形式を参照してください。
plasp translate
の出力用に独自のメタ エンコーディングを記述したい場合は、この簡単なエンコーディング例から始めてください。
plasp <コマンド> [<オプション>...] [<入力ファイル>...]
PDDL を ASP ファクトに変換する以外に、 plasp
次のコマンドを提供します。
指示 | 説明 |
---|---|
translate | PDDL および SAS を ASP ファクトに変換する |
normalize | PDDL を plasp のカスタム PDDL 形式に正規化します |
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 3.1 機能のリストについては、「PDDL 機能のサポート」を参照してください。
パトリック・リューネ
マルティン・ゲブサー (エンコーディング)
トルステン・シャウブ (エンコーディング)
ルネ・クネーベル
ムラット・クネヒト