基于知识工程的推理机在产品配置中的研究

2020-03-27 18:18方喜峰李伟伟朱成顺
机械设计与制造 2020年3期
关键词:推理机知识库解析

方喜峰 ,李伟伟 ,朱成顺 ,王 俊

(1.江苏科技大学机械工程学院,江苏 镇江 212003;2.江苏省船海机械装备先进制造重点实验室,江苏 镇江 212003)

1 引言

现阶段,面对与日俱增的市场竞争压力,传统制造行业的大批量生产技术体系已无法满足客户日新月异的市场需求。因此,产品配置技术受到了广泛关注,该技术是在产品零部件之间约束关系条件下,根据客户需求信息,合理组合出各个模块和零部件,以满足客户日新月异的需求[1]。但在产品配置过程中设计人员的大量经验无法得到有效的共享和重用,产品设计周期变长,无法快速响应市场。因此考虑将KBE技术运用于产品配置中,以期提高产品设计效率。知识工程技术(Knowledge-Based Engineering,KBE)是CAD、CAE、CAM等技术与人工智能的集成,将产品设计领域知识和经验与产品开发支持技术相统一,有利于继承和重用领域知识,实现设计知识的复用和产品智能化设计[2]。

国内外的学者在知识工程理论研究和KBE系统开发方面也进行了大量研究并取得了许多成果[3-6]。文献[7]将知识工程引入夹具结构设计中,研究本体和知识组件相结合的夹具智能设计方法,实现夹具的参数驱动和快速装配。文献[8]提出了基于知识工程的船体结构设计方法,实现设计经验的重用,并以船甲板说明方法的可行性。但是知识工程技术在产品配置领域中的研究和应用仍比较薄弱,尤其在知识表示、知识推理等方面还存在一定的欠缺。

基于Microsoft Visual Studio2015编程平台,将知识工程技术与产品配置平台集成,通过产生式规则和过程表示的混合表示法进行知识表示,运用智能解析技术对知识库进行知识检索分析,以及规则推理方式RBR(Rule-Based Reasoning)进行知识推理,将推理出的产品设计结构作为引导和辅助后续产品详细设计的依据,解决了产品配置中知识经验的重用性差等问题,降低企业设计经验丰富人员的流失风险,提高产品设计效率。

2 推理机体系结构

按照机械复杂产品的设计需要,结合客户的多样化需求,设计了在产品配置中的推理机体系结构。体系结构,如图1所示。

推理机采用Microsoft Visual Studio软件和SQL Server软件作为工具支撑,并且与产品配置系统进行集成,研究了知识工程中知识表示、知识存储、知识解析和知识推理等方法。将产品开发经验以规则形式存储在知识库及数据库中。设计人员首先向领域专家收集、获取知识,然后通过规则编辑界面将知识按照一定的形式输入知识库中。客户只需通过产品配置界面输入需求信息,运用智能解析技术快速检索分析知识库中知识,并通过RBR推理方法进行推理,最终输出可行的产品结构。

图1 推理机体系结构图Fig.1 Inference Machine Architecture Diagram

3 基于知识工程构建的关键技术研究

3.1 知识表示

机械产品设计是涉及多要素、多领域专家联合的设计过程,需使用相关的领域知识及专家经验。知识的表示方法是知识利用的基础,单用一种知识表示方法已无法达到现阶段设计要求,因此在实现知识的合理表达时,需考虑结合不同的表达方式。采用基于产生式规则,辅以过程表示法的混合方式进行知识表示。

产生式规则[9]的一般形式是:

E→Q或IF E THEN Q

其中E指前提,Q指一组结果或者执行相应的指令,以表示如果前提E指定的条件被满足时,则输出的结果或者执行相应的指令。整个产生式的定义是:如果前提E满足条件,那么可以输出结论Q或者执行Q所指定的操作。如某企业复杂变压器中零部件选择判断规则:

“IF变压器外形长度尺寸>100mm THEN选高压线圈”;

“IF变压器外形宽度尺寸<50mm THEN选择铁芯”。

由此可得,使用产生式规则表示知识的方法可以直观清晰地将复杂变压器零部件的选择知识转化成简单形式,化繁为简,简化数据与经验的判断过程。

基于规则的知识应用,不仅可实现一条规则满足一例应用的一对一关系,亦可用多条规则去规范知识在实例中的应用,后者的应用是丰富知识库的一种重要方法。例如对于复杂变压器中下夹件的选择中,需要根据变压器铁芯长宽高外形尺寸对下夹件的类型进行联合判断。

