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 機能のサポート」を参照してください。
パトリック・リューネ
マルティン・ゲブサー (エンコーディング)
トルステン・シャウブ (エンコーディング)
ルネ・クネーベル
ムラット・クネヒト