如何从人陈述中获得特定原子,以及如何获得10

时间:2018-11-03 23:19:00

标签: prolog

通过此程序,我将其设置为使女性只能与身高相同或更高,受过相同教育或至少具有更高文化,不比他们年轻但不比他们大十岁的男人约会他们自己。

我该如何尝试将人体内的原子分成单独的变量?例如,以lisa:

person(lisa, female, 180, 30, phd).

我是否必须再制定一条找到属性的规则? IE:

person1(A,B,C,D,E)

然后从那时开始比较?

而且,从句法上讲,我应该如何正确查找男性是否比女性加10大。我在下面标记了一条注释,显示了我在说什么。

 person (name, gender, height, age, education (hs,college,masters,phd)).


%people
person(lisa, female, 180, 30, phd).
person(jenny, female, 167, 25, hs).
person(bob, male, 180, 40, phd).
person(charles, male, 190, 30, masters).
person(arnold, male, 177, 29, hs).

%heirarchyOfEducation
lowerthan(hs,college).
lowerthan(college,masters).
lowerthan(masters,phd).

%IfEducationlower 
edu_le(A,B):- lowerthan(A,B).
edu_le(A,B):- lowerthan(A,X), edu_le(X,B) ; A = B.

%DatingParameters
asTall(M,F):- M >= F.
edu_E
                                        %Right here aswell
notYounger_notTenPlus(M,F):- M >= F, M < (F+10).

0 个答案:

没有答案