下夹件类型选择的知识运用产生式规则表示方法即是:

IF[1:L]>100mm OR[1:W]>50mm AND[1:H]<30mm

THEN选择低压下夹件;

IF[1:L]<100mm OR[1:W]<50mm OR[1:H]>60mm THEN

选择高压下夹件;

推理机的知识创建界面及知识创建示例,如图2所示。

在知识创建和推理过程中,需要使用大量的计算过程,如代入函数公式求解、数值计算等,而利用单一的产生式规则很难将知识阐述准确,因此采用产生式规则为主,过程表示为辅相结合的表示方法对计算类知识进行表达。例如铁芯长度的选择判断规则:

IF[1:L]+[1:H]=Sin[1:W]THEN[1:L]=[1:N]2;

上述数学函数Sin(value)公式只是部分过程表示法的代表,随着知识库的不断扩充,可以在知识创建界面添加更多的设计知识,增加知识库知识数量,提高设计能力水平。推理机支持表达式的输入界面,如图3所示。

图3 支持表达式输入界面Fig.3 Support the Expression Input Interface

3.2 知识解析

根据客户的配置要求,需解析知识库中的约束规则,因为约束规则都是以字符串的形式存储于配置知识库中,计算机无法识别字符串中的逻辑运算关系,不能执行相应的操作。为解决上述问题,需要在知识解析之前做一些必要的描述处理,如表1所示。

表1 规则处理中的描述信息Tab.1 Description Information in Rule Processing

将上述描述信息对知识库中约束规则进行数字化处理,以复杂变压器铁芯尺寸为例:

If[5:L]>10 And[5:L]<20 then[5:W]=10

Else[5:L]>20 then[5:W]=12

上述多条规则转化成表格形式,如表2所示。

表2 变量规则表Tab.2 Variable Rule Table

(1)将表2中的规则信息进行整合,如表3所示。

表3 规则集合表Tab.3 Rule Set Table

从表3中看出,将逻辑语句关键字转换成表1描述信息的数字形式,并且用”#”的符号串联起来,其优点可以将多条规则进行整合,提高知识推理时检索获取的效率。

(2)为使日后检索获取更加方便,将各个规则属性集合用”$$”进行拼接形成一条完整的字符串,即一条字符串代表该变量或对象的一条知识经验。以上表格内容组成下面字符形式,即:

0#1#3$$[5:L]#[5:L]#[5:L]$$2#1#2$$10#20#20$$10#10#12

式中:#—同一属性集合不同名称分隔符标识;$$—不同属性集合分隔符标识。

(3)一旦客户输入配置条件和参数,首先需要获取目标原始值,即从产品可配置BOM结构中获取目标原始值,其目的是在规则条件不成立时,将原始值赋予该值。

(4)然后通过拆分知识字符串,把检索获取的知识字符串按照属性区分进行分解。即:

Temp_string=split(Knowledge,”$$”)

(5)其次为获取产品配置界面的变量目标值,循环遍历当前配置界面上的变量值,对属性Var_Name变量名字符串中所有变量逐个替换赋值。即:

Temp_String(1)=Replace(Temp_String(1),

vsflexgrid1.textmatrix(i,2),vsflexgrid1.textmatrix(i,4))

(6)再按照每个属性集合中的不同名称进行拆分,将用户输入产品配置界面的变量目标值保存在字符串数组中。即:

