基于人工免疫原理的知识推送模型*
2018-01-29胡小光张太华谢永康
胡小光,张太华,杨 静,谢永康
(1.贵州大学 现代制造技术教育部重点实验室,贵阳 550025;2.贵州师范大学 制造服务与知识工程技术工程中心,贵阳 550025)
0 引言
机械产品可制造性设计是一个典型的由制造知识支持的生产活动,由于其面对大批量的制造知识数据,使得产品设计知识获取效率和准确率较低,因此,主动、及时、准确地向设计人员推送所需要的知识是研究的热点和难点[1-2]。Sung R C W[3]等通过分析目前知识推送方法的成功案例,设计了一种自动实时记录、捕获、后处理设计数据的知识推送方法;王占松[4]建立了形式化的目标功能设计意图模型,并给出了功能—行为—结构知识匹配方法;董思洋[5]等建立了结构件的知识推送原型系统和设计知识靶向推送算法。以上方法都从不同的角度提出了知识获取机制,但是,这些算法都不能对产品三维模型的特征知识进行准确的推送服务。
由于在知识推送过程中,产品特征知识具有高度的自治性,与作为生命体支柱的由众多器官、组织和细胞构成的免疫系统(Immune System)高度自治系统[6]具有很大的相应性。因此,本文基于知识主动推送过程和免疫过程的相似性,提出了一种基于人工免疫算法的特征知识匹配算法(Knowledge Matching based on Artificial Immune Algorithm,KMAIA),并基于此构建了NX平台下的机械产品特征知识推送模型,该方法可以灵活地对知识进行准确的检索和推送,更好地支持产品特征创新设计。
1 基于人工免疫原理的特征知识推送模型
针对NX平台下基于人工免疫原理的知识推送模型,本文以特征知识为对象进行详述,并对特征进行识别提取。机械产品三维模型的特征知识提取是一个逐步求精与细化的动态反馈与联动过程,在机械产品设计中,针对所需不同结构特征需要不同的特征知识支持。零件上某个具体结构特征所需的加工特征的特征知识是零件加工设计的重要环节,需要进行频繁的调用和反馈,特征知识本身的可重用性和调用的灵活性直接影响着零件设计的可制造性和效率。
为实现机械产品特征知识的主动推送,首先需要考虑几个问题:机械设计意图模型以及进行统一的规范化描述;知识需求与特征知识匹配模型的构建;知识需求的分析、获取与表达;特征知识推送选项决策。
图1所示为机械产品特征知识推送模型,对象为普通机械类产品设计,方法为基于免疫原理的知识推送过程(即为AP)。该模型包括知识需求模块(Knowledge Demand Module,KDM)、知识推送免疫过程模块(Immune Process of Knowledge Push Module,IPKPM)、知识库模块(Knowledge Base Module,KBM),其中知识库模块包括知识输入模块(Knowledge Input Module,KIM)和特征知识的免疫细胞化表达模块(Immune Cells Express of Characteristic Knowledge Module,ICECKM)。以集合形式可表示为AP={KDM,IPKPM,KBM}(其中KBM={KIM,ICECKM})。
针对图1的总体设计方案,将每一个子模块详细设计并分析,剖析子模块应用中可能遇到的关键问题并提出相应的解决方案。
图1 基于免疫原理机械产品特征知识主动推送模型
2 特征知识主动推送模型的构建
2.1 知识需求模块分析
产品设计意图与需求意图,是知识主动推送过程需要解决的问题和目标,利用模型特征的概念来简化知识需求的获取,针对现阶段的零件三维模型设计知识需求模型,利用NX/Open API程序集合实现特征提取直接从提取特征信息,采用可扩展标记语言(Extensible Markup Language,XML)将特征信息存储并传入后续模块,如图2所示。
在图2中,针对具体产品特征建模的实际问题,采用NX的特征建模技术和相关插件特征识别功能,对具体三维零件图进行识别,并利用XML格式进行存储如图3所示。
在免疫应答反应过程中,抗原X(包括细菌、病毒、花粉等)是诱导免疫反应的主要因素,同理,知识推送也是系统中接收到知识需求后做出的推送响应。抗原刺激机体后,产生可与抗原结合的抗体,其表面的抗原决定簇决定了特异性。
以下各类参数决定了知识需求的特异性,知识需求模型表示为KDM,需求类型表示为DC(Demand Category),知识适用条件表示为AC(Application Condition),知识具体属性表示为DP(Detail Parameters)。于是得知识需求模型可表示为:KDM={DC,AC,DP}。以固定鄂板加工特征为例,如图3对零件图进行特征识别,对XML特征文件进行解析,获得知识需求,进行特征分析与需求模型构建。图2中孔特征加工分析如表1所示。
图2 固定鄂板三维模型
图3 固定鄂板XML文件
需求内容DC适用条件AC具体参数DP孔加工加工特征:孔类型:钻头材料:合金钢加工方法:钻—扩—镗孔直径:33孔深度:2孔加工精度:IT9~IT11
2.2 知识库模块
KIM模块作为知识推送系统实现的基础,负责知识的录入、识别、存储和维护,作为一个独立的模块需要具备基本的增删改查功能。该知识库主要由设计原理库、设计规则库、用户日志库等组成[4]。主要任务是标准化管理知识并进行存储,并将知识库的创建和使用分离,使之快速响应后续识别得到的零件特征需求。知识输入模块可以分为以下几个子模块:①零件设计知识结构化;②结构化知识的分类与存储;③知识映射表的形成;④知识库知识提取与应用。
免疫反应是一个高度并行、分布、自组织的过程,其中包含各种不同的免疫细胞,但是都来自相同的DNA,各种不同的细胞仅是因为基因信息选择性表达。与此类似,产品可制造性设计中的加工工艺、制造资源知识等都涉及各种各样条件,但均可以理解为相同的知识映射表根据不同使用条件分化的结果。因此,可利用免疫细胞化表达机械产品的知识类型、具体知识信息、独立参数及规则。
产品设计特征知识免疫细胞表达模型。将所有知识均视为一个映射表,知识库中知识与需求匹配并选择性表达。将各种特征知识进行封装记为免疫细胞模型(Knowledge Immune Cells Module,KICM)。其知识具体表现形式为(Concrete Forms,CF),令CF={CFKT,CFSI,CFKA},根据输入知识需求的不同依据知识映射表进行表达。其中CFKT为知识类(Knowledge Type),CFSI是知识信息(Specific Information),CFKA表示知识属性(Knowledge Attribute)。以孔为例详细介绍特征知识的免疫细胞化表达模型,如图4所示。
图4 特征知识免疫细胞化表达
2.3 知识推送的免疫过程
知识推送问题可以用类似的免疫过程描述为:当抗原类物质侵入免疫系统,系统进行紧急处理分析,得到所需的免疫细胞群。按照以上的知识主动推送系统结构可以实现知识需求的自主结合和匹配,并实现知识的主动推送。该系统包含以下类似免疫系统的步骤[7]:
(1)抗原提取。监视单元对免疫系统进行监视,当抗原进入系统,吞噬细胞摄取处理抗原(知识需求),承担监视作用,并将其呈递给T细胞,然后交给后续识别过程。
(2)抗原识别。在发现抗原后,抗原提成细胞迅速识别抗原各种决定簇,即完成对DC,AC,DP的判断和获取。
(3)增值分化。系统内T细胞已经完全识别抗原决定簇结构,并进行快速反应,选择解决方案。效应细胞和记忆细胞大量增值分化,产生抗体并完成二次免疫。
(4)抗原—抗体特异性结合。效应T细胞和效益B细胞分别作用,释放抗原和产生抗体,并将二者结合,特征知识获取成功推送给用户,达到机体免疫过程的实现。免疫系统和免疫算法概念匹配关系如表2。
表2 生物学概念和知识工程概念对比
3 基于免疫过程的知识主动推送方法
3.1 特征知识推送匹配策略
针对知识推送的相关问题,若要实现机械产品设计特征知识的推送需要解决以下三个问题:①针对机械产品的结构特征知识、加工类特征知识以及相关制造资源知识的搜集整理与知识库构建;②机械产品需求提取与分析;③知识需求模型的构建和推送模型的构建。
令X={x1,x2,…,xn}表示具有n个抗原的集合,其中xa(1≤a≤n)是侵入机体的抗原,xa={xaDC,xaAC,xaSP},其中xaDC是抗原的DC决定簇,即指知识需求类型;xaAC是抗原的AC决定簇,即指知识需求中适用条件;xaSP是抗原的SP决定簇,即指只是需求中知识的具体属性。
令Y={y1,y2,…,yk}表示具有k个免疫细胞的集合,yb={yb1,yb2,…,ybm}(0≤b≤k)是与之匹配的特征知识具体表现形式。知识需求决定簇的抗原接受位与类知识的KT,SI,KA相对应。实现知识类型与知识需求的类型的匹配,最终应当在使用条件、知识的具体信息中搜寻M个差异性最小的可行解空间。
3.2 匹配算法模型
若针对某个抗原选择类似的免疫细胞的集合与之匹配,以实现免疫过程。所以根据知识推送系统中的知识需求选择与之匹配的N个知识的数学表达模型为:
(1)
约束条件:
(2)
M=1,2,…,且M>N;
1≤b≤k
(3)
3.3 匹配算法的定义
定义1:抗原识别。针对机械产品知识的特点,给出一个抗原xa,若满足下文公式下能够得到yb,并满足条件成立,则称抗原xa可以很好的与yb匹配。
抗体与抗原的AC决定簇:
xaSP∈yb,yb∈M,1≤b≤k;
(4)
f(xaSP,yb)=min{f(xaAC,y1),f(xaAC,y2),…,
f(xaAC,yk)},yk∈M,1≤b≤k;
(5)
‖xaAC-f(xaAC,yb)‖≤α,yk∈M,1≤b≤k
(6)
抗体与抗原的SP决定簇:
f(xaSP,yb)=min{f(xaSP,y1),f(xaSP,y2),…,
f(xaSP,yk)},yk∈M,1≤b≤k;
(7)
‖xaSP-f(xaSP,yb)‖≤β,yk∈M,1≤b≤k
(8)
式中,f(x,y)表示抗体与抗原的AC决定簇和SP决定簇匹配时的阈值,匹配时的和力小于该值则认为匹配成功。式中α和β的匹配过程不完全精确,从而有效的确保免疫细胞识别抗原的差异性,特点的知识需求会选择相匹配的特征知识。
定义2:抗体与抗原亲和力。抗体与某个特定的抗原所具有的关联特性定义为亲和力。
单一的用欧拉距离公式来描述亲和力较为片面,这里采用熵值法的亲和力计算方法来定义亲和力,具体计算过程如下[7]:
若两个知识需求的亲和力具有确定的阈值,表明了知识需求之间的相似性,为了获得多样性的知识,就必须抑制相似度较高的知识,因此可以通过浓度的调控来实现对知识的调控。
定义3:免疫细胞相似性。在机体免疫细胞群中,具有特定的免疫细胞u,计算与任意免疫细胞v的接近程度表示为|u,v|;而且计算u和v针对特定抗原x的亲和力,分别记作Axu和Axv。若存在常数使它们同时成立,则u,v为相似免疫细胞。
‖u,v‖≤j
(9)
|Axu-Axv|≤k
(10)
其中常数为j>0,k>0。
相似免疫细胞浓度记为Cu,计算如下:
(11)
(12)
4 特征知识推送系统
就上述的NX平台下基于免疫原理的知识主动推送模型,采用基于免疫原理的方法来实现知识主动推送,实现常见特征知识主动推送。针对特征知识主动推送的过程特点以及免疫算法的具体过程[8],流程图如图5所示。具体步骤如下:
输入:抗原集合规模为N,免疫细胞为集合规模为M,终止条件为最大匹配数[9]。
步骤1:抗原识别。对进入免疫系统的抗原进行识别,得到所需的知识需求模型,作为初始的可行解空间,转化成待求解数学模型。
步骤2:算法初始化。针对知识需求,确定最初的抗原种群,然后初始化。并设定M,Pc,Pm,ka,kc等。
步骤3:与知识库匹配,搜寻相类似问题求解。若存在,可获得问题答案,进入步骤7,否则继续运行流程。
步骤4:利用以上公式得到亲和度数值并排序。
步骤5:知识多样性的保证。剔除知识种群中亲和度小于阈值的知识,并选择小于阈值的知识进入下一轮循环。
步骤6:新知识的产生。针对步骤5提供的知识种群,按照交叉和变异,更新知识,跳转至步骤4。
步骤7:判断终止条件。进行计算与条件进行匹配,若满足知识种群与知识需求的要求或达到最大进化代数,则停止搜索,并将解决方案推送至用户界面,且存入知识记忆库中。
步骤8:终止。
图5 特征知识推送流程图
以某制造企业实际生产数据为例,并以NX为平台搭建基于免疫过程的特征知识主动推送模型结构,实现特征知识的主动推送和原理的检验,进一步完成产品零件的三维模型知识重用。
为验证KMAIA的有效性,以摩托车制造企业中链轮产品10182条实际生产数据为例进行分析,并以Windows 7和Visual Studio 2008为开发环境,采用Java语言进行开发,并使用SQL Server 2008作为数据存储平台进行系统开发[10]。
如图6所示,该零件属于链轮,应用于摩托车驱动轮上,具有槽、孔等典型结构,且形状较为复杂,检验知识推送模型具有一定的典型性。选择链轮作为输入知识需求,获得该推送过程的详细信息和算法的比较,得到测试结果。
图6 IA和KMAIA特征知识推送对比
KMAIA算法是IA的改进算法,对此可进行特征知识的推送作用展开对比。该系统在产品零件设计、零件特征修改、底角和转角检验、粗糙度检查等方面可实现自动检测。系统针对不同的测试问题,给出了具有启发性的提示,并给出一定的建设性方案,记录在备注中,供参考和改进设计。
5 结论
文中针对产品设计过程知识推送问题设计了NX平台基于人工免疫原理的知识推送模型。该模型类似于机体免疫系统,通过知识需求模块、知识库模块、知识推送模块之间的协调合作与反馈补偿,极大的提高了系统知识获取的效率,并得到KMAIA算法,实现了机械产品设计知识的匹配求解,并保证知识获取的及时准确,获得较为满意的效果。
[1] 曹立志, 马新宇, 刘桂镗,等. 云环境下产品设计知识推送机制研究[J]. 组合机床与自动化加工技术, 2015(7):157-160.
[2] 董思洋, 许建新, 王克勤,等. CAD平台下基于免疫过程的知识主动推送模型[J]. 计算机集成制造系统, 2013, 19(7):1520-1531.
[3] Sung R C W, Ritchie J M, Lim T, et al. Automated generation of engineering rationale, knowledge and intent representations during the product life cycle[J]. Virtual Reality, 2012, 6(1) :69-85.
[4] 王占松, 田凌, 段文睿. 基于设计意图建模的知识推送技术[J]. 计算机集成制造系统, 2015, 21(3):606-617.
[5] 董思洋. 支持设计的制造知识类免疫推送技术研究[D]. 西安:西北工业大学, 2014.
[6] 陈倩, 杨育, 张雪峰,等. 客户协同产品开发模糊前端阶段创意知识获取[J]. 计算机辅助设计与图形学学报, 2017,29(1):145-154.
[7] 柳林. “风电齿轮箱”轴类产品设计工艺知识推送模型研究[D].重庆:重庆大学, 2015.
[8] 周明建, 廖强. 基于属性相似度的知识推送[J]. 计算机工程与应用, 2011, 47(32):135-137.
[9] Chandrasegaran S K, Ramani K, Sriram R D, et al. The evolution, challenges, and future of knowledge representation in product design systems[J]. Computer-Aided Design, 2013, 45(2):204-228.
[10] Xu Y, Yin G, Nie Y, et al. Research on an active knowledge push service based on collaborative intent capture[J]. Journal of Network & Computer pplications, 2013, 36(6):1418-1430.