一种利用基于关联规则的遗传算法进行仪表设计的方法

文档序号:6460456阅读:142来源:国知局
专利名称:一种利用基于关联规则的遗传算法进行仪表设计的方法
技术领域
本发明属于遗传算法领域,特别地,涉及一种利用基于关联规则的遗传算 法进行仪表设计的方法。技术背景仪表设计专家系统是一套利用已有的专家知识,借助计算机的计算能力, 并针对用户的特定需求进行仪表设计的系统。通过在知识库中存储仪表设计所 需要的元器件属性特征,仪表构成的基本规则等知识要素,并结合用户提出的 仪表功能、元器件需求以及功耗价格的要求,通过推理计算得出一个可供用户 使用的仪表设计方案。在仪表设计的过程中,由于仪表的组成元件数量以及每 个元器件的型号种类繁多,如果采用枚举法进行全部元器件组合的枚举,并评 估每一个组合是否符合客户需求是一项计算量极其巨大的工作,引入了遗传算 法来进行满足用户需求的可行解的求取。但是在实际应用中,仍然存在推理时 间过长,收敛速度过慢的问题。本发明在遗传算法中加入了基于关联规则的概 率变异,能够加快对最优解求取的速度。目前常用的遗传算法优化方法有-1. 免疫遗传算法,利用先验知识在遗传算法的推理过程中进行免疫接种和免 疫选择,从而加快算法的收敛速度。但是免疫遗传算法是在对随机交叉、变异 的基础上产生的个体,以及这些个体接种后的产生的新个体进行适应度计算, 再进行比较,当适应度计算函数较为复杂时,多次计算适应度将影响运行速度。2. 静态繁殖理论,在变异过程中,若子代比父代适应值更低,则保留父代。 这种方法虽然能保留更多的高适应值个体,但是限制了变异性,容易将求取过 程限制在某个局部最优解。3. 机器学习方法,首先在知识库中寻找是否有匹配解,有就直接作为结果, 没有则将这一解加入到初始种群。这种方法没有改变算法本身的特征,不能对 算法起到加速收敛的作用。发明内容本发明的目的在于针对现有技术的不足,提供一种利用基于关联规则的遗 传算法进行仪表设计的方法。本发明是通过挖掘已有知识库中的元器件关联属 性,并在遗传算法中的变异繁殖步骤中利用这些关联采取有针对性的遗传变异, 从而提高遗传算法的收敛速度。本发明解决其技术问题采用的技术方案步骤如下1) 生成初始群体在本仪表设计系统中,初始生成的个体总数为N个;2) 计算适应度,并裁减适应度排在最末的p。/。的个体;3) 以平均概率随机选取母体,如果母体不违反任何约束,则平均概率随机 选取另一个体进行交叉产生两个子女;如果母体有违反任一约束,则进行变异 繁殖,随机选取变异的节点后,按照下文所述概率进行节点变异;4) 当个体总数为N-l个时,以平均概率随机选取母体进行单亲繁殖,变异 概率同步骤3中的变异;5) 判断是否收敛,若不收敛,则转入步骤2。如果收敛,或者繁殖超过N 代,则终止;6) 将最优解提供作为解,并将此解添加到知识库;7) 定时重新进行关联规则挖掘,产生新的关联规则。 其中步骤3、 4中的概率求解过程如下首先系统利用关联规则挖掘手段从知识库中已有的仪表设计方案中获得不 同元器件之间的关联规则,形成一个关联规则库。关联规则记录的关联规则表 述形式如下[Cim=>Cjn, S%, C°/。],其中三个参数按顺序分别表示这一关联规则 是元器件C^和Cjn之间的关联规则、本条关联规则的支持度、本条关联规则的置 信度,&表示该元器件元器件是每一个遗传算法中个体的第j个节点中的元器件类型里Cj的第n个可选元器件,Cj中共有N个可选元器件;当遗传算法运算中需要计算个体某节点j上的元件变异到某个元件Cjn的概 率时,首先取出元器件类型Cj中所有的元器件Cjp Cj2...,然后取出当前个体除 节点j以外的所有节点上的元器件,分别和Cjp印...等组成[(^=>(^]这样的元器 件对,然后从关联规则库中取得所有可以匹配这些[(^=>(^]对的关联规则,对每 一个Cjn有多条关联规则的情况,只保留置信度最大的那条;由此得到一组包含节点j上可用的不同的元器件的关联规则的置信度记为 kin,每一个元器件只有一条关联规则,并且可能并非每一个可用元器件都有一条关联规则。对于Cj中N个可选元器件中没有出现在关联规则中的Cjn,记录k ;n = ;则变异时节点j变异为某一个Cjn的概率为^^'" — ^ 7 。JC=1本发明具有的有益效果是能够避免遗传算法中变异时的无选择性,通过 利用已有的知识进行最优的变异方向指导,加速遗传算法求取最优解的收敛速度。


图l是本发明的系统框架图; 图2是的发明的方法流程图。
具体实施方式
图l是方法具体实施的系统框架图,分解如下1) 由专家给出仪表设计的约束、可行解建议等加入知识库,成为设计系统的 基本知识,并在基本知识中,对已有的可行解进行一定程度的关联规则挖掘。2) 基本知识就位后,系统便允许用户根据自己的需求进行仪表参数配置,然 后提交系统进行推理。推理的过程中知识库提供初始可行解和约束的知识,关 联规则挖掘模块则给予关联规则的知识。3) 获得可行解时,将可行解加入数据库作为新的知识。4) 系统根据新加入的可行解和原有的可行解建议定时地进行关联规则挖掘 并更新关联规则。图2是可行解求取方法流程图。 方法中关联规则的求取方法定义如下 1) 在系统中,有k个不同类型的元器件集d,C2,.Ck。每一个元器件集由一定数量的该型元件组成,记为CHcu,Ci2,.Ci醒(i)),其中iG[l,k], num(i) 表示Ci中元器件的个数。62) 遗传算法中的个体e,由不同类型元器件组成,eiEdXC2X.,XCm,个体的 集合记为E={ei,e2..en },有Q X C2X.. X Cm。3) 约束是一个关于ei的函数,记为fj(ei), ei符合约束r』则巧(&)=0,反之则 巧(。=1。 一组约束集记为11={1^2..1^, w是约束的个数。W4) 可行解Si是满足所有约束的个体,SiEE,且1>70,) = 0,其中rjER。可行解集记为S={Sl,s2..sp},有S^E。5) 取两个元件Cim和Cjn,其中CimECj, iE[l,k], m E [ 1 ,num(i)] , Cj。ECj, jE[l,k], ne[l,num(j)], count(S)是可行解集合的元素个数,count(Cim)表示可行解 集中包含元器件cim的可行解个数,count(Cjn)表示可行解集中包含元器件cjn的可行解个数,COUnt(CimUCjn)表示可行解集中同时包含元器件Cim和Cjn的可行解个数。6) 以S为样本空间,支持度可由式(l)得置信度可由式(2)得7" COM/7"5")(1)c麵《c,'加uc力)" 謹,j7厄是最小支持度阈值,Ec是最小置信度阈值。如果support(Ci^X^^Es且 confidence (cim=>cjn)> E。则认为Cim-〉Cjn是有效的关联规则。8)定义8与元器件Ciy有效关联的全部关联规则的集合记为Aiy={(Cax=>Ciy) I c eLJCa, aE[l,k], support(Cax:〉Ciy)〉Es, confidence (Cax=>Ciy)>Ec},其中ci;yeCi,。 4= LM'^是与元器件组Ci中所有型号元器件有效关联的全部关联规则的集合。^:IJ4是全部的有效关联规则集合。方法中获取关联规则后,具体求解步骤如下1) 采用随机方式生成初始群体。在本仪表设计系统中,初始生成的个体总数 为N个。2) 利用元器件属性以及规则计算每一个个体的适应度,并裁减适应度排在最 末的pn/。的个体。3) 以平均概率随机选取母体,如果母体不违反任何约束,则平均概率随机选 取另一个体进行交叉产生两个子女。如果母体有违反任一约束,则进行变异繁殖,随即选取变异的节点后,按照下文所述的概率进行节点变异。4) 当个体总数为N-l个时,以平均概率随机选取母体进行单亲繁殖,变异概率同步骤3中的变异。5) 根据设定的收敛阈值判断是否收敛,若超过该阈值则不收敛,转入步骤2。 如果收敛,或者繁殖超过N代,则终止。6) 将最优解提供作为解,并将此解添加到知识库。7) 定时重新进行关联规则挖掘,产生新的关联规则。本方法的关键是在于步骤3和4中,单亲繁殖时,选定某个体第j个节点进 行变异时,节点j变异的概率按以下步骤求得,而不是按随机概率进行变异1) 若Aj不为空,在Aj中取出置信度最大的关联规则记为((^-X:jn)。若为空,转入6)。2) 检查第i个节点是否是cim,进入3)。3) 若是Cim,记录概率pjn-confidence (cim=>cjn)°/。,并在Aj中去除Ajn,当Aj 为空时,转入6),否则转入4)。若不是则Cim转入5)。4) 取Aj中置信度最大的规则(((^=>^),转入2)。5) 取Aj中次于前一个取出的关联规则的置信度的规则(Cim-X^),转入2)。若前一次取到的规则已经是置信度最小的,则转入6)。6) 剩余的Cj中每个可用元器件均记录平均概率pjn= 。在得到一组记录概率{^,&2.^0 1(0 }后,推理过程中个体ei的第j个DNA节点定向变异为Ci。的概率为f^'"—""^V^
权利要求
1. 一种利用基于关联规则的遗传算法进行仪表设计的方法,其特征在于,该方法包括以下步骤(1)生成初始群体在本仪表设计系统中,初始生成的个体总数为N个。(2)计算适应度,并裁减适应度排在最末的p%的个体。(3)以平均概率随机选取母体,如果母体不违反任何约束,则平均概率随机选取另一个体进行交叉产生两个子女;如果母体有违反任一约束,则进行变异繁殖,随机选取变异的节点后,按照变异概率进行节点变异。(4)当个体总数为N-1个时,以平均概率随机选取母体进行单亲繁殖,其变异概率与步骤(3)相同;(5)判断是否收敛,若不收敛,则转入步骤(2);如果收敛,或者繁殖超过N代,则终止。(6)将最优解提供作为解,并将此解添加到知识库。(7)定时重新进行关联规则挖掘,产生新的关联规则。
2. 根据权利要求1所述的利用基于关联规则的遗传算法进行仪表设计的方法,其 特征在于,所述步骤(3、 4)中的变异概率由如下方式求得首先系统利用关联规则挖掘手段从知识库中己有的仪表设计方案中获得不 同元器件之间的关联规则,形成一个关联规则库。关联规则记录的关联规则表述形式如下[Cim=>Cjn, S, k],其中三个参数按顺序分别表示这一关联规则是元 器件Cim和Cjn之间的关联规则、本条关联规则的支持度、本条关联规则的置信度, Cjn表示该元器件元器件是每一个遗传算法中个体的第j个节点中的元器件类型里Cj的第n个可选元器件,Cj中共有N个可选元器件;当遗传算法运算中需要计算个体某节点j上的元件变异到某个元件^的概 率时,首先取出元器件类型Cj中所有的元器件印,Cj2…,然后取出当前个体除 节点j以外的所有节点上的元器件,分别和Cjp化...等组成[(^->(^]这样的元器 件对,然后从关联规则库中取得所有可以匹配这些[Cx广〉CjJ对的关联规则,对每 一个Cjn有多条关联规则的情况,只保留置信度最大的那条;由此得到一组包含节点j上可用的不同的元器件的关联规则的置信度记为 kjn,每一个元器件只有一条关联规则,并且可能并非每一个可用元器件都有一条关联规则。对于C」中N个可选元器件中没有出现在关联规则中的Cjn,记录k,n=l;则变异时节点j变异为某一个&的概率为。<formula>formula see original document page 3</formula>
全文摘要
本发明公开了一种利用基于关联规则的遗传算法进行仪表设计的方法。本发明是通过挖掘已有知识库中的元器件关联属性,并在遗传算法中的变异繁殖步骤中利用这些关联采取有针对性的遗传变异,从而提高遗传算法的收敛速度。本发明利用已有的专家知识以及将运算结果加入知识库,不断的扩大知识库的容量,使得在知识库中的仪表设计可行解进行关联规则挖掘的结果更加的可靠。本发明同时在对遗传算法最优解的求取过程中,按照关联规则的置信度进行有选择的变异,能够加快算法的收敛速度,从提高在实际运用中仪表设计系统计算最优仪表方案的速度,解决批量设计仪表方案时的用户长时间等待的问题。
文档编号G06N3/12GK101276436SQ20081006139
公开日2008年10月1日 申请日期2008年4月25日 优先权日2008年4月25日
发明者寿黎但, 胡天磊, 铖 臧, 刚 陈, 珂 陈 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1