1
我有一套規則;Prolog - 分句雙向問題
family(Mother,Father,Children).
其中兒童是一個列表(例如[ag, bg]
)。
parent(X,Y) :-
family(X,_,_) -> mother(X,Y); father(X,Y).
有了上面的條款,如果我把父母放進去,它正確地給了我孩子。但是,如果我把孩子放在我不能得到父母。
我也試圖爲Child做一個子句;
child(X,Y) :-
mother(A,X),
father(B,X),
Y=A,B.
母親和父親工作正常,但我需要兩個變量去Y
。
有什麼建議嗎?
試試這個父子句:'父(X,Y): - 家庭(X,_,Y),(母親(X,Y);父親( X,Y))。' –
@bob_saginowski我試過但是即使它發現父母都是正確的,它會返回false並且不會將它們打印出來,因爲Y = jb1,Y = rb1。 – JoeBoggs
子句可以被小數化:'child(X,Y): - mother(Y,X);父親(Y,X).' –