分析有关专家系统的开发工具
专家系统属于非过程式程序。比如一个基于规则的专家系统,其知识库中的任何一条规则,只要前提条件与事实匹配成功,就可被激活,放人记事簿中。规则被送入的顺序不影响其被激活的顺序。因此,程序语句的顺序没有严格的控制流程。
为了提高专家系统的设计效率,缩短系统的开发周期,目前已经出现丁许多专家系统的开发工具,大致包括以下几类:
(l)面向人工智能的通用程序设计语言,如Lisp. Prolog等。由于这些语言可将符号直接写在程序中,能以接近自然语言的方式表达知识和规则,因此冶金窑对建立专家系统特别有效。
(2)通用知识表示语言——针对知识工程的程序设计语言。这些语言并不与具体的体系和范例有紧密联系,也不局限于实现某一特殊的控制策略,因而便于实现对较广泛问题的处理。如产生式语言系统OPS-5以及基于框架理论的知识表示语言RLL、KPL- UNITS等。
(3)专家系统外壳,它提供了推理机制、解释功能及知识获取模块。只需领域专家根据知识模块的提问,将知识传授给系统,这些外壳就可转变成专家系统。较为典型的有EMYCIN、KAS和EXPERT等。
(4)组合式专家系统研制工具,它向用户提供多种知识表示方法和推理机制,用户根据需要,选择合适的知识表示模块和推理机制组合成自己所需要的专家系统。
专家系统的具体开发过程涉及知识表示、知识获取、推理机制等基本问题,下面将分别进行探讨。