我开始在人工智能课程中学习片段,但是我在片段逻辑功能方面遇到了麻烦
每个人的父亲都是他的直系祖先数学解决方案:
F(x,y) - x是y的父亲
DA(x,y) - x是y的直接祖先
对于每个x,y:F(x,y)=> DA(x,y)
剪辑解决方案:
(defrule father_direct_ancestor
(父亲?x?y)
=>
(断言(direct_ancestor?x?y) )
)
2.如果某人是某人直接祖先的祖先,那么他也是该人的祖先数学解决方案:
A(x,y) - x是y的祖先
DA(x,y) - x是y的直接祖先
对于每个x,y,z A(x,y)* DA(y,z)=> A(X,Z)
在这里,我无法弄清楚如何在剪辑中做到这一点。
试过这样:
(defrule A
(D_A?y?z)
(A?x?y)
=>
(断言(A?x?z)) )