SourceVar_name=split(Temp_String(1),”#”)

3.3 知识推理

根据知识的表达形式,以及领域专家建立的知识库,即可应用推理机制进行知识推理。就本推理机而言,专家知识经验都是以规则形式呈现,且推理过程中知识都是确定的,选择采用基于规则的推理(RBR)方法。推理控制策略采用正向推理,这样设计人员或知识工程师可以主动输入有效的数据信息。

该推理机依次遍历知识库中的知识(规则),找到与已知条件相匹配的知识,确定该条知识包含的逻辑数,记为S。遍历(i=0,1…)其逻辑关系,首先判断If规则后条件表达式是否为真,若真且其后逻辑关系为“或”,则推理成功,若真且其后逻辑关系为“与”,则需满足“与”逻辑表达式为真,方可判断其后逻辑关系;若If规则后条件表达式为假,随后逻辑关系为“与”,则无推理结果,若其后逻辑关系为“或”,则只要满足“或”规则为真,推理即成功。当已知条件满足规则时,推理过程结束。具体推理流程,如图4所示。

图4 推理流程图Fig.4 Reasoning Flow Chart

该推理机中用于判断规则正确与否的部分代码如下:

PrivateFunctionRuleIsTrue()

IfC_Relationship=”0”then ‘比较关系为“=”

IfSourceVar_name=S_Valuethen

RuleIsTrue=True

Else

RuleIsTrue=False

Endif

ElseifC_Relationship=”1”then ‘比较关系为“<”

Ifval(SourceVar_name)<val(S_Value)then

RuleIsTrue=True

Else

RuleIsTrue=False

Endif

ElseifC_Relationship=”2”then‘比较关系为“>”

Ifval(SourceVar_name)>val(S_Value)then

RuleIsTrue=True

Else

RuleIsTrue=False

Endif

Endif

3.4 知识库的建立

知识库是推理机体系架构基础,一方面知识工程师将知识存储在知识库中,另一方面推理时需解析知识库中知识,并推理得到符合要求的结果。如何将知识合理有效地存储起来更好地为推理机服务,就涉及到知识库的内容[10]。由于采用产生式规则为主,过程式为辅的混合表示方法,因而建立了一个多种混合的知识库。即在采用产生式形式建库时,也可将函数公式源代码有机结合。这样可以很方便地对产品可配置结构进行知识创建和管理,可扩展性强。

4 推理机运行及实现

以某企业复杂产品变压器为实例,在已有配置系统的基础上,利用面向对象的VB.NET语言和SQL server2015平台开发了高效的智能推理机,并应用于变压器产品配置过程中。推理机的核心功能由两部分构成,产品配置规则编辑和智能知识推理。在编辑配置规则时,设计人员通过人机交互界面实现对产品配置结构中BOM行的知识规则进行添加、删除、修改、注释等功能设计,并存储于知识库中;当规则编辑完毕,开始进入推理流程,用户输入需求参数,推理机运用智能解析技术检索解析对应参数的知识,并对已知条件进行规则匹配,推理求解可行的方案,自动勾选生成符合要求的产品结构。具体的变压器零部件配置主界面,如图5所示。

图5 变压器零部件配置主界面Fig.5 Main Interface of Transformer Components Configuration

智能推理机在变压器零部件配置过程中的具体应用方式可分为两个步骤:(1)输入变压器对应规格参数(即客户化定制需求),如输入上图中变压器的规格参数:L(主长度)、W(截面宽度)、D(壁厚)、H(横截面高度);(2)通过推理机的推理功能将上步引入的规格参数带入匹配规则中的逻辑表达式中进行逻辑判断,如If[1:L]<0.5And[1:W]<1Then高压上夹件 par:1=True,推理出结果以勾选的方式显示在配置结构中,该过程的实现,如图6所示。通过上述步骤即可筛选出变压器装配时所需的零部件,此为下步变压器零件参数变型设计的基础。在此基础上,对部件下零件进行参数化变型设计,最终组成变压器装配体,具体实现效果,如图7所示。

图6 变压器零部件配置推理实现过程Fig.6 Inference Process of Transformer Components Configuration

图7 变压器配置建模最终效果Fig.7 Final Effect of Transformer Configuration Modeling

5 结语

传统基于规则的配置方法在知识表示和知识库的扩充和复用方面缺乏灵活性和通用性,且不能完全满足表达充分性和推理有效性的要求,难以适应机械复杂产品设计模式的变化;基于案例推理的产品配置方法,案例库庞大复杂,推理求解效率较低。针对上述应用在产品配置中的配置方法所存在的缺陷,将基于知识工程的推理机应用于产品配置中,此方式可有效解决上述方法在产品配置时产生的问题,其在知识表示时采用结合过程的规则表示法,可添加更多的设计知识,实现知识库的扩充和知识复用,同时,智能知识解析技术及RBR也可极大地提高推理机的运行效率。该方式对节约资源成本、转变企业设计模式及增强产品竞争力具有重要的意义。

猜你喜欢
推理机知识库解析
三角函数解析式中ω的几种求法
基于TRIZ与知识库的创新模型构建及在注塑机设计中的应用
睡梦解析仪
面向对象的几何定理推导系统的设计与实现
电竞初解析
基于Naive Bayesian算法改进的智能诊病系统研究
对称巧用解析妙解
高速公路信息系统维护知识库的建立和应用
基于Drupal发布学者知识库关联数据的研究
继电保护整定计算模块的设计