以下のような問題があります
(define (problem GP)
(:domain world)
(:objects x1 z1 y1)
(:init (X x1) (Z z1) )
(:goal (Y y1))
)
およびドメインは以下のとおりです
(define (domain GP-domain)
(:action A
:paremeters(?x y1)
:precond((X ?x))
:effect((Y y1)))
)
これをプランナーで実行してみましたが、結果はありません。当然、前提条件 (X ?x) が満たされているため、アクション A が実行されます。何が問題なのかわかりません。
もう 1 つの疑問は、オブジェクトの問題で y1 をオブジェクトとして宣言するとき、上記のようにアクション A で実際に「宣言」(Y y1) することは許されるのでしょうか? これは正しいです?
(解決済み)
もっと簡単に言えばいいのに
(define (domain GP-domain)
(:action A
:precond X
:effect Y)
(define (problem GP-problem)
(:domain GP-domain)
(:init X Z)
(:goal Y)
)