Prolog 序言:X是Y的祖父
假设以下事实已输入Prolog数据库:Prolog 序言:X是Y的祖父,prolog,logic-programming,Prolog,Logic Programming,假设以下事实已输入Prolog数据库: father(X, Y) // X is the father of Y mother(X, Y) // X is the mother of Y male(X) // X is a male female(X) // X is a female parent(X, Y) // X is a parent of Y diff(X, Y) // X and Y are different
father(X, Y) // X is the father of Y
mother(X, Y) // X is the mother of Y
male(X) // X is a male
female(X) // X is a female
parent(X, Y) // X is a parent of Y
diff(X, Y) // X and Y are different
(1) 现在为(X,Y)的祖父添加序言规则,其中“X是Y的祖父”
(2) 为同级(X,Y)添加另一条规则,其中“X是Y的同级”
我的想法:
问题1:
我对如何找到父母的父母感到困惑,到目前为止我所拥有的只是
爷爷(X,Y):-男(X)
问题2:
兄弟姐妹(X,Y):-父母(p,X),父母(p,Y),差异(X,Y)已经很久了。。。第一个是这样的:
grandpa_of(X, Y) :- father(X, P), father(P, Y).
太久了…:-P
已经很久了。。。第一个是这样的:
grandpa_of(X, Y) :- father(X, P), father(P, Y).
太久了…:-P
我认为杰森的意思是
爷爷(X,Y):-父亲(X,P),父母(P,Y)。
我认为杰森的意思是
爷爷(X,Y):-父亲(X,P),父母(P,Y)。
如果X是Y的爷爷,那对Y的父亲/母亲意味着什么?@Paul:下课了,这是过去的期末考试。所以我确实需要学习,但这不是为了马克。@Anon:他们的父亲是Y的祖父?对。所以如果X是Y的祖父,那么一定有人是Y的父母,并且X是他们的父亲。我们该怎么写呢?爷爷(X,Y):-爸爸(X,P),爸爸(P,Y)。这将首先找到X的孩子,然后在下一行中使用这些孩子,看一个人是否是Y的父亲。如果X是Y的祖父,这说明Y的父亲/母亲是什么?@Paul:下课了,这是从过去的期末考试中得出的。所以我确实需要学习,但这不是为了马克。@Anon:他们的父亲是Y的祖父?对。所以如果X是Y的祖父,那么一定有人是Y的父母,并且X是他们的父亲。我们该怎么写呢?爷爷(X,Y):-爸爸(X,P),爸爸(P,Y)。这将首先找到X的子代,然后在下一行中使用这些子代,以查看其中一个是否是Y的父亲。上面有一个拼写错误。应该有:-
,而不是:=
。上面有一个打字错误。应该有:-
,而不是:=
。