以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 Semantic Web(语义Web)/描述逻辑/本体 』 (http://bbs.xml.org.cn/list.asp?boardid=2) ---- 关于规则于公理 我的思考 (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=35318) |
-- 作者:lzcsu -- 发布时间:7/7/2006 10:16:00 AM -- 关于规则于公理 我的思考 公理是本体结构的重要部分,公理指的是放之四海皆准的真理,规则不一样,规则只是一个领域适用的准则。 Trigger rule是触发规则,特有的含义指的是对A→B规则,假如一个实例属于A那么它同样属于B,而对于非A的实例而言,规则则不起效,但对于离散数学里面的A→B对非A领域而言A→B同样成立,这是两者的根本区别,独特的性质是trigger的意义所在,是其与生俱来的特性。所以普通意义上的A→B它对应的是非A析取B,而对trigger rule中的A→B而言,其意义是A合取B。所以trigger rule中的A→B并不能推出非B→非A。因为非B→非A等于非A合取非B。 上次看到的一个例子: “unmarried_student(X):-not(married(X)), student(X). student(joe). married(john). 这个程序有一个rule和两个fact, rule可以看成是not(married(X)) and student(X)--->unmarried student(X). 给出一个query ?- unmarried_student(joe). yes 可以看出当给x赋值joe,可以退出unmarried_student(joe)是可以推理出来的, 同样 ?- unmarried_student(john). no 同样,赋值给xjohn也是可以进行推理的, 但当要查询 ?- unmarried_student(X). no 我们希望得到的答案应该是joe, 但是得到的答案是no(即failure),因为推理的假设不充分,因为至少已经有一个unmarried student, 所以这个推理规则不能用了,得到的结果是negation as failure。“ 因为在第二个查询的时候,由于规则不适用于这个fact,所以说明规则在所有的fact内并不适用,所以第三个查询要找出所有的没结婚的学生x,由于不能判断john,得出结果no。在普通命题中的A→B能推出非B→非A是因为它们两者适用正确的范围一样,但都加上了前提条件为非的范围,而trigger rule明确规定了不适用前提条件为非的情况,自然它们就不能等价了。 |
-- 作者:wumingrock -- 发布时间:7/7/2006 10:41:00 AM -- 本体定义里,哪些是公理,哪些是规则呢? 本体中概念之间的关系是算公理还是规则呢?? |
-- 作者:kolapig -- 发布时间:7/7/2006 8:51:00 PM -- 看了一下,不太明白你想说什么, 想说 trigger rule 与 Description logic axiom 的区别? 还是想说negation as failure 和普通negation 的区别? |
-- 作者:kolapig -- 发布时间:7/7/2006 9:04:00 PM -- 第三个为什么是NO, 你这个例子是从哪里看到的? 是PROLOG的一个例子吗? 如果你的not 是nagation as failure的意思(也应该是,根据前两个例子的结果), 那么,第三个例子从 logic programming 的角度讲 结果i不应该是 no. 不是很明白你的解释, 比如 "所以说明规则在所有的fact内并不适用". |
-- 作者:iamwym -- 发布时间:7/8/2006 11:33:00 PM -- axiom和中国教育中的公理不完全一样,axiom在本体中并不是放置四海皆准的道理,无非是某领域内的一种比较被广泛认可的知识。 |
-- 作者:lzcsu -- 发布时间:7/9/2006 3:41:00 PM -- iamwym说的极是 其实我说的就是Trigger rule中A→B等于A合取B 普通意义上的A→B对应的是非A析取B 所以Trigger rule中不能由A→B推出非B→非A |
-- 作者:lzcsu -- 发布时间:7/9/2006 3:48:00 PM -- 至于我所举的例子所表达的意思: 在第二个推理中 规则并不适用,这说明了规则并不在所有的fact中适用 第三个推理?- unmarried_student(X).是要找出所有的unmarried_student,由于在fact john中规则是不适用的,所以对于john是不是unmarried_student无法判断。 所以推理实际上是无法完成的。 不知表达的意思够不够清楚 |
-- 作者:kolapig -- 发布时间:7/13/2006 4:36:00 AM -- 还是不明白你说什么。 但是如果就axiom 和 trigger rule 来讲, DL 中的 axiom 其实是 hierarchy, 比如 Man subsumed Human, 所以如果不是 Man 当然就不是 Human,而Trigger rule 的根本含义 不是 hierarchy,一个例子是 professor --> Doctor, 但是不代表 非Doctor 就 不是 professor, 也就是说这类知识是不可逆的。 对于negation as failure(用not代表)是 用来表达非单调逻辑的一种方式, 它和普通的negation(用NOT代表) 不同, NOT Man(Tom) 表示Tom不是Man, 但是 not Man(Tom)表示 Tom是 Man 不能被证明, 这也就是negation as failure 的意思, 失败即否定(也就是说 证明不了就否定). 但是第三个query就不明白了, 如果是no, 那明显和你第一个query矛盾,具体请网友lzcsu给出更具体的环境. 个人认为第三个query X可以是Joe. |
-- 作者:wolfel -- 发布时间:7/21/2006 5:51:00 PM -- trigger rule没有模型论语义,而是过程性语义,你把它理解为A合取B根本就是错得。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
78.125ms |