大家好,我是 prolog 的新手,我正在尝试完成我的第一个项目。我有一个带有 3 个参数的家谱(family/3)(人(爸爸),人(妈妈),。列出所有孩子) .目前我的知识库中有 3 个家庭。我想要完成的是显示有 3 个以上孩子的母亲的名字。任何帮助都会很棒。这是到目前为止的代码。
family(person(tom,right,date(17,May,1950),works(mathematician)),person(ann,right,date(29,May,1951),unemployed),
[person(pat,right,date(5,May,1983),unemployed),person(max,right,date(15,May,1973),unemployed),[]]).
family(person(nick,wellbard,date(15,September,1954),works(electrician)),person(cathrine,wellbard,date(11,March,1957),unemployed),
[person(john,wellbard,date(15,May,1985),works(musician)),person(mike,wellbard,date(25,May,1989),unemployed),
person(chloe,wellbard,date(13,October,1991),unemployed),[]]).
family(person(john,brock,date(17,January,1951),works(programmer)),person(mary,brock,date(19,March,1952),works(teacher)),
[person(tony,brock,date(20,May,1975),unemployed),person(sasha,brock,date(1,April,1979),unemployed),
person(josh,brock,date(29,April,1982),unemployed),[]]).
我在想这样的事情,family(_,X,_):-[X,Y,Z|]
这样我就可以显示至少有 3 个孩子的母亲的名字。请原谅我在 ProLog 的任何错误,任何帮助或指导都会很棒,谢谢 :)