4、逻辑程序中的知识表示与否定语义

逻辑程序中的知识表示与否定语义

1. 稳定语义与良基语义的基础

在逻辑程序中,我们常常会遇到知识表示和推理的问题。之前我们已经了解了默认否定的应用,它在能获取完整正信息的领域非常有用。例如,在表示从布达佩斯到美国的航班连接时,我们可以列出所有现有的航班,然后利用默认否定来推导负信息。

但在某些情况下,默认否定就显得不够用了。比如在一个游戏程序 Pgame 中,有事实 move from to(a, b) move from to(b, a) move from to(b, c) ,当我们查询 ?-wins(b) 时,使用 SLDNF 会得到一个无限振荡的 SLD - 树序列,而 WFS(良基语义)能得出正确结果: WFS(Pgame) = { not wins(c), wins(b), not wins(a)} ,这与我们的直觉完全相符。

接下来介绍稳定语义(STABLE),它是一种比 WFS 更强的语义。稳定语义为任何程序 P 关联一组二值模型,类似于经典谓词逻辑。它除了满足之前介绍的一些原则外,还满足“消除矛盾原则”:如果一个程序 P 的规则体中包含相同的原子 A not A ,那么可以在不改变语义的情况下消除这条规则。

通过 Gelfond - Lifschitz 变换,我们可以定义稳定模型。对于程序 P 和模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值