论文部分内容阅读
专家系统作为人工智能领域中的一门重要学科20多年来一直处于活跃状态,目前专家系统已经在各个领域引起广泛关注,但是由于专家系统开发复杂、模块众多、领域性强使得其的重用性受到很大的影响。而面向对象技术是计算机学科发展的最新导向之一,其最大优势就是封装和继承。如果能使用面向对象的特性使得专家系统得重用性得到改善,是很值得推荐的。 本文通过对专家系统和面向对象技术的深入研究,设计并实现了一个基于Windows平台的面向对象专家系统模型,该模型采用面向对象的技术作为开发工具,内部封装了知识库和推理机等专家系统基本模块。通过对多种传统知识表示的研究,提出了一种改进的面向对象的知识表示方法——知识对象,并将它应用在专家系统模型中。这种以知识对象为基础的专家系统模型,特别适合解决多种对象同时参与、互相影响情况下的复杂问题,特别是对于多状态下的预测问题十分有效,因此是一种预测类的专家系统模型。 本文的基本思想是,首先使用面向对象的知识表示方法作为知识的载体,而后将过程性知识作为规则知识表示的后件,通过规则知识表示方法加强对过程性知识的控制,最后将规则性知识和对象性知识结合起来构成一种全新的复合型知识表示方法。以此种知识表示方法为基础构建的专家系统模型着重解决了传统专家系统领域中,专家系统本身重用困难、异构对象重用困难等难点问题,随着专家系统本身重用程度的提高,构建专家系统的难度也大大地降低,可以很轻松的从一个领域的专家系统迁移到另外的领域。其中知识解释和知识获取部分,使用了更高层次的元知识描述,并进行对象化,结合高级语言中反射和序列化等相关技术,成功地将异构对象无缝的结合到一个统一的系统模型中,是异构对象重用的最直接体现;知识库部分的最显著特点是规则、事实的对象化和序列化,并采用松散方式与元知识对象进行结合,在不用修改普通对象的前提下,附着对象化的规则,使其适应面向对象专家系统推理机的需求,从而具有了智能性;在该专家系统模型中,动态性是推理机最重要的设计思路,该过程中大量使用了反射、逆序列化等技术,保证推理系统可以根据不同的推理对象作调整,是专家系统重用性的最直接体现。