小介绍
第一次写博客,目的是将在公开课中所学的东西做一个梳理,同时加深印象。加油!
目标树
老师首先引入了一个叠方块的程序,即告诉程序需要将哪个方块放到哪个方块上面,程序会通过挪其他方块等一系列操作实现目标,同时该程序还能回答进行某一步移动的原因。
(没学过什么建模语言,就这么凑合看叭)
分解程序:findspace->grasp->move->ungrasp
如图是程序结构,其中:
FINDSPACE:目标方块上找到空间
GRASP:抓住需要移动的方块
MOVE:移动方块
UNGRASP:放下方块
实例:
要求:PUT B1 ON B2
那么流程如下:
于是这形成了一个简单的目标树,它能回答关于WHY和HOW的问题。如果要回答WHY的问题,可以向上一层追溯;如果回答HOW的问题,就往下一层进行。
该问题的复杂之处并非来自行为的复杂性而是来自问题的复杂度,所以需要建立巨大的目标树。
老师通过蚂蚁爬行路径的例子,说明一个问题:行为复杂性等于程序复杂性和环境复杂性中的最大值。即
C(行为)=max(C(程序),C(环境))
往往复杂的行为其实会有简单的程序。
基于规则的专家系统
老师从一目标为中心的变成转向基于规则的专家系统。所有的知识都要以简单规则的形式进行封装。
以动物举例:
前向链基于规则的专家系统:已知事实向后推结论
后向链基于规则的专家系统:已知结论向前推某些特征
讨论这些的意义在于,当会出现较大的目标树时,一样能够进行推理。老师在课堂演绎了程序读《麦克白》之后形成的目标树,我们可以问程序问题,它会做出相应的解答。
课堂的最后,老师举了物品装袋的例子,在例子中,同样会有一些规则,我们根据这些规则也同样能够建立目标树。
启发式解决问题——知识工程
关于知识工程的规则:
知识工程
1.考虑个案;
2.看起来相同但实际操作不同的情况。考虑这一点会得到一些专业词汇;
3.建立一个系统看它何时会出现问题。
当然,还有很多东西需要自己去悟,这里只是帮助回忆课堂而已。