




已阅读5页,还剩90页未读, 继续免费阅读
(计算机软件与理论专业论文)交互式过程计算专家系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 在日益发展的数据库领域,如何充分利用数据摩资源,挖掘 数据库潜力,产生更多有价值的信息,已成为用户越来越关注的 问题。针对这需要,笔者开发了“交互式过程计算专家系统”, 该系统适合于决策支持领域,特别是对已有的m 1s 向d s s 过渡提 供了个较为完美的解决方案。 系统给出了交互式过程计算的描述方法和语法规范,运用d f s ( 深度优先搜索) 算法实现了对计算过程的逆拓朴排序,构造了 一个基于知识的智能编译器,同时开发了对生成的交互式计算过 程的执行部件,在系统实现中,笔者作了大量工作,运用了a i ( 人工智能) 、编译原理、数据库等方面的技术。 实际应用表明,系统通用性好,集成度高,扩充性强,达到 了预期的目的y 关键词:a i f 天r 弩鼬、e s ( 专家系统) j 知识库、s o li 络、 构化查黼言忒存储过程、决策算子、宿主语言 a b s t r a c t i n 也ed o m a i no fi n c r e a s i n g l yd e v e l o p i n gd a t a b a s e h o wt ou s ed a t a b a s er e s o u r c e s ,h o wt om m et h e p o t e n t i a lo fd a t a b a s es oa st op r o d u c em o r ev a l u a b l e i n f o r m a t i o n h a sb e c o m eam o r ea n dm o r ei m p o r t a n t p r o b l e mo fu s e r sa t t e n t i o n a i m i n ga tt h i sn e e d ,t h e a t l t h o f d e v e l o p e d e x p e r ts y s t e m f o ri n t e r a c t i v e p r o c e d u r ec o m p u t i n g ,w h i c h i sf i tf o rd e c i s i o n s u p p o r ts y s t e ma r e a ( d s s ) e s p e c i a l l y , o u rs y s t e m p r o v i d e d a p e r f e c t s o l u t i o nf o rt h et r a n s i t i o nf r o m e x i s t i n gm i s t 0d s s i n l i ss y s t e m w eg i v et h ed e s c r i p t i o nm e t h o d sa n d g r a m m a rr e g u l a t i o n s o fi n t e r a c t i v e p r o c e d u r e c o m p u t i n g ;w ei m p l e m e n t t h er e v e r s e d t o p o l o g i c a l s o r t i n g m e t h o do fc o m p u t i n gp r o c e d u r e u s i n gd f s ( d e e p f i r s t s e a r c h ) a l g o r i t h m f u r t h e r m o r e ,w e c o n s t r u c ta k n o w l e d g e - b a s e di n t e l l i g e n tc o m p i l e r , d e v e l o pt h ee x e c u t i n gp a r t sf o rg e n e r a t i n gi n t e r a c t i v e p r o c e d u r ec o m p u t i n g d u r i n gt h ei m p l e m e n t a t i o no fo u rs y s t e m ,w ed o m u c hw o r ki nt h er e s e a r c ha r e ao ff r o n t i e ra p p l i c a t i o n t e c h n o l o g y , i n c l u d i n ga i ( a r t i f i c i a li n t e l l i g e n c e ) , c o m p i l ep r i n c i p l e s ,d a t a b a s es y s t e m ,e t c a p p l i c a t i o ns h o w s ,o u rs y s t e m i s u n i v e r s a l , i n t e g r a t e d ,s c a l a b l e ,w h i c hr e a c h e d o u r a n t i c i p a t i o n 2 厂 1 厶一二l 一 日l j 吾 对于一个信息系统,其信息均存放在d a t a b a s e 中,作为 决策支持者而言,往往需要将这些信息加以统计、分析、计箕, 以产生更有价值的信息,为了实现这一点,数据库的交互式s q l 平台能提供通用的存取或计算机制,对于用户分析而育,如果每 次仅是一个结果,或是一个结果集,使用这种方式能达到要求, 但是,如果数据的分析是一系列前后相关的计算,并且计算过程 中需要和用户进行交互,其结果将作为报表的信息来保存,那么 交互式的s q l 平台就显得不太适用,如果采用存储过程来实现, 其交互性又不够,为此,笔者开发了交互式过程计算专家系统, 目的正是解决这个问题。 “交互式过程计算”就是一个决策分析在计算机上的实现过 程,用户将其分析的模型提供给系统,由系统进行编译、调用、 执行,“交互式过程计算”在系统中也被称为“决策算子”。 为了实现用户表达其计算的目的,系统提供了相应的平台, 该平台以用户易于接受的方式规定语法规范,让用户达到最为自 然的表达,具体做法如:支持汉字变量,对标准语法不加变化的 支持。为了执行用户定义的计算规则,系统提供了相应的解 释程序。整个系统分为工具和主体两大部分,工具提供对“决策 算子的义、维护,相当于茹一、识嘻韵操纵,主体e 日佰主,l 苦 代码编写,可嵌入到原有系统中使系统完成“决策算子”所描 述的功能。 本文共分七章,第一章概述,主要阐述提出“决策算子”的 原因和目的;第二章叙述了决策算子的描述方法及语法规范;第 三章通过具体的现实模型提出了相应的数据结构及知识库的建 立:第四章通过编译基本原理实现“决策算子”的编译器构造, 第五章对“交互式过程计算”的调用执行的方法及技术;第六章 各技术要点的讨论与总结;第七章系统扩充与发展。 另外,附录l 中给出了“决策算子”的一个完整实例,附录 2 中提供了一些关键的代码,附录3 是应用测试的报表样式,磁 盘提供系统的原型演示及详细代码。 4 第一章概述 。 , 在一个m i s 系统中其间的业务数据提供了宝贵的信息资 源,就如同产品的原材料一样,只要进行一定的加工组合,就能 制造出相应的产品,对t 原始数据,通过算法或数学变换,也可 以产生更为直接的、更有价值的信息,从而达到决策支持的目的。 本文旨在将已有的m i s 套上一层外壳,通过可交互的过程 计算,达到决策支持所要求的结果。交互式过程计算,在文中也 称作“决策算子”,这些“决策算子”是可维护,可扩充的,它 基于m i s 的d b ,表示了对m l s 信息进行计算的原则和方法, 是算法及数学变换的表示和表达,从a i 的观点来看,它也可看 作是系统的知识,有了这些知识及对这些知识的处理,原来的 m i s 的系统层次模型将过渡到适合决策支持需要的系统层次模 型,如图1 1 所示。 界面表现 界面表现 知识处理 s o lm i s 向d s s 知识层 过渡 i c l 眄j l d b l u 图1 一l 上图表达了m i s 向d s s 转换的策略,这是很多企业目前所 迫切需要的,我所研究的“交互式过程计算专家系统”针对图右 的知识层和知识处理层。从模型上看,知识层所负责的功能是对 d b 的理解,是该领域的概念,规则及计算的集合,它包括以知 识表示的数据字典;而知识处理层则负责执行这些计算或对问题 进行自动求解,这些动作将由界面表现层来触发。“交互式过程 计算专家系统”中所涉及的只是“交互式过程计算( 决策算子) ” 的定义,维护及执行。“交互式过程计算( 决策算子) ”这个词语, 是笔者自己定义的,它实际上是提取d b 中信息进行加工的过 程,这个加工过程可以前后相关,其间又有很多可变因素,如: 系数、约束条件等,而这些可变因素被形式化,是可控的,如: 股票的指数、费率系数、环境差异量化参数等。“交互式过程计 算( 决策算子) ”中的每一条规则都可能提供给用户,都可能是 6 报表的一行,而对这些在计算和显示上的设置都是系统中必不可 , 少的功能,同时,各条规则之间存在着逻辑关系,这种整体才代 表完整的决策。用户可反复使用同一个决策算子而作不同的交 互,也可以定义或修改“决策算子”而形成新的数据加工方式, 这些方式正是决策分析的形式表达。 “决策算子”是“交互式过程计算专家系统”抽象出来的对 象,它是s q l 、宿主语言函数、演算公式的有机结合,“交互式 过程计算专家系统”提供了对“决策算子”的集中式管理,它可 以嵌入到一个已有的m i s 中,而将m i s 过渡到d s s ,也可以独 立使用,共享d b ,成为一套纯粹的d s s ,以“决策算子”的方 式扩充d b ,能容易将d b 向d w ( 数据仓库) 转换,建立企业 级的支持决策的信息资源。 这里实现的“交互式过程计算专家系统”,其数据库采用 s y b a s e 公司的a d a p t i v es e r v e ra n y w h e r e ,宿主语言采用p o w e r b u i l d e r 。从宏观上看,“交互式过程计算专家系统”处理的对象 “决策算子”是一种结构化的数据加工描述,所以系统的 主要技术要点必然遵循从“表示一编译一执行”这一路线,文中 也大体按照这一思路进行介绍。 7 第二章交互式过程计算的表示 及语法规范 7 2 1 交互式过程计算的现实模型及决策算子的表 示 在用于决策支持的数据计算中,人们总有一个计算的现实模 型,而这个现实模型说明了如伺提取d b 的数据,如何一步一步 把所提取的数据进行计算,而这些计算往往前后相关,同时计算 过程中还有可变系数需要用户的控制,典型的例子是财务上的“损 益表”,预算上的“取费表”,对于这样的现实模型,它每步的 结果都是报表的一部分,不但要实时计算显示,而且要提供交互 控制,一般系统的解决方案是针对一个具体的模型编写一个具体 的程序,这是一种直接简单的方法,效率也很高,但是,这种方 案明显不具备通用性,可维护性差,因为一个系统在发布的时候 其功能集合不可能把用户所有的决策问题都包括进来,为了解决 这方面的问题,人们马上就会想到,既然任何计算分析都可用程 序来实现,如果将编写程序这一块交给用户去作,而系统只需提 供宿主语言的编译器,那么任何问题都将迎刃而解,但事实上是 不可能的,因为决策者不可能承担编程的工作,f 妒不可能充当 程序员的角色。不过,这给了我们一个启示,假设我们编写一个 中间层次来解释用户的行为,而这种行为正是用户工作时填写 如:“损益表”、“取费表”的方法,他虽然没有编写程序,但他 8 的的确确告诉了计算机该g 么f :的计算过程,然后,这个中肛? 层 , 次将这些信息存储处理,或变换为s q t 。宿主语言,或形式化 为系统的语法,这样,一个或一类决策分析的计算过程就能够以 用户可接受的方式很容易地输入到计算机中。所以,我们应该对 “用户决策计算过程”的表示仔细斟酌,既要便于用户的理解, 又必须是形式化的,基于这样两点,再结合数据库、程序技术及 人工智能的思想,我就在“交互式过程计算专家系统”中提出了 “决策算子”的概念,下面,我们来看“决策算子”的表示及语 法规范。 对于各种各样的决策分析,基本上都可归纳为如下过程:从 数据库中提取信息,然后进行公式演算,得出结果,将以前的结 果作为已知继续演算,最终各种所需结果全部获得,其中用户所 关心的信息将被显示或打印,公式也是表明逻辑关系的重要信息 可能需要提供给用户。 下面是一个在建筑工程中计算工程费用的现实模型: 一个工程,由不同工作完成,每个工作都将产生人工费、机 械费、材料费等基础费用,它们之和就是直接费,因为工作是分 阶段,分类别,分层次的,所以这些基础费用离散地存放在d b 中,现在要计算这个工程或工程某部分的各种费用,根据不同工 程的情况和分析费用的用户需要,有一种费用计算的规则如下: 董届刍叠垒基 1 直接费 11 + 1 ,2 1 1 定额直接费 1 1 1 人工费 1 1 t 2 机械费 1 1 3 材料费 1 2 直接工程费 1 2 1 临时设施费 12 2 现场管理费 2 间接费 2 ,l 财务费 2 2 劳保费 3 税金 4 工程造价 l2 1 + 12 2 1 1 1 + 规定的临时设施费率 1 1 1 + 规定的现场管理费率 2 1 + 2 2 1 1 1 + 规定的财务费率 1 1 1 规定的劳保费率 11 1 + 规定的税金费率 1 + 2 + 3 上面的规则用户很容易理解,其概括性也很强,它表明了如 何将数据进行演算,从而得到一张费用表,演算的公式是可变的, 没有公式的条目是初始的已知条件,用户在工作中知道该如何填 写这些已知数据,在具体系统中,它将由s o l 来提取。在公式 中的“规定费率”是由用户控制的可变因素,不仅可输入,而且 可在标准中进行选择,选择的约束条件是分层次的,如选择土建 工程,选择土建的一类,选择取费级别2 类l 级等,其它系数可 在这样的全局条件下进行智能的搜索确定。 这个实际例子对于数据的决策分析计算具有一般性,任何 个决策部门都可以这种方式来获得需要的结果,笔者研究发现, 1 0 这样的需要包含如下6 个方西: 1 将m i s 中的数据库信息作为资源,可任意访问; 2 计算过程的某些环节需要交互; 3 无论是交互结果还是计算结果都能保存; 4 计算什么,怎样计算,如何交互事前不确定; 5 交互的实质是确定参数,因为不同韵参数代表同一种计算 的特质; 6 用户不通过编程的方式能参与到定义和修改这种计算过程 中来。 这是一个典型的决策支持的计算需求,这种计算是基于计算 规则的,“交互式工程计算专家系统”提供了这样一个能表示这 些规则,定义这些规则,管理这些规则,并按这些规则进行计算 的系统。 2 2 规则的属性及表示 一条计算规则,表明了得到一个或几个值的方法,是在一个 公式及约束条件下作用的表示,相当予一条程序语句,但又和程 序的语句不同,它是针对计算的,要么提取已有结果,要么将已 有的运算结果计算保存,所以,规则的主要目的是要表达清楚计 算什么、如何计算,因此,可定义规则主要属性为:规则名、公 式、系数名、变量名、约束条件、算子。 一“规则名”以用f “理解的词语表达了这一规则的特征, 如“1 直接费”。“利润”等,规则名也相当于规则的说明,它使 得规则更清晰,更易于与用户交流。 二“公式”就是对数据如何计算的表示,可分为三大类, 和d b 打交道的,同一个“决策算子”内部的,和外部用户打交 道的: 1 和d b 打交道的公式采用s q l 语句,它提供对d b 的访 问,是国际公认的标准,通用性强,“交互式过程计算专家 系统”也支持存储过程的调用,使其功能更加强大。对于 公式中的s q l 语句,其w h e r e 子甸可以写入约束条件域 中,然后通过变量的方式来达到支持分层、分块计算。s q l 语法示例:s e l e c t 确x c l ff r o mg c l d c b w h e r e x m i d = l ,它表达了对g c | d e b 数据表中项目m 等于1 的项 目的人工费、机械费、材料费的提取。 2 算子内部的演算公式就是数学公式,最好是完全符合宿 主语言语法的表达式,一般宿主语言的表达式,其对公式 的表达能力都是足够的。公式的例子如:人工费1 1 2 7 + 机械费+ 材料费,注意:这个表达式宿主语言的语法,但 宿主语言并不一定支持,因为多数宿主语言并不支持汉字 变量,如果要支持汉字变量,还需要编写一套获取变量的 解释模块: 3和外部用户打交道的公式是外部函数,由它提供或扩展 交互方式和交互界面。因为在应用中,某一个系数可能几 十上百条,而一个“决策算子”可能有几十个参数需要用 户确定,那么为了方便用户确定系数,往往需要提供系数 的全局选择条件,缩小后继的系数选择范围,如:先让用 户确定:这是几类工程,其企业的取费级别是多少等,当 然,如果系统内部已经具有这样的信息,那么由外部函数 负责去自动( 智能) 确定。 三“系数名”表示了这条规则所直接联系的可变参数名称, 多数情况下它的名称将作为表达式的一部分,事实上它肩负两重 功能,一是相当于声明一个变量以便在公式中引用,二是以名称 的方式给出存放标准系数的接口。 四“变量名”指出了作用这条规则后其值的名称,但它不 是值,相当于变量的地址,这样便于公式的前后引用,由于s q l 可能返回多个结果,故一个变量名域可存放多个“变量”。 五“约束条件”主要用于在以s q l 作为公式的规则中存放 w h e r e 子句,其他还可用于规则的条件执行,约束条件域中可 以带变量。 规则定义好后存放在数据库中,一条规则一条记录,多条记 录组合成规则集,由p 算予d 来组织,一个“决策算子”就 是有意义的正确的规则集。为了验证规则的正确性,规则需由“交 互式专家系统”的编译模块进行编译。 2 3 规则的语法规范 因为规则是用户计算的表达,应该贴近用户,同时,为了便 于计算机处理。规则必须遵从一些规范,即使是用户的特殊表达, 也需要通过规范来形式化,这主要是针对公式和约束条件方面 的。因为“交互式过程计算专家系统”采用的是a d a p t i v es e r v e r a n y w h e r e 和p o w e rb u i l d e r ,所以其语法规范参照了二者的特性, 也可以说是二者的结合,事实上,“决策算子”中规则的计算, 最终都要通过“交互式过程计算专家系统”的相应功能模块变换 为标准的a d a p t i v es e r v e ra n y w h e r e 和p o w e rb u i l d e r 的语法,这 样做的好处是充分利用工具所提供的功能,显而易见,重构一套 从最底层开始的编译器是没有必要的。 2 3 1s q l 语句的语法规范 对于公式中的s o l 语句:如果是存储过程,则用e x e c u t e p r o c n a m e ( 参数 ,参数, ) :其余的s o l 语句均遵从a d a p t i v e s e r v e ra n y w h e r e 语法规范。 系统中支持的s o l 语句有: ls e l e c t 1 4 语法格式】:s e i e c t a l lj d i s i n c t f i r s tt o pn j s e i e c t l i s tf r o mt a b l e 一1 i s t ,这是一种最简洁的s e l e c t 语法, 它写入“决策算子”表的公式字段中,而其w h e r e 子句的内容写 入“约束条件”字段中,书写时不用w h e r e 关键字,只写条件表 达式 语法格式2 :如果不分离s e l e c t 语句的w h e r e 子旬,则语法 遵从s e l e c t a l lj d i s t i n c t e l r s tj t o pn s e l e c t 一1 i s t f r o nt a b l e - 1i s t w h e 髓s e a r c h - c o n d i t i o n g r o u pb yc o l a m n - n a m e ia l i a s | f u n c t i o n 姒y i 粥s e a r c h c o n d it i o n 】 o r d e rb y e x p r e s s i o n ji n t e g e r ) a s ci d e s c 一 注意:对于语法格式2 ,在约束条件字段中就不必再定义 条件;不论哪种格式,只有结果集的第一行将被系统所使用。 2i n s e r t 语法格式1 :i n s e r t i n t o o w n e r t a b l e n a m e ( c o l u m n - n a m e ) v a l u e s ( e x p r e s s i o nld e f a u l t ) 语法格式2 :1 n s e r ,】 i n t o o w n e r t a b l e n a m e ( c o l u m n - n a m e ,) s ele c t s t a t e m e n t 3u p d a t e 语法格式 u p d a t et a b l e 一1i s t s e tc o l u m n - n a m e f i e l d n a m e e x p r e s s i o n , f r o mt a b l e l i s t w t t e r es e a r c h c o n d i t i o n o r d e rb ye x p r e s s i o n a s c d e s c ,。 4d e l e t e 语法格式: d e l e t e f r o m o w n e r t a b l e - n a m e f r o mt a b l e l i s t w h e r es e a r c h - c o n d i t i o n 5a l t e rt a b l e 语法格式: a l t e rt a b l e o w n e r t a b l e - n a m e 1 6 a d dc o l u m d e f i n i t i o n c o l u m n - c o n s t r a i n t a d dt a b l e c o n s t r a i n t m o d i f yc o l u m n d e f i n i t i o n m o d i f yc o l u m n - n a m ed e f a u l t d e f a u l t v a l u e m o d i f yc o l u m n - n a m e n o t n u l l m o d i f yc o l u m n - n a m ec 旺c k l l m o d i f yc o l u n m - n a m ec h e c k( c o n d i t i o n ) ( d e l e t eid r o p ) c o l u m n - n a m e d e l e t eld r o p ) c h e c k d e l e t eld r o p ) u n i q u e ( c o l u m n - n a m e ,l ( d e l e t eid r o p ) p r i m a r y k e y d e l e t eld r o p ) f o r e i g n k e yr o l e n a m e r e - i 舳皿n e w t a b l e - n a m e r e n u mc o l u m n - n a m et on e w c o l u m n n a m e 小结:系统支持如上五种s o l 语句包括了d m l ( 数据操纵语言) 的增、删、改、查和d d l ( 数据定义语言) 的改表语句,再加上 执行存储过程的语法,使得系统对s o l 支持达到了全面和完整, 保证了功能的完整性,较之于标准语法,系统或作了一定的分解, 1 7 或作了一定的简化,使:;概念更加清晰,用户更易理解,用户可 以查阅a d a p t i v es e r v e ra n y w h e r e 的帮助系统了解更为详细的 s q l 语法,总之系统尽最大可能符合a d a p t jv es e r v e ra n y w h e r e 的s q l 语句标准,以便充分利用d b m s 的资源,对于和s q l 不相 容的地方如:汉字变量的支持,将交给系统的编译程序去将该s q l 语句翻译为标准的形式,有些工作可能还要等到执行时转换,如 内部变量的替换。 2 3 2 表达式的语法规范 一基本语法规范 表达式中的操作符支持+ 、一、n ,分别对应加、 减( 或负号) 、乘、除、百分比、乘方,四则运算遵循先乘方, 后乘除,最后加减的原则,支持扩号,支持变量,支持百分号后 缀,如下是一个符合逻辑的表达式:人工费x1 1 2 7 + 材料费x 1 2 8 + ( 2 8 a 3 ) 二扩展的语法规范 在基本语法规范基础之上,系统借用了p b 的d a t a w i n d o w 表 达式规范作为表达式的扩展语法规范,因为d a t a w i n d o w 是一个 强有力数据操纵对象,使用它可以带来如下好处:多数函数不需 要自己编写,执行速度更快。 扩展语法规范完全兼容基本语法规范,只是它支持许多标准 l g 的函数,其主要函数列表如下: 算术函数: a b s绝对值 c e i l i n g 取上界整数 c o s余弦 e x p e 次方 f a c t阶乘 i n t取整 l o g 自然对数 l o g t e n 1 0 为底的对数 m a x取最大 m i n取最小 m o d取模 p i值 r a n d随机函数 r o u n d四舍五入 s i g n 标记函数 s i n正弦 s q r t 开平方 t a n正切 t r u n c a t e去尾函数 字符函数: f i l l 字符填充 l e f t 取左子串 l e f l t r i m 去掉左边空格l e n l o w e r将字符串变为小写 m a t c h匹配字符串 m i d取子串 p o s取子串位置 r e p l a c e 字符串替换 r i g h t 取右边子- 串 r i g h t t r i m 去字符串右边空格 s p a c e产生空格字符串 s t r i n g 格式化或将其它类型转换为字符串 t r i m去掉字符串左右空格 u p p e r 将字符串变为大写 条件函数 i f 用条件控制返回两个不同值的函数 c a s e 用条件控制返回多个不同值的函数 若要获知更详细的资料,请查阅p b 的d a t a w i n d o w 对象 的帮助文档,一般情况而言,上酝的函数已经完全可以满足蹦户 定义规则公式的需要。 对于更为特殊的需要,用户还可以自定义外部函数,这需要 由系统中的g f _ e x e c _ f u n 函数来提供调用接口。 2 3 3 外部函数的语法规范 函数实际上是表达式的部分,其返回值参与运算,遵循四 则运算法则,如果返回值是字符串,语法遵循p o w e rb u i l d e r 的 d a m w i n d o w 的字符串的语法规范,如:加号表示字符串的连接。 调用外部函数由一个外部函数调用接口c g f _ e x e c _ f u n ) 来完 成,它将以字符串方式表示的函数及参数放入该接口中,然后由 宿主语言来调用执行,其代码详见所附代码文件中的外部函数调 用接口( g f e x e cf u n ) ,该函数运用c a s e 语句来导入函数的入 口,c a s e 分支中包含了这个函数的参数,如下代码所示j 渊l e c t 硒 l s a r ga 玎f l 】= g g e t 矗ms e g s 呱啦u 乜? ,1 ) l s a 瑶舭t l 】;g 唧s 灯自l l l ( 1 s 螂:鲫t 1 ? ) i s a r ga r r 1 = g f _ , g o t - v a l _ o fj s g s ( i s _ a r g _ a n i , a i _ f s ) i s a r g _ a r r 2 - - - g f g e t _ f u n _ s e g s t r ( 1 sp m a _ s l r , , , 2 ) i s a 增州2 】= 曛r c ps 缸j h i l ( 1 sa l ga r r f 2 】, i s _ a r g _ m r 2 = g f _ g e t _ v a l _ o f _ j s g s ( i s _ m g _ a n 2 ,a i _ f s ) l s a 璐a 【r 【3 = g g e t ms e g g 似l sp 8 哺f 虹? ,3 ) i s a 唱埘3 】= 鲢嫩s 廿自i n o s 鹕町f 3 】玎? ) l s a 喀a 川3 】鼍地e tv a lo f j s g s ( 】sa i ga 盯1 3 】,a i j ) l s - a 氇a r r f 4 1 = g f j e l 如吐s e g s t r ( 1 s p a r a _ s 廿1 i ,4 ) l s _ a r g _ a r r 4 = g f _ r e p _ s t r _ f u n ( 1 sa r g _ a r r l 4 1 ,w ), l s _ a r ga r t 4 = g f _ g e t _ v a l _ o f _ j s g s ( 1 s _ a r g _ a r r 4 ,a i _ f s ) r e t u l t t ”+ s c l e c t _ f l t j ( i n t e g e r ( i sa r g _ a r r 1 ) ,i n t e g e r ( 1 s - 嘲- a 叫2 】) i s a r g _ a r r 3 】,l s _ a r g _ a r r 4 】) + ” 上面是函数s e l e c t _ f l t j 函数的接口定义,其中函数 g f _ _ g e t _ f u n _ _ s e g s t r 是得到函数中的一个以逗号分隔的参数片断, g f _ f e p _ s t r f u n 替换字符串中的某个字符为另外字符, g f $ e t v a l _ o f _ j s g s 得到参数表达式的运算结果。 通过统一接口,在使用上,外部函数就可完全按一般函数的 方式定义、调用并执行。 总结:“决策算子”作为一个交互式计算过程,主要是一系 列公式的组合,这些公式是表达式和s q l 语句,是一个提取数 据进行加工的过程,符合用户对数据计算处理的需要,其语法遵 从通常的标准,和现实模型很接近,这样用户能很容易地运用和 实现。 第三章数据结构及知识库的建立 为了便于讨论,我们假定“交互式过程计算专家系统”基于 前面的现实模型及实例,所以有必要将它的数据结构及相互关系 阐明,这里的结构有些方面是具体的,是有针对性的,但从结构 的逻辑及整体概念上讲,它能够解决类似的问题,文中尽量从策 略、思想方面进行探讨,而不以程序文档方式提出。 3 1 “决策算子”的作用过程 在具体系统中,用户面临一个决策问题,系统尽可能根据问 题的描述及环境,综合用户的交互,智能地探索确定选用相应的 “决策算子”,若没有适合的“决策算子”,给出提示并允许定义 并实时创建之。一旦系统将“决策算子”作用到具体决策问题上 来,则“决策算子”便与业务数据结合,启动“决策算子”,它 就自动地与用户一道对业务数据进行分析计算,达到解决提出的 决策问题,在计算过程中,也由“决策算子”本身依据环境和用 户一起以该“决策算子”所规定的方式去探索确定“决策算子” 的参数。在这里,确定“决策算子”是自动的,离不开人工智能 的搜索技术,确定“决策算子”的参数也是智能的,这些执行环 节,在具体不同的环境或系统中还可以选用不同的方法,或进行 重定义,或扩充原有的概念,使系统对不同的环境有不同的概念, 让系统从概念上二理解内部的信息。 , 综上所述,我们可得出“决策算子”的工作过程示意图: 从上圈可以看出,决策分析表是中心,它的形成和执行提供 了对一个决策问题的解决,为了构造决策分析表,系统应该选择 适合解决决策问题的“决策算子”,而在“决策算子”的执行过 程中,还需动态确定决策参数,最终计算出结果来。因此,决策 算予、决策参数、以及决策分析表的结构是必须仔细考虑的问题。 3 2 决策算子表 “决策算子表”用来存储各种“决策算子”,它的结构如下: 字段名称类型说明 s z d h x h i n t e g e r i n t e g e r 算子代号( 即算子i d ) 序号 v a r c h a r ( 6 4 ) v a r c h a r ( 6 4 ) l o n gv a r c h a r v a r c h a r ( 1 6 ) l o n g v a r c h a r i n t e g e r l o n gv a r c h a r 变量名称 , 显示名称 公式 系数代号 计算公式 计算序号 约束条件 s h o w f l a gt i n y i n t显示标志 u n i n h e r i t a b l e t i n y i n t 不可继承标志 b z l o n g v a r c h a r备注 算子代号:表明了一个“决策算子”的d ,一个决策算子 由多条规则组成,这些规则有一个相同的算子代号。 序号:一个“决策算子”的表现有一定的顺序,这个顺序不 一定是他们的执行顺序,它只是一种表达,如前面的现实模型, 它是以树形层次的方式来表达各个值之间的逻辑关系的。 变量名称:对于一个规则( 公式) ,其执行结果会产生一个 值,这个值可能需要在另外的规则中引用,那么这个值就必然以 变量名的方式进行引用,变量名就是这个规则所产生结果的名 称,本系统中通过专门的编译程序,可以支持汉字变量,这样就 使得系统能更清楚直接表达结果的意义,方便用户的使用,同时 一 黔 姗 | 塑 m 一 在显示和扣印报表的时候,不需要作迸一步的解释。 显示名称:一条规则意义的说明,如:“7 工程造价”,其变 量名称可能是f z 。 公式:存放表达式或s q l 语句的地方。 系数代号:表示该条规则所直接联系的决策参数,由这个系 数代号来和决策参数表取得联系,然后根据具体条件选择一个合 适的决策参数值。 计算公式:存放编译后的公式。 计算序号:将由编译程序确定,它决定规则执行的顺序,而 这种顺序是由引用关系来决定的,这种引用关系到计算序号的映 射是一个逆拓朴排序的过程。 约束条件:存放s q l 的w h e r e 子句和一些公式的特别标识, 如:“条件执行”标识,参数标识等。 显示标志:如果不可显示,则在交互式环境中被隐藏,且该 规则不被打印。 不可继承标志:如果该“决策算子”支持分层计算,对于以 绝对数字加减的规则将引起不闭合,为了解决这个问题,可以将 这样的规则置为不可继承,那么该规则只在顶层参与运算。 小结:从“决策算子表”的结构可以看出,对于“决策算子” 的表示采用了很结构化的方式定义,它屏蔽了程序语言的复杂 性,同时又具备程序的特 ,并且其前后执行顺序仅由规则之间 的引用关系确定,这样就可以将用户的焦点集中到对问题的解决 上来。 3 3 决策参数表 解。 字段名称类型 x s d h v a r c h a r ( 1 6 ) x s m c l o n gv a r c h a r c o n s t r a i n v a r c h a r ( 6 4 ) s z d h i n t g e r x s v a l v a r c h a r ( 1 0 ) x s v a l l x s v a l 2 x s v a l 3 d e fv a l d e _ n a g d e fs e t v a r c h a r 0 0 ) v a r c h a r ( 1 0 ) v a r e h a r ( 1 v a r e h a r ( 1 0 ) t i n y i n t v a r e h a r ( 6 4 ) 说明 系数代号 系数名称 约束条件 算子代号 系数值 系数值1 系数值2 系数值3 缺省值 缺省标志 缺省集 系数代号:和决策算子表中的系数代号相对应。 系数名称:对于一个决策参数,用一个名称来解释更易于理 约束条件:采用代码的表示方式对约束条件进行规定,如: c , - c l b 0 1 0 1 表示该系数焉岔“土建一类工柠”,如果在全程约束 中已经有了g c l b 0 1 ,那么这个g c l b o i o i 将作为候选参数, 否则将不作为候选参数,这样在确定决策参数时,将逐步缩小范 围,直至尽快选择出合适的决策参数。对于参数的确定算法可参 阅后面有关章节。 算子代号:可以将算子代号作为约束条件之一,只不过单独 提出来便于系数的归类管理。 系数值、系数值1 、系数值2 、系数值3 :这四个字段用来对 决策参数值的存放,这种定义可以支持同一决策参数的四个方 面,如:7 层的高层建筑增加费,它有基价系数、人工系数、机 械系数、材料系数四个方面,另外有些系数是一个范围值,这时 可以用“系数值”字段和“系数值1 ”字段来定义。 缺省值:对于标准而言用户还可以修改,所以需要有一个缺 省值。 缺省标志:对于多个相同系数代号的参数,有一个作为缺省。 缺省集:不同的决策算子,对于某一个特定系数代号,有不 同的缺省选择。 小结:“决策参数表”给出了决策分析的标准参数,它通过 约束条件来对各决策参数进行限定,这将为决策分析的快速确定 决策参数提供有力保证。 3 4 决策分析表 。 字段名称类型说明 x m i d i n t e g e r 项目标识 m l i d v a r c h a r ( 3 2 1 目录标识 s z d h i n t e g e r 算子代号 x h i n t e g e r 序号 v a r n a m e v a r c h a r ( 6 4 ) 变量名称 s h o w n a m e v a r c h a r ( 6 4 ) 显示名称 g sl o n g v a r c h a r公式 x s d hv a r e h a r ( 1 6 )系数代号 x s v a l v a r c h a r ( 1 0 ) 系数值 v a r v a l v a r e h a r ( 6 4 )变量值 t e m p v a iv a r c h a r ( 6 4 ) i 临时变量值 j s g sl o n g v a r c h a r计算公式 j s x hi n t e g e r 计算序号 c o n s t r a i n l o n g v a r c h a r约束条件 b z l o n g v a r e h a r备注 项目标识、目录标识:这和具体的待决策的业务数据结构有 关,这里假定以项目的方式来确定分析的目标,系统中有很多个 项目,这些项目按树形层次来组织,其中,对于计算层,可以选 择一个决策算子进行决策分析它以下的层次均按这个决策算子 作局部计算。 系数值:通过对系数代号进行选择确定的值。 变量值:该规则计算的结果。 临时变量值:对局部计算可以临时存放。 其余字段意义见3 2 的说明。 小结:决策分析表是“决策算子”的一次表现,融合了可变 参数和具体的执行结果,其中的交互过程也由决策算子提供的函 数来实现,通过它,用户就能完成相应的决策分析。 总结:“交互式过程计算专家系统”的基本数据结构就是: “决策算子表”,“决策参数表”,“决策分析表”,这三张表的有 机结合,构造了一个“决策算子”表示和执行的数据基础。 第四章编译决策算子 “决策算子”是计算规则的表示,是基于前述语法规范和数 据结构的多条数据记录集合,通过对这些规则进行编译,它能最 终转化为宿主语言,同时计算规则能通过上下文关系确定其工作 的顺序,这些工作都需要通过编译来完成。 因为“决策算子”的构造基于p o w e r b u i l d e r 及a d a p t i v es e r v e r a n y w h e r e ,所以在设计编译器时,考虑尽可能借用系统资源, 这也是在确定决策算子的语法规范时所考虑到的,其目的是在编 译和执行“决策算子”时能借用系统内部的功能以提高效率。 对“决策算子”的每一条规则而言,它的公式是这条规则的 执行主体,这条规则干什么,要达到一个什么样的结果,均取决 于公式所包含的内容,因此编译是以公式为中心的。从规则的定 义来看,它遵循一规则,一独立完整的公式,这使得上下文相关 性能得到有效控制。 编译的主要任务是进行词法分析、语法分析和“决策算子” 各条规则计算序号的确定。 4 1 词法分析 词法分析所基于的数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单身购房抵押合同范本
- 租赁线上合同范本
- 出口模具的合同范本
- 上海校服采购合同范本
- 展销大棚租赁合同范本
- 朋友合股开店合同范本
- 机构如何签到合同范本
- 学生租房协议合同范本
- 宜家沙发租房合同范本
- 提前打款合同范本
- 《运动处方》课件-第一章 运动处方基础理论
- 四川省事业单位公开招聘工作人员公共科目〈综合知识〉笔试考试大纲笔试历年典型考题及考点剖析附带答案详解
- 2025年人教版山东省济南市九年级中考英语模拟试卷(含答案无听力音频及原文)
- 2025+CSCO非小细胞肺癌诊疗指南解读 课件
- 消毒供应中心培训课件
- 反应釜操作知识培训课件
- 2025年一级建造师《建筑工程管理与实务》试卷真题(附解析)
- 物业薪酬管理办法
- 外场管理制度
- 集团公司新闻宣传工作管理办法
- 物业消防安全管理制度
评论
0/150
提交评论