专家系统

能像某一领域专家那样向用户提供解决问题的办法的计算机应用系统。这种系统主要用软件实现。它能对做出决策的过程做出解释并有学习功能,即在专家或用户的教授训练下增长解决问题所需的知识。

专家系统人工智能研究发展的结果。60年代初,出现了运用逻辑学和模拟心理活动的一些通用问题求解程序。它们可以证明定理和进行逻辑推理。但是这些通用方法无法解决大的实际问题,很难把实际问题改造成适合于计算机解决的形式,并且对于解题所需的巨大的搜索空间也难于处理。人们解决实际问题并不全靠推理,而常用“半逻辑”方法,即一些不精确的和不确定的经验规则。专家正是大量运用这些知识作出有用的结论。60年代后期开始研究运用逻辑推理并补充以大量经验判断的方法。70年代陆续研制出运用专门知识解决专门领域难题的程序,这就是专家系统。其中有用于诊断疾病的系统,有用于有机化合物分析或合成的系统,另外还有用于分子遗传学的、地质探矿的、规划计算机系统配置的、向力学结构工程师提供顾问的和计算机辅助教学的系统。

专家系统通常用产生式系统来实现知识的运用。产生式系统由知识库、规则解释器和总体数据库三个主要部分组成。总体数据库包含求解问题的世界范围内的事实和断言。知识库包含所有用“如果:〈前提〉,于是:〈后果〉”形式表达的知识规则。当〈前提〉与数据库中的事实相匹配时,规则触发系统采取〈后果〉中所指示的行动,通常是指改变数据库内容,也就是变化某一些断言,或者通过向用户提问而将回答加到数据库之内。

规则解释器(又称推理系统)的任务是运用控制策略找到可以应用的规则。正向链的策略是寻找出前提可以同数据库中的事实或断言相匹配的那些规则,并运用冲突的消除策略,从这些都可满足的规则中挑选出一个执行,从而改变原来数据库的内容。这样反复地进行寻找,直到数据库的事实与目标一致即找到解答,或者到没有规则可以与之匹配时才停止。逆向链的策略是从选定的目标出发,寻找执行后果可以达到目标的规则;如果这条规则的前提与数据库中的事实相匹配,问题就得到解决;否则把这条规则的前提作为新的子目标,并对新的子目标寻找可以运用的规则,执行逆向序列的前提,直到最后运用的规则的前提可以与数据库中的事实相匹配,或者直到没有规则再可以应用时,系统便以对话形式请求用户回答并输入必需的事实。

专家系统除了使用产生式规则以外,也有使用语义网络、框架等表达知识,虽然它们更复杂一些,但能更好地表示许多事物之间的联系。专家系统与传统的计算机程序不同,它把知识库中的规则解释器分离开来,使知识库可以通过被教授或学习,不断更新和补充新的知识而不必修改程序。

参考文章