2012-09-04 48 views
0

我有一個問題,如下Lisp的不輸出任何結果

(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))) 
) 

我試圖用一個策劃運行此,但目前還沒有結果。正確的行動A將執行的前提條件(X?X)met.I不知道什麼是錯的。

另一個疑問是,當我在對象問題中聲明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) 
) 
+0

這Lisp是這樣,什麼庫,如果有的話, 你正在用嗎?另外:什麼是規劃師? – sepp2k

+0

paremeters?錯字? –

+0

我昨天解決了。應該把它當作原子而不是將它當作對象來對待 – edelweiss

回答

0

我應該把它放在一個更簡單的方法

(define (domain GP-domain) 
    (:action A 
    :precond X 
    :effect Y) 

(define (problem GP-problem) 
    (:domain GP-domain) 
    (:init X Z) 
    (:goal Y) 
)