第四章 系统上下文的数据结构与智能数据库
系统上下文是组织系统信息的基本部分,是当前求解状态的符号、事实和各种设计结果的集合,是专家系统运行的基础。
4.1系统上下文的组成
1.系统的上下文:专家系统在运行过程中,通过访问上下文(动态数据库)获得数据,决策完成后再将决策结果储存在上下文中。上下文的组织形式、布局、数据的交换过程对专家系统的组织影响很大。如果系统上下文的组织符合数据的内在联系,很容易存取各项数据,不仅能够使系统的数据组织顺理成章,而且便于使用系统的数据库以及快速查询,从而提高系统的使用性能和实用价值。
圆柱齿轮减速器设计专家系统是由LlSP语言编写。LISP 语言是一种表处理语言(listpr cessing language ),数据及程序均由S一表达式构成,其基本结构形式是表(程序和数据没有本质区别)。使用这种表结构,具有:
·全局性能好。通过表之间的连接,系统能够进行统筹管理;
·透明度高。按一定的格式,程序很容易读;
·结构性好;
·以表形式表达的数据非常容易扩充。
利用人工智能语言LISP 在构造程序上的极大便利性,可方便地实现动态的智能数据库(上下文)。
2.上下文的组成:圆柱齿轮减速器设计专家系统的上下文由三部分组成,它们分别是断言表(ASSAERTIONS)、设计参数表(PARA METERAS)和进程表(HlSTORY)。
断言表是构成产生式系统的基本组成部分,它实际上是一堆栈表,即后进入断言表的断言在规则调用中首先被匹配,这种组织方式能够节省时间上的开销,因为本阶段设计任务与当前设计环境有更直接的联系。
设计参数表是用于存放圆柱齿轮减速器专家系统设计中的各种零件参数及其它设计结果果的表的集合,它由一系列的框架组成。其中包括了圈柱齿轮减速羚的所有零件,例如箱体、轴、齿轮、……。用框架形式表达设计参数比用断言形式更加自然。
断言表和设计参数表根据实际需要可以互相转化,通过作者研制的一套转换函数,能够实现从断言表中匹配出所需的断言,并从断言中取得所要求的公式、数表或数值以及所需的操作;同时,参数设计表中的内容也可通过相应的函数实现相反的转变。
进程表是专家系统运行过程的记录,主要用于解释、查询及控制等功能。
4.2智能数据库
1.智能数据库的组织
圆柱齿轮减速器作为一个机器整体,各零件间是密切关联的,其相互间的联系如图4-1所示。
从图4-1中衍生的圆往齿轮减速器设计专家系统的数据间的逻辑组织形式如图4-2。
图4-2为一树状结构,其中树的叶结点均为相应零、部件所定义的框架结构。根据数据组织的层次关系,建立起专家系统的动态数据库的层次关系库。
2.智能数据库的实现
LlSP语言是表处理语言,让我们简单看一下表的内存表示法。
从概念上看,一般计算机内存是由许多编了号码的内存单元组成。一个特定的内存单元的编号称内存地址。如
单元的地址 |
单元的内容 |
2001 |
9100 |
2003 |
9025 |
2003 |
9001 |
内存单元的内容是数字,像地址一样。因此,一个内存单元的内容可以说包含了另一个单元的地址。如果对内存单元的内容作这种解释,那么第一内存单元被说成包含另一个单元的指针。如内存单元2001含有指向9100内存单元的指针。一般在LISP语言中,内存单元大的可以包含两个指针,左半指针和右半指针。其中,右半指针把表串在一起,而左半指针指出表的各元素。可以用下面的抽象方式表示,即方盒一箭头表示。每一个指针用一个箭头表示,表可以用带有左、右指针的许多方盒来表示,用右指针把方盒连在一起,用带斜杠的方盒表示表的结尾,原子则简单地写下名字。
通过以上的描述方法,原子context的值(assertions parameters history)可表达为:

通过层次结构(或称树结构)的遍历,通过LISP语言的再求值(EVAL)函数,便可实现数据库的一系列操作。以图4-2为例,说明数据库的查询过程。
在当前数据库中查找到box-data,通过对原于box-data再求值,便可得到box-data框架,通过对box-data框架运行,可得到箱体的各项数据。
数据库的智能查询:数据库的智能查询是指可对当前数据库进行如下所示的操作:
·所设计的圆柱齿轮减速器的传动级数;
·各传动轴的功能;
·某轴上安装的齿轮号;
·与该齿轮啮合的齿轮号;
·齿轮传递关系;
……
以上操作可以通过断言表及设计参数框架的组合进行实现。
3.智能数据库的存取
(1)树的遍历:这种方法中,数据以前序遍历、即首先搜索树的根结点,然后搜索树的子结点的方法实现。
(2)通用选择法:通用选择法不依赖于选择内容在树结构中的位置和顺序,而是根据所确定的选择条件,直接对原子求值,选择所需内容。


上一页
下一页