我目前正在學習Prolog中的謂詞邏輯。我無法回答關於該主題的問題,並想知道使用Prolog謂詞解決此類問題的步驟。我有一個場景,必須使用兩個不同的謂詞名稱在Prolog謂詞中表示。Prolog謂詞
- 甲乙結婚
- 乙喜歡Ç
- C和d結婚
- d喜歡Ë
- ˚F喜歡乙
- Ë喜歡乙
- E和G爲已婚
- A贊G
我目前正在學習Prolog中的謂詞邏輯。我無法回答關於該主題的問題,並想知道使用Prolog謂詞解決此類問題的步驟。我有一個場景,必須使用兩個不同的謂詞名稱在Prolog謂詞中表示。Prolog謂詞
只要寫下它所說的話。
are_married(a,b).
likes(b,c).
等等。到目前爲止,我們已經使用了兩個謂詞。
在Prolog中,原子用小寫字母開頭的標識符表示。以大寫字母或下劃線開頭的標識符_
表示邏輯變量。
它們都可以放在兩個謂詞中嗎? ((a,b),(c,d),(e,g))。 – DrKhan 2013-05-12 15:56:09
@DKhan不,那不是Prolog的工作方式。你當然可以定義另一個謂詞'married_couples([(a,b),(c,d),(e,f)])''。但是,爲了得到一對已婚夫婦,你不得不花費一些工作。 – 2013-05-12 16:17:48
這是否適用於以下情況,我產生了兩個謂詞:
1. is_married([a,b],[c,d],[e,g])。2. likes([b,c],[d,e],[f,b],[e,b],[a,g])。 –
DrKhan
2013-05-15 12:56:18
http://cs.stackexchange.com/也許是提問這樣一個問題的好地方。 – 2013-05-12 00:10:23
@CiaranG不,對於像Prolog編程這樣的問題,這是正確的地方。 – 2013-05-12 14:45:13