程序运行结果截图:
3、
domains s=symbol predicates
p(s)p1(s)p2(s)p3(s)p4(s)p5(s,s)p11(s)p12(s)p31(s) goal
p(X),write(“rhe x is ”,X). clauses
p(a1):-p1(b),p2(c).
p(a2):-p1(b),p3(d),p4(e). p(a3):-p1(b),p5(f,g). p1(b):-p11(b1),p12(b2). p3(d):-p31(d1). p2(c1). p4(el). p5(f,g). p11(b1). p12(b2). P31(d11).
程序运行结果截图:
4、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(\father(b,Y),write(\sister(c,Z),write(\aunt(d,T),write(\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,Y),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). 程序运行结果截图:
五、最优解树、代价、结点与或
1、如图3-16所示的与或树, 其中包括两棵解树, 一棵解树由Qo,A,t1和t2组成;另一棵解树由Qo,B,D,G,t4和t5组成。 在此与或树中,t1,t2,t3,t4,t5为终止节点;E,F是非终止的端节点, 其代价均为∞;边上的数字是该边的代价。 由右边的解树可得:
按和代价: g(A)=11,g(Qo)=13 按最大代价:g(A)=6, g(Qo)=8 由左边的解树可得:
按和代价: g(G)=3, g(D)=4, g(B)=6, g(Qo)=8
按最大代价: g(G)=2, g(D)=3, g(B)=5, g(Qo)=7
Q02B2D1G2t51t4Ft3E321C1t2t152A6
2、设有如图3-24所示的一棵与或树,请指出解树;并分别按和代价及最大代价求解树代价;然后,指出最优解树。
一棵解树由S0, A, D, t1, t2, t3组成;另一棵解树由S0, B, E, t4, t5组成; 左边解树: 按和代价:g(D)=4, g(A)=7, g(S0)=12 按最大代价:g(D)=2, g(A)=5, g(S0)=10
右边解树: 按和代价:g(E)=2, g(B)=11, g(S0)=18 按最大代价:g(E)=2, g(B)=7, g(S0)=14
按和代价计算,左边的解树为最优解树,按最大代价计算,仍是左边的解树为最优解树。因此,左边的解树为最优解树。
S05A6C1t12t23D1t3t42t547B5E3F
六、基于谓词逻辑的问答
1、已知:(1)如果x是y的父亲,y又是z的父亲,则x是z的祖父。 (2)老李是大李的父亲。 (3)大李是小李父亲。
问:上述人员谁和谁是祖孙关系? 解 首先定义如下谓词:
G(x,y)表示x是y的祖父。 F(x,y)表示x与y是父亲。 已知条件可以表示成如下谓词公式:
F1: ?x ?y?z(F(x,y) ? F(y,z) ?G(x,z))
F2: F(Lao,Da) F3: F(Da,Xiao) 并求其子句集如下: (1) ? F(x,y) ? ? F(y,z) ? G(x,z) (2) F(Lao,Da) (3)F(Da,Xiao) 设求证的公式为:
G: ?x ?yG(x,y) (既存在x和y,x是y的祖父)
把其否定化为子句形式再析取一个辅助谓词GA(u,v) (4) ? G(u,v) ? GA(u,v)
把其否定化为子句形式再析取一个辅助谓词GA(u,v) (1) ? F(x,y) ? ? F(y,z) ? G(x,z) (2) F(Lao,Da) (3) F(Da,Xiao)
(4) ? G(u,v) ? GA(u,v) 对上式进行归结:
(5) ? F(Da,z)? G (Lao,z) [(1),(2),{Lao/x,Da/y}] (6) G(Lao,Xiao) [(3),(5),{Xiao/z}]