lecture 3:Reasoning:Goal Trees and Rule-Based Expert Systems

喔呼,第三课,基于目标的系统、基于规则的专家系统、建立一个知识工程的三原则

基于目标的程序

从挪动木块的程序说起:
一个挪动木块的程序不仅可以完成挪动木块的功能,还可以回答关于自身行为的问题,怎么才能做到呢?
如下图左侧,我们要将木块B2挪动到B3上,需要经过下图右侧的过程。这时我们问为什么要挪开B1,程序会回答因为我要把B2放在B3上;如果我们问怎么挪开B1,程序会回答通过抓起B2。
为什么程序可以做出上述关于自身行为的WHY和HOW问题的回答?
因为程序建立了目标树,WHY和HOW问题就对应于目标树中相应节点的向上和向下。也就是说,如果解决问题的过程中留下了“踪迹”,那么我们就能回答关于自身行为的问题,就能写出可以回答自身行为问题的程序。
挪动方块

图:挪动方块

上述问题的解决程序其实并不复杂,在实际情况中复杂的原因主要是环境的复杂性。
行为的复杂性=程序复杂性和环境复杂性中的最大值

基于规则的专家系统

1980年代中期,人们热衷于AI的商业应用,当时的很多学术论文认为,人工智能有用的方面都可以用简单的规则表示出来。
ps:叫做“专家”系统是为了营销

以判断一个动物是否是哺乳动物为例,比如规则是这样的:如果有毛就是哺乳动物,if fur then mammal。

前向链系统
我们发现这个动物有毛,所以我们判定它是哺乳动物。
因为是从已知事实向前推出结论所以叫做前向链系统(forward-chain system)。

后向链系统
假设这个动物是哺乳动物,然后我们看它是不是满足有毛的条件。
这样的系统成为后向链系统(backward-chain system)。

无论向前还是向后的系统,都是演绎系统(deduction system),都是建立在严格的证明上的。

知识工程三原则

下述举到的例子为超市装袋。
1.考虑个案
2.考虑看起来相同,但是实际处理方式不同的事物
盒装冻豌豆和罐装鲜切豌豆,我们不喜欢将冷冻豌豆和其他东西放在一起,因为会化冻弄湿其他东西。
3.建立一个系统,看何时会出问题,然后就知道缺什么规则。

事实上这些原则,不仅适用于给基于规则的专家系统添加原则,也适用于自己的学习过程,把自己建立成一个专家系统。

但是这样的系统就足够聪明吗?
Mycin程序在调试时曾经给一个病人开出一桶盘尼西林的药方。这样的系统没有常识,规则和常识之间通常没有关系,比如在超市装袋程序中可以写一条规则,薯片要放在最上面,但是程序不知道薯片放在最上面是因为放在下面会被压碎,而顾客不喜欢吃碎的薯片。
所以说,这样的智能只是一层掩饰,揭开这层掩饰,他们就会失效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值