试编写一个描述亲属关系的PROLOG程序,然后再给出一些事实数据,建立一个小型演绎数据库。

提示:可以以父亲和母亲为基本基本关系(作为基本谓词),再由此描述祖父、祖母、兄弟、姐妹以及其他亲属关系。

 

domains                         /*域说明*/
    name=symbol. 
predicates                      /*谓词说明*/  
    mother(name,name). 
    father(name,name). 
    grandfather(name,name). 
    grandmother(name,name). 
    sister(name,name). 
    aunt(name,name). 
goal                            /*目标语句*/  
    grandmother(a,X),write("X=",X),nl, 
    father(b,Y),write("Y=",Y),nl, 
    sister(d,Z),write("Z=",Z),nl, 
    aunt(d,T),write("T=",T). 
clauses                         /*子句集*/  
    mother(a,c). 
    mother(a,d).    
    mother(c,g). 
    mother(c,f). 
    father(b,c). 
    father(b,d). 
    father(e,g). 
    father(e,f). 
    grandfather(X,Z):-father(X,Z),father(Y,Z). 
    grandmother(X,Z):-mother(X,Y),mother(Y,Z). 
    sister(X,Y):-mother(Z,X),mother(Z,Y). 
    aunt(X,Y):-mother(Z,Y),sister(Z,X).

 

转载于:https://www.cnblogs.com/wkfvawl/p/11567529.html

Logo

一站式 AI 云服务平台

更多推荐