第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

序言:一個人是他自己的兄弟姐妹嗎?

序言:一個人是他自己的兄弟姐妹嗎?

我在理解為什么我的序言中的代碼為什么會根據(jù)我放置規(guī)則的順序執(zhí)行某些操作時遇到麻煩。這是我的數(shù)據(jù)庫:parent(tom, bob).parent(tom, liz).parent(mary, bob).parent(mary, liz).male(tom).male(bob).female(mary).female(liz).以下是規(guī)則:%difference(X, Y) ==> Predicate to check if two people X and Y are not the same person.difference(X, Y) :- \==(X, Y).father(X, Y) :- male(X), parent(X, Y), difference(X, Y).mother(X, Y) :- female(X), parent(X, Y), difference(X, Y).sibling(X, Y) :-    difference(X, Y),    mother(M, X), mother(M, Y),    father(F, X), father(F, Y).問題是當我這樣做時?- sibling(bob, X).我懂了X = bob ;X = liz ;false.但是當我更改順序時(我在最后部分放了差(X,Y))sibling(X, Y) :-    mother(M, X), mother(M, Y),    father(F, X), father(F, Y),    difference(X, Y).我打電話?- sibling(bob, X).我懂了X = liz;false.這就是我想要的。到目前為止,我只看到規(guī)則的順序在進行遞歸時很重要。所以我不明白鮑勃仍然只是他自己的兄弟姐妹,因為我把差異檢查放在首位。謝謝你的幫助!
查看完整描述

3 回答

?
至尊寶的傳說

TA貢獻1789條經(jīng)驗 獲得超10個贊

這是因為統(tǒng)一的工作方式。如果先放差異,則X和Y的值尚未統(tǒng)一為任何值??紤]一下跟蹤:


 goal list: [sibling(bob, Z)]

 goal: sibling(bob, Z).

 X-> bob, Y -> Z

 goal list: [difference(bob, Y), mother(M, bob), mother(M, Y), father(F, bob), father(F, Y).]

 goal: difference(bob, Y) --SUCCESS

 goal list: [mother(M, bob), mother(M, Y), father(F, bob), father(F, Y).]

 goal: mother(M, bob)

 ...

當您將差異調(diào)用放在最后時,X和Y都已統(tǒng)一,并且如果它們的值相同,則差異將失敗。然后將發(fā)生回溯。


使用序言環(huán)境的跟蹤功能可以查看執(zhí)行過程中逐步發(fā)生的情況。


查看完整回答
反對 回復 2019-11-04
?
慕桂英4014372

TA貢獻1871條經(jīng)驗 獲得超13個贊

Wrt:“如果將其放在規(guī)則的“末尾”,則很有可能最終會出現(xiàn)在“數(shù)據(jù)記錄”中,并且無論如何都可以直接使用(\ ==)/ 2。這是一個誤解:當單獨使用(\ ==)/ 2時,不能保證結(jié)果將是正確的。但是iso_dif/2只要沒有錯誤,它們就是正確的。

查看完整回答
反對 回復 2019-11-04
  • 3 回答
  • 0 關(guān)注
  • 494 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號