人智导(二十):知识表示与自动推理(Ⅲ)

本文介绍了知识表示与自动推理中的前向链和后向链推理策略。前向链推理始于知识库中的句子,通过推理规则产生新结论,数据驱动且可能产生无关结论。后向链推理则直接面向问题,目标驱动,是逻辑程序设计的基础。文章还讨论了推理的完备性和归结作为完备推理方法的重要性。
摘要由CSDN通过智能技术生成

人智导(二十):知识表示与自动推理(Ⅲ)

前向链与后向链推理策略

总述

到目前为止

  • 我们已经有了知识表示的语言
  • 我们也已有了合适的推理规则(泛化的假言推理)使用知识
    现在考虑如何构建一个推理程序
  • 泛化的假言推理能通过两个方式得以实现
    • 前向链推理方式(forward chaining)
    • 后向链推理方式(backward chaining)

前向链推理

  • 始于知识库(KB)中的句子,依次通过推理规则产生新的结论
  • 过程被触发通过不断地增加新观察到的事实p到知识库KB
  • 前向链推理可被设计在TELL这个部分中:
    • 发现所用前件包含p的蕴含式(公理)
    • 如果蕴含式其它前件也都与某些事实匹配,增加变量置换后的蕴含式后件(新的结论)到知识库KB中
    • 由于产生了新的句子,继续触发在知识库中的进一步推理

前向链推理算法

The Forward-Chaining Inference Algorithm

Procedure FORWARD-CHAINING(KB, p)
	if there is a sentence in KB that is a renaming of p then return;
	add p to KB;
	for each (1) in KB such that some i,
		(2) succeeds do
		FIND-AND-INFER(3)
	end

(1): ( p 1 ∧ p 2 ∧ ⋯ ∧ p n → q ) (p_1\wedge p_2\wedge\dots \wedge p_n\to q) (p1p2pnq)
(2): U N I F Y ( p i , p ) = θ UNIFY(p_i, p)=\theta UNIFY(pi,p)=θ
(3): ( K B , [ p 1 , … , p i − 1 , p i + 1 , … , p n ] , q , θ ) (KB, [p_1, \dots ,p_{i-1}, p_{i+1}, \dots ,p_n], q, \theta) (KB,[p1,,pi1,pi+1,,pn],q,θ)
变量可以换名表示:例如,likes(x, IceCream)和likes(y, IceCream)可以变量换名使得二者一致
Find and Inference子过程

Procedure FIND-AND-INFER(KB, premises, conclusion, (1))
	if premises = [] then
		FORWARD-CHAIN(KB, SUBST((1), conclusion))
	else for each p' in KB such that
		UNIFY(p', SUBST((1), FIRST(premises))) = (2) do
		FIND-AND-INFER(KB, REST(premises), conclusion, COMPOSE((1), (2)))
	end

(1): θ \theta θ
(2): θ 2 \theta_2 θ2
C O M P O S E ( θ 1 , θ 2 ) COMPOSE(\theta_1, \theta_2) COMPOSE(θ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值