人工智能——求解问题的强方法(一)

智能主体性能表现出的问题求解能力主要是由知识库决定的,其次是采用的推理方法,这是知识工程的第一原则。——EdwardFeigenbaum

求解问题的知识密集型方法:强方法(strong method)

专家系统的推理过程是对观察开放的,可以提供问题求解状态的信息,也可以对程序的决策或选择做出解释。

专家系统程序设计要求:容易的被原型化、检验、修改。

专家系统的另一特征:使用启发式的问题求解方法

下图是专家系统的典型体系结构,利用这样专家系统体系结构能大大加快专家系统的开发过程

推理引擎执行“识别-动作”的控制循环

将控制引擎和知识库分开维护有以下几个优点:

  • ss
  • ss
  • ss
  • ss

解释子系统用来向用户对推理进行解释,解释包括系统如何做出结论的。如果要让人类专家接收计算机的推荐,解释是非常重要的,很少有专家在没有理解某个提议时轻易的接受它。

知识库编辑器可以帮助程序员定位和修改程序的执行错误,因此经常要访问解释子系统所提供的信息。

什么样的问题适合专家系统进行求解

  1. 需求程度决定了开发专家系统值得投入的成本和精力
  2. 人类专家无法出现在所有需要他们的地方
  3. 利用符号推理可以求解的问题
  4. 结构性好且不需要常识推理的领域
  5. 使用传统计算技术不可以解决的问题
  6. 有乐于合作又善于表达的专家
  7. 问题的大小和范围很合适

建立专家系统需要几种人:

知识工程师(也是AI语言,表示专家):工作内容为项目选择合适的软硬件工具、帮助领域专家表示必要的知识,并准确搞笑的实现知识库

领域专家:工作内容是提供问题域中的知识,领域专家负责向知识工程师表达知识(问题求解技术,如各种捷径、处理不精准的数据、评估部分解的好坏及人们认为专家应该具有的其他技能)

最终用户:决定最终设计约束


基于规则的专家系统把求解问题的知识表示为“如果……那么……”形式的规则。其中,如果对应条件,那么对应动作。

目标驱动的专家系统中(深度优先),系统工作流程:

起始时便把目标表达式放入内存——》系统把规则的结论目标匹配,找到匹配的规则后便把它的前提放入工作内存-——》然后在下一次迭代中把这些结论变成新的目标和规则的结论匹配——》直到工作内存中的所有子目标都已知为真。

通常,基于规则的专家系统要回答两类问题,why和how。总而言之,基于知识系统通过显示正准备激发的当前规则来回答why查询;通过列出产生目标或子目标的推理过程来回答how查询。

数据驱动推理(广度优先),推理流程:

按照规则库 中的顺序把工作内存中的内容和规则库中每个规则的条件进行匹配。如果工作内存中的数据支持激发某个规则,那么便把其结果放入工作内存,然后吧控制移向下一个规则。一旦已经考虑过所有规则,搜索便再次从规则集合的头开始。

对上面广度优先搜索算法进行优化——机会搜索。流程:

每当激发规则并推断出新的信息时,便把控制转移到以新信息为前提的那些规则。这使新的推断信息成为寻找下一个要激发规则的控制动力。

发布了8 篇原创文章 · 获赞 7 · 访问量 1229

猜你喜欢

转载自blog.csdn.net/CodeSavior/article/details/98037417