逻辑推理算法:反向链与归结法详解
1. 反向链推理
1.1 反向链算法基础
反向链推理是基于确定子句进行反向推理的逻辑推理算法。它从目标出发,通过规则链寻找支持证明的已知事实。
以 FOL - BC - ASK 算法为例,若知识库中存在 lhs ⇒ goal 形式的规则(其中 lhs 是合取式列表),则 FOL - BC - ASK(KB, goal) 可被证明。像 American(West) 这样的原子事实可看作 lhs 为空列表的子句。对于包含变量的查询,可能有多种证明方式,例如查询 Person(x) 可以通过替换 {x/John} 和 {x/Richard} 来证明。因此, FOL - BC - ASK 被实现为一个生成器,每次返回一个可能的结果。
以下是该算法的代码实现:
function FOL - BC - ASK(KB, query) returns a generator of substitutions
return FOL - BC - OR(KB, query, {})
function FOL - BC - OR(KB, goal, θ) returns a substitution
for each rule in FETCH - R
超级会员免费看
订阅专栏 解锁全文
18

被折叠的 条评论
为什么被折叠?



