CN109033506B - 一种三值固定极性rm电路面积与功耗的优化方法 - Google Patents

一种三值固定极性rm电路面积与功耗的优化方法 Download PDF

Info

Publication number
CN109033506B
CN109033506B CN201810604464.1A CN201810604464A CN109033506B CN 109033506 B CN109033506 B CN 109033506B CN 201810604464 A CN201810604464 A CN 201810604464A CN 109033506 B CN109033506 B CN 109033506B
Authority
CN
China
Prior art keywords
polarity
chromosome
chromosomes
num
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810604464.1A
Other languages
English (en)
Other versions
CN109033506A (zh
Inventor
汪鹏君
王铭波
符强
张会红
李刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wenzhou University
Original Assignee
Wenzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wenzhou University filed Critical Wenzhou University
Priority to CN201810604464.1A priority Critical patent/CN109033506B/zh
Publication of CN109033506A publication Critical patent/CN109033506A/zh
Application granted granted Critical
Publication of CN109033506B publication Critical patent/CN109033506B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Geometry (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种三值固定极性RM电路面积与功耗的优化方法,采用Pareto准则,不需要多次设置电路面积与功耗的加权系数值就能获取电路的最佳极性集合,并且在非支配排序遗传算法中引入了差分学习机制,设置外部档案库用于存放非支配排序遗传算法在运行过程中每一代最优染色体的位置对应的极性,随机抽取第t‑1代染色体种群中num(rep)条染色体进行高斯变异产生变异染色体群体,然后从外部档案库和变异染色体群体分别随机抽取一定数量的染色体进行二项式交叉产生子代染色体群体,由此保证了非支配排序遗传算法的收敛性和多样性;优点是具有良好的优化效果和鲁棒性。

Description

一种三值固定极性RM电路面积与功耗的优化方法
技术领域
本发明涉及一种面积与功耗的优化方法,尤其是涉及一种三值固定极性RM电路面积与功耗的优化方法。
背景技术
Boolean逻辑和RM逻辑是三值逻辑函数的两种主要表现形式。与传统的Boolean逻辑电路相比,基于RM逻辑的电路(如奇偶校验电路、通信电路等)在面积、功耗、可测性等方面具有明显的优势。其中,三值固定极性RM函数表达式是三值RM逻辑函数中一种常见的逻辑表达式。n变量的三值RM逻辑函数共有3n个三值固定RM极性,不同极性代表不同的三值固定极性RM函数表达式,不同的三值固定极性RM函数表达式对应的三值固定极性电路的面积与功耗也不相同。因此,三值固定RM极性对于三值固定极性RM电路面积与功耗等性能指标的优化具有重要意义。
传统的三值固定极性RM电路面积与功耗的优化方法主要通过加权系数法设置面积与功耗不同的加权系数来搜索极性实现优化。但是该方法存在以下问题:一、加权系数较难选择,设置不同的加权系数,其最终结果可能不同;二、该方法通常只能获取部分最优解,对电路面积或功耗单一指标进行优化效果比较好,而三值固定极性RM电路面积与功耗最佳极性搜索问题是一个多目标优化问题,难以满足面积与功耗综合优化的需求。
多目标智能算法采用Pareto准则,避免加权系数法的加权系数设置问题,可以实现多个目标函数综合优化,近年来已取代加权系数法在求解多目标问题中得到广泛应用。其中,非支配排序遗传算法与其他同类的多目标智能算法相比,具有全局搜索能力较强和鲁棒性较好等特点,已被应用于三值固定极性RM电路面积与功耗的优化方法中。但是,采用非支配排序遗传算法的三值固定极性RM电路面积与功耗的优化方法存在以下问题:由于电路极性之间的关联性较差,相邻极性之间的电路面积和功耗差别较大,非支配排序遗传算法进行三值固定极性RM电路极性搜索时,通过精英保留策略,将非支配排序遗传算法搜索过程中每一个较优极性的极性位进行保留,而较差极性的极性位进行重组,由此导致非支配排序遗传算法的搜索空间减小,不容易搜索到电路的最优极性,并且,非支配排序遗传算法的交叉和变异算子的极性搜索能力较弱,也导致非支配排序遗传算法难以搜索到三值固定极性RM电路的最佳极性,以致电路面积与功耗的优化效果仍然较差。
发明内容
本发明所要解决的技术问题是提供一种可以搜索到三值固定极性RM电路的最佳极性集合,优化效果好的三值固定极性RM电路面积与功耗的优化方法。
本发明解决上述技术问题所采用的技术方案为:一种三值固定极性RM电路面积与功耗的优化方法,包括以下步骤:
(1)建立p极性下三值固定极性RM电路的面积估算模型和功耗估算模型,具体过程为:
a.将p极性下三值固定极性RM电路用三值固定极性RM函数表达式表示为:
Figure BDA0001693966100000021
其中,n为函数fp(xn-1,xn-2,…,x0)的输入变量的个数;xn-1,xn-2,…,x0为函数fp(xn-1,xn-2,…,x0)的n个输入变量;
Figure BDA0001693966100000022
为模3加运算符号,∑为累加符号;ci为与项系数,且ci∈{0,1,2};i为与项序数,i=0,1,2,…,3n-1,i用三进制可表示为in-1in-2…i0,ij∈{0,1,2},j=0,1,2,…,n-1;p为三值固定极性RM电路的极性,p用三进制可表示为pn-1pn-2…p0
Figure BDA0001693966100000023
为模3乘项,
Figure BDA0001693966100000024
为第j个模3乘项的幂形态,极性p和与项序数i决定了幂形态
Figure BDA0001693966100000025
的表示形式:
当pj=0时,
Figure BDA0001693966100000026
在模3乘项中以原幂形态
Figure BDA0001693966100000027
的形式出现,若ij=0,则
Figure BDA0001693966100000028
若ij=1,则
Figure BDA0001693966100000029
若ij=2,则
Figure BDA00016939661000000210
符号“·”为乘运算符号;
当pj=1时,
Figure BDA00016939661000000211
在模3乘项中以互补幂形态
Figure BDA00016939661000000212
的形式出现,若ij=0,则
Figure BDA00016939661000000213
若ij=1,则
Figure BDA0001693966100000031
若ij=2,则
Figure BDA0001693966100000032
当pj=2时,
Figure BDA0001693966100000033
在模3乘项中以互补幂形态
Figure BDA0001693966100000034
的形式出现,若ij=0,则
Figure BDA0001693966100000035
若ij=1,则
Figure BDA0001693966100000036
若ij=2,则
Figure BDA0001693966100000037
b.p极性下三值固定极性RM电路由多输入模3加项和多输入模3乘项组成,将多输入模3加项看作多输入模3加门,多输入模3乘项看作多输入模3乘门,首先采用类Huffman算法将p极性下三值固定极性RM函数表达式的三值固定极性RM电路内包含的所有多输入模3乘门分解为二输入模3乘门,将分解得到的二输入模3乘门的数量记为No.Mod_3M;然后再采用类Huffman算法将p极性下三值固定极性RM电路内包含的所有多输入模3加门分解为二输入模3加门,将分解得到的二输入模3加门的数量记为No.Mod_3A;
c.将p极性下三值固定极性RM电路的面积记为area(p),p极性下三值固定极性RM电路的面积估算模型为:
area(p)=No.Mod_3A+No.Mod_3M (2)
d.将分解完的p极性下三值固定极性RM电路中所有二输入模3加门和二输入模3乘门引起的功耗作为p极性下的三值固定极性RM电路的功耗,其中二输入模3加门和二输入模3乘门引起的功耗分别采用其开关活动性表示,而二输入模3加门的开关活动性采用该二输入模3加门的输出变量概率表示,二输入模3乘门的开关活动性采用该二输入模3乘门的输出变量概率表示;
根据公式(3)、(4)和(5)计算分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量概率,k=1,2,…,No.Mod_3M;
Figure BDA0001693966100000038
Figure BDA0001693966100000039
Figure BDA00016939661000000310
其中,
Figure BDA00016939661000000311
表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为1的概率,
Figure BDA00016939661000000312
表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为2的概率,
Figure BDA00016939661000000313
表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为0的概率,Pk1-1表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第一个输入变量为1的概率,Pk1-2表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第一个输入变量为2的概率,Pk2-1表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第二个输入变量为1的概率,Pk2-2表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第二个输入变量为2的概率,Pk1-1、Pk1-2、Pk2-1和Pk2-2分别为通过随机函数产生的位于0~1之间的随机数;
根据公式(6)、(7)和(8)计算分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量概率;g=1,2,…,No.Mod_3A;
Figure BDA0001693966100000041
Figure BDA0001693966100000042
Figure BDA0001693966100000043
其中,
Figure BDA0001693966100000044
表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为1的概率,
Figure BDA0001693966100000045
表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为2的概率,
Figure BDA0001693966100000046
表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为0的概率,Qg1-1表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第一个输入变量为1的概率,Qg1-2表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第一个输入变量为2的概率,Qg2-1表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第二个输入变量为1的概率,Qg2-2表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第二个输入变量为2的概率;Qg1-1、Qg1- 2Qg2-1和Qg2-2分别为通过随机函数产生的位于0~1之间的随机数;
e.根据分解完的p极性下三值固定极性RM电路中二输入模3加门的输出变量概率和二输入模3乘门的输出变量概率值计算三值固定极性RM电路的功耗,得到p极性下三值固定极性RM电路的功耗估算模型为:
Figure BDA0001693966100000051
(2)构建非支配排序遗传算法与三值固定极性RM电路的面积与功耗优化的关联:将非支配排序遗传算法中染色体表示为三值固定极性RM电路的极性,染色体的位置表示为极性对应的n位三进制数,染色体的搜索空间表示为三值固定极性RM电路可选择极性的空间;
(3)采用非支配排序遗传算法搜索三值固定极性RM电路面积与功耗的Pareto最佳极性解集,具体过程为:
Step1:设置染色体种群中染色体的数量为M,M为大于等于20且小于等于100的偶数,每条染色体的位置分别为三值固定极性RM电路中某一极性对应的n位三进制数,设置非支配排序遗传算法的迭代总次数为T,T为大于等于100小于等于500的整数,设定当代迭代次数为变量t,初始化变量t,令变量t=0,初始化每一条染色体的位置;通过列表技术得到当代染色体种群中每一条染色体的位置对应极性下的三值固定极性RM函数表达式,按照上述步骤b~步骤e的方法得到各极性下三值固定极性RM电路的面积与功耗;
Step2:设定极性支配规则:将染色体种群中任意两条染色体的位置对应的极性记为P1和P2,若P1和P2满足:
Figure BDA0001693966100000052
则认定P1支配P2,记作P1>P2,此时P1对应的染色体支配P2对应的染色体;当极性P1不被当前染色体种群中其他任何染色体的位置对应的极性支配时,则将P1作为满足三值固定极性RM电路面积与功耗Pareto关系的最佳极性之一;
Step3:采用极性支配规则将当前染色体种群中每条染色体的位置对应的极性分别与当前染色体种群中其他染色体的位置对应的极性进行比较,统计每条染色体被其他染色体支配的次数,根据每条染色体被其他染色体支配的次数确定每条染色体的非支配级数,若当前染色体种群中某一条染色体不被其他染色体支配,则将该染色体的非支配级数设定为最小级数,其他染色体的非支配级数随着它被支配的次数的增加而增加,如果有多个染色体被其他染色体支配的次数相同,则这些染色体的非支配级数也相同,获取当前染色体种群中非支配级数最小的染色体并采用这些染色体构成当前最优染色体集合;
Step4:设置一个用于存放当前最佳极性的外部档案库,将该外部档案库的能够存放的极性数量记为num(rep),num(rep)为大于等于10且小于等于M的整数,将存放有第t代最佳极性的外部档案库称为第t代外部档案库;
Step5:统计当前最优染色体集合中染色体的数量,若当前最优染色体集合中染色体的数量小于等于num(rep),则将当前最优染色体集合中染色体的位置对应的极性全部放入外部档案库中,若当前最优染色体集合中染色体的数量大于num(rep),则计算当前最优染色体集合中每条染色体的位置的拥挤距离,并按照拥挤距离从高到低的顺序选择num(rep)条染色体,将这些染色体的位置对应的极性放入外部档案库中,得到第t代外部档案库;
Step6:采用变量t的当前值加1后的值去更新变量t,得到更新后的t,将更新后的t作为当代迭代次数,对染色体种群进行第t次迭代,得到第t代染色体种群,对染色体种群进行第t次迭代的具体过程为:
A.从第t-1代染色体种群中随机抽取num(rep)条染色体,将这num(rep)条染色体的位置的第1位~第n位分别进行高斯变异得到num(rep)条变异染色体,采用num(rep)条变异染色体构成第t代变异染色体群体Mut(t),其中高斯变异的具体过程为:
A-1.根据公式(11)分别计算得到从第t-1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位的变异参量:
Muthq(t)=round(Phq(t-1)+gaussrand(0,1)) (11)
其中,Muthq(t)表示从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位的变异参量,Phq(t-1)表示从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位,h=1,2,…,num(rep),q=1,2,…,n,gaussrand(0,1)表示服从均值为0且方差为1的一个随机数,round(·)表示对Phq(t-1)+gaussrand(0,1)的值进行四舍五入操作,取为整数;
A-2.按照以下规则对从第t-1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位进行变异:如果Muthq(t)大于2,则将从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位更新为2,如果Muthq(t)小于0,则将从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位更新为0,如果Muthq(t)大于等于0且小于等于2,则从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位保持不变;
A-3.按照步骤A-1和步骤A-2依次完成从第t-1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位的更新,将更新后的从第t-1代染色体种群中随机抽取的num(rep)条染色体作为num(rep)条变异染色体,得到num(rep)条变异染色体;
B.从第t-1代外部档案库和第t代变异染色体群体中分别随机抽取num(Q)条染色体,其中num(Q)的取值大于等于10且小于等于num(rep),对抽取的2·num(Q)条染色体的位置的第1位~第n位分别进行二项式交叉操作,对从第t-1代外部档案库随机抽取的num(Q)条染色体进行更新,将更新后的从第t-1代外部档案库随机抽取的num(Q)条染色体作为num(Q)条子代染色体,得到num(Q)条子代染色体,采用得到的num(Q)条子代染色体构成第t代子代染色体群体Q(t),所述的二项式交叉操作法的具体过程为:
B-1.采用一个随机函数依次产生2·num(Q)个随机数数组,每个随机数数组中包含n个大于等于0且小于等于1的随机数,采用得到的2·num(Q)个随机数数组中前num(Q)个随机数数组构建第一个随机数数组集randc,采用得到的2·num(Q)个随机数数组中后num(Q)个随机数数组构建第二个随机数数组集pcrosser,其中第一个随机数数组集randc中第a个随机数数组中第b个随机数记为randcab,第二个随机数数组集pcrosser中第a个随机数数组中第b个随机数记为pcrosser,ab,a=1,2,…,num(Q),b=1,2,…,n;
B-2.采用一个随机函数依次产生num(Q)个随机数数组,每个随机数数组中包含n个大于等于1且小于等于n的不重复的随机数整数,采用这num(Q)个随机数数组构建第三个随机数数组集randd,将第三个随机数数组集randd中第a个随机数数组中第b个随机数记为randdab
B-3.将从第t-1代外部档案库随机抽取的num(Q)条染色体中第a条染色体位置的第b位记为Rab(t-1),将从第t代变异染色体群体Mut(t)中抽取的num(Q)条染色体中第a条染色体位置的第b位记为Mutab(t);
B-4.比较第一个随机数数组randc中第a个随机数数组的第b个随机数和第二个随机数数组pcrosser中第a个随机数数组的第b个随机数,同时判断第三个随机数数组randd中第a个随机数数组的第b个随机数是否等于b,若randcab≤pcrosser,ab和randdab=b中的至少一个条件成立,则从第t-1代外部档案库随机抽取的第a条染色体的第b位Rab(t-1)的值保持不变,若randcab>pcrosser,ab和randdab≠b中的至少一个条件成立,则将从第t代变异染色体群体中随机抽取的第a条染色体的第b位Mutab(t)的值赋值给从第t-1代外部档案库随机抽取的第a条染色体的第b位Rab(t-1),对从第t-1代外部档案库随机抽取的第a条染色体的第b位进行更新;
B-5.按照步骤B-1和步骤B-4依次完成从第t-1代外部档案库随机抽取的num(Q)条染色体的第1位~第n位的更新,将更新后的从第t-1代外部档案库随机抽取的num(Q)条染色体作为num(Q)条子代染色体,得到num(Q)条子代染色体;
C.通过列表技术得到第t代变异染色体群体和第t代子代染色体群体中每一条染色体的位置对应极性下的三值固定极性RM函数表达式,并按照上述步骤b~步骤e得到各极性下三值固定极性RM电路的面积与功耗大小;
D.将第t-1代染色体种群、第t代变异染色体群体和第t代子代染色体群体中的所有染色体作为第一个新染色体种群,采用步骤Step2和步骤Step3相同的方法得到该第一个新染色体种群中每一条染色体的非支配级数,从该第一个新染色体种群中按照非支配级数从低到高的顺序选择M条染色体,若非支配级数从最低到某一非支配级数内所有染色体的数量正好等于M,则采用这M条染色体构建得到第t代染色体种群;若非支配级数从最低到某一非支配级数内所有染色体的数量小于M,而非支配级数从最低到某一非支配级数的高一支配级数内所有染色体的数量大于M,此时计算某一非支配级数的高一支配级数内所有染色体的拥挤距离,并按照拥挤距离从高到低的顺序选择相应数量的染色体,使非支配级数从最低到某一非支配级数内的染色体的数量与从某一非支配级数的高一支配级数内选择的染色体的数量之和等于M,采用这M条染色体构建得到第t代染色体种群;
Step7:对外部档案库进行更新,具体过程为:将第t代染色体种群和第t-1代外部档案库中所有极性对应的染色体作为第二个新染色体群体,采用步骤Step2和步骤Step3相同的方法得到该第二个新染色体种群中每一条染色体的非支配级数,将第t-1代外部档案库中的极性清空,统计该第二个新染色体群体中非支配级数最低的染色体数量,如果该第二个新染色体群体中非支配级数最低的染色体数量小于等于num(rep),则将该第二个新染色体群体中所有非支配级数最低的染色体对应的极性放入外部档案库中,得到第t代外部档案库;如果该第二个新染色体群体中非支配级数最低的染色体数量大于num(rep),则计算每条非支配级数最低的染色体的位置的拥挤距离,并按照拥挤距离从高到低的顺序选择num(rep)个非支配级数最低的染色体,将选择的num(rep)个非支配级数最低的染色体对应的极性放入外部档案库中,得到第t代外部档案库;
Step8:判断t是否等于T,如果等于,则此时第t代外部档案库存储的极性即为满足三值固定极性RM电路面积与功耗Pareto关系的最佳极性集合,优化结束,如果不等于,则返回步骤Step6,进入下一次迭代更新。
所述的步骤D和所述的步骤Step7中计算染色体的位置的拥挤距离的方法与所述的步骤Step5中计算染色体的位置的拥挤距离的方法相同,其中所述的步骤Step5中计算当前最优染色体集合中每条染色体的位置的拥挤距离的具体过程为:
Step5-1.将当前最优染色体集合中染色体的数量记为size(rep);
Step5-2.按照步骤b和步骤e的方法计算当前最优染色体集合中每条染色体的位置对应极性下三值FPRM电路的面积大小和功耗大小,将这些染色体按照面积从小到大的顺序进行排序,并将当前排在第z位的染色体的拥挤距离记为distancez(0),z=1,2,…,size(rep);
Step5-3.令排在第1位的染色体的拥挤距离distance1(0)=10000,排在第size(rep)位的染色体的拥挤距离distancesize(rep)(0)=10000;
Step5-4.采用公式(12)分别计算排在第2位~第size(rep)-1位的染色体的拥挤距离:
Figure BDA0001693966100000091
其中,v=2,3,…,size(rep)-1,distancev(0)表示排在第v位的染色体的拥挤距离,areav+1(0)表示排在第v+1位的染色体的位置对应极性下的三值FPRM电路的面积大小,areav-1(0)表示排在第v-1位的染色体的位置对应极性下的三值FPRM电路的面积大小,max(area(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的面积大小的最大值,min(area(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的面积大小的最小值,powerv+1(0)表示排在第v+1位的染色体的位置对应极性下的三值FPRM电路的功耗大小,powerv-1(0)表示排在第v-1位的染色体的位置对应极性下的三值FPRM电路的功耗大小,max(power(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的功耗的最大值,min(power(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的功耗的最小值。
与现有技术相比,本发明的优点在于采用Pareto准则,不需要多次设置电路面积与功耗的加权系数值就能获取电路的最佳极性集合,并且在非支配排序遗传算法中引入了差分学习机制,设置外部档案库用于存放非支配排序遗传算法在运行过程中每一代最优染色体的位置对应的极性,随机抽取第t-1代染色体种群中num(rep)条染色体进行高斯变异产生变异染色体群体,然后从外部档案库和变异染色体群体分别随机抽取一定数量的染色体进行二项式交叉产生子代染色体群体,由此保证了非支配排序遗传算法的收敛性和多样性,通过对14个Benchmark电路进行测试,本发明的三值固定极性RM电路面积与功耗的优化方法与采用GA算法和NSGA-II算法的面积与功耗的优化方法相比,具有良好的优化效果和鲁棒性。
附图说明
图1为本发明的优化方法与现有的两种优化方法的面积迭代进化曲线;
图2为本发明的优化方法与现有的两种优化方法的功耗迭代进化曲线。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
实施例一:一种三值固定极性RM电路面积与功耗的优化方法,包括以下步骤:
(1)建立p极性下三值固定极性RM电路的面积估算模型和功耗估算模型,具体过程为:
a.将p极性下三值固定极性RM电路用三值固定极性RM函数表达式表示为:
Figure BDA0001693966100000101
其中,n为函数fp(xn-1,xn-2,…,x0)的输入变量的个数;xn-1,xn-2,…,x0为函数fp(xn-1,xn-2,…,x0)的n个输入变量;
Figure BDA0001693966100000111
为模3加运算符号,∑为累加符号;ci为与项系数,且ci∈{0,1,2};i为与项序数,i=0,1,2,…,3n-1,i用三进制可表示为in-1in-2…i0,ij∈{0,1,2},j=0,1,2,…,n-1;p为三值固定极性RM电路的极性,p用三进制可表示为pn-1pn-2…p0
Figure BDA0001693966100000112
为模3乘项,
Figure BDA0001693966100000113
为第j个模3乘项的幂形态,极性p和与项序数i决定了幂形态
Figure BDA0001693966100000114
的表示形式:
当pj=0时,
Figure BDA0001693966100000115
在模3乘项中以原幂形态
Figure BDA0001693966100000116
的形式出现,若ij=0,则
Figure BDA0001693966100000117
若ij=1,则
Figure BDA0001693966100000118
若ij=2,则
Figure BDA0001693966100000119
符号“·”为乘运算符号;
当pj=1时,
Figure BDA00016939661000001110
在模3乘项中以互补幂形态
Figure BDA00016939661000001111
的形式出现,若ij=0,则
Figure BDA00016939661000001112
若ij=1,则
Figure BDA00016939661000001113
若ij=2,则
Figure BDA00016939661000001114
当pj=2时,
Figure BDA00016939661000001115
在模3乘项中以互补幂形态
Figure BDA00016939661000001116
的形式出现,若ij=0,则
Figure BDA00016939661000001117
若ij=1,则
Figure BDA00016939661000001118
若ij=2,则
Figure BDA00016939661000001119
b.p极性下三值固定极性RM电路由多输入模3加项和多输入模3乘项组成,将多输入模3加项看作多输入模3加门,多输入模3乘项看作多输入模3乘门,首先采用类Huffman算法将p极性下三值固定极性RM函数表达式的三值固定极性RM电路内包含的所有多输入模3乘门分解为二输入模3乘门,将分解得到的二输入模3乘门的数量记为No.Mod_3M;然后再采用期刊《电路与系统学报》2012年第17卷第5期,第75页-第80页中公开的“基于PSO算法的FPRM电路延时与面积优化”(作者分别是王振海,汪鹏君,俞海珍等)中记载的类Huffman算法将p极性下三值固定极性RM电路内包含的所有多输入模3加门分解为二输入模3加门,将分解得到的二输入模3加门的数量记为No.Mod_3A;
c.将p极性下三值固定极性RM电路的面积记为area(p),p极性下三值固定极性RM电路的面积估算模型为:
area(p)=No.Mod_3A+No.Mod_3M (2)
d.将分解完的p极性下三值固定极性RM电路中所有二输入模3加门和二输入模3乘门引起的功耗作为p极性下的三值固定极性RM电路的功耗,其中二输入模3加门和二输入模3乘门引起的功耗分别采用其开关活动性表示,而二输入模3加门的开关活动性采用该二输入模3加门的输出变量概率表示,二输入模3乘门的开关活动性采用该二输入模3乘门的输出变量概率表示;
根据公式(3)、(4)和(5)计算分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量概率,k=1,2,…,No.Mod_3M;
Figure BDA0001693966100000121
Figure BDA0001693966100000122
Figure BDA0001693966100000123
其中,
Figure BDA0001693966100000124
表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为1的概率,
Figure BDA0001693966100000125
表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为2的概率,
Figure BDA0001693966100000126
表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为0的概率,Pk1-1表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第一个输入变量为1的概率,Pk1-2表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第一个输入变量为2的概率,Pk2-1表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第二个输入变量为1的概率,Pk2-2表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第二个输入变量为2的概率,Pk1-1、Pk1-2、Pk2-1和Pk2-2分别为通过随机函数产生的位于0~1之间的随机数;
根据公式(6)、(7)和(8)计算分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量概率;g=1,2,…,No.Mod_3A;
Figure BDA0001693966100000127
Figure BDA0001693966100000128
Figure BDA0001693966100000129
其中,
Figure BDA00016939661000001210
表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为1的概率,
Figure BDA0001693966100000131
表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为2的概率,
Figure BDA0001693966100000132
表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为0的概率,Qg1-1表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第一个输入变量为1的概率,Qg1-2表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第一个输入变量为2的概率,Qg2-1表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第二个输入变量为1的概率,Qg2-2表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第二个输入变量为2的概率;Qg1-1、Qg1- 2Qg2-1和Qg2-2分别为通过随机函数产生的位于0~1之间的随机数;
e.根据分解完的p极性下三值固定极性RM电路中二输入模3加门的输出变量概率和二输入模3乘门的输出变量概率值计算三值固定极性RM电路的功耗,得到p极性下三值固定极性RM电路的功耗估算模型为:
Figure BDA0001693966100000133
(2)构建非支配排序遗传算法与三值固定极性RM电路的面积与功耗优化的关联:将非支配排序遗传算法中染色体表示为三值固定极性RM电路的极性,染色体的位置表示为极性对应的n位三进制数,染色体的搜索空间表示为三值固定极性RM电路可选择极性的空间;
(3)采用非支配排序遗传算法搜索三值固定极性RM电路面积与功耗的Pareto最佳极性解集,具体过程为:
Step1:设置染色体种群中染色体的数量为M,M为大于等于20且小于等于100的偶数,每条染色体的位置分别为三值固定极性RM电路中某一极性对应的n位三进制数,设置非支配排序遗传算法的迭代总次数为T,T为大于等于100小于等于500的整数,设定当代迭代次数为变量t,初始化变量t,令变量t=0,初始化每一条染色体的位置;通过列表技术得到当代染色体种群中每一条染色体的位置对应极性下的三值固定极性RM函数表达式,按照上述步骤b~步骤e的方法得到各极性下三值固定极性RM电路的面积与功耗;
Step2:设定极性支配规则:将染色体种群中任意两条染色体的位置对应的极性记为P1和P2,若P1和P2满足:
Figure BDA0001693966100000141
则认定P1支配P2,记作P1>P2,此时P1对应的染色体支配P2对应的染色体;当极性P1不被当前染色体种群中其他任何染色体的位置对应的极性支配时,则将P1作为满足三值固定极性RM电路面积与功耗Pareto关系的最佳极性之一;
Step3:采用极性支配规则将当前染色体种群中每条染色体的位置对应的极性分别与当前染色体种群中其他染色体的位置对应的极性进行比较,统计每条染色体被其他染色体支配的次数,根据每条染色体被其他染色体支配的次数确定每条染色体的非支配级数,若当前染色体种群中某一条染色体不被其他染色体支配,则将该染色体的非支配级数设定为最小级数,其他染色体的非支配级数随着它被支配的次数的增加而增加,如果有多个染色体被其他染色体支配的次数相同,则这些染色体的非支配级数也相同,获取当前染色体种群中非支配级数最小的染色体并采用这些染色体构成当前最优染色体集合;
Step4:设置一个用于存放当前最佳极性的外部档案库,将该外部档案库的能够存放的极性数量记为num(rep),num(rep)为大于等于10且小于等于M的整数,将存放有第t代最佳极性的外部档案库称为第t代外部档案库;
Step5:统计当前最优染色体集合中染色体的数量,若当前最优染色体集合中染色体的数量小于等于num(rep),则将当前最优染色体集合中染色体的位置对应的极性全部放入外部档案库中,若当前最优染色体集合中染色体的数量大于num(rep),则计算当前最优染色体集合中每条染色体的位置的拥挤距离,并按照拥挤距离从高到低的顺序选择num(rep)条染色体,将这些染色体的位置对应的极性放入外部档案库中,得到第t代外部档案库;
Step6:采用变量t的当前值加1后的值去更新变量t,得到更新后的t,将更新后的t作为当代迭代次数,对染色体种群进行第t次迭代,得到第t代染色体种群,对染色体种群进行第t次迭代的具体过程为:
A.从第t-1代染色体种群中随机抽取num(rep)条染色体,将这num(rep)条染色体的位置的第1位~第n位分别进行高斯变异得到num(rep)条变异染色体,采用num(rep)条变异染色体构成第t代变异染色体群体Mut(t),其中高斯变异的具体过程为:
A-1.根据公式(11)分别计算得到从第t-1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位的变异参量:
Muthq(t)=round(Phq(t-1)+gaussrand(0,1)) (11)
其中,Muthq(t)表示从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位的变异参量,Phq(t-1)表示从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位,h=1,2,…,num(rep),q=1,2,…,n,gaussrand(0,1)表示服从均值为0且方差为1的一个随机数,round(·)表示对Phq(t-1)+gaussrand(0,1)的值进行四舍五入操作,取为整数;
A-2.按照以下规则对从第t-1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位进行变异:如果Muthq(t)大于2,则将从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位更新为2,如果Muthq(t)小于0,则将从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位更新为0,如果Muthq(t)大于等于0且小于等于2,则从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位保持不变;
A-3.按照步骤A-1和步骤A-2依次完成从第t-1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位的更新,将更新后的从第t-1代染色体种群中随机抽取的num(rep)条染色体作为num(rep)条变异染色体,得到num(rep)条变异染色体;
B.从第t-1代外部档案库和第t代变异染色体群体中分别随机抽取num(Q)条染色体,其中num(Q)的取值大于等于10且小于等于num(rep),对抽取的2·num(Q)条染色体的位置的第1位~第n位分别进行二项式交叉操作,对从第t-1代外部档案库随机抽取的num(Q)条染色体进行更新,将更新后的从第t-1代外部档案库随机抽取的num(Q)条染色体作为num(Q)条子代染色体,得到num(Q)条子代染色体,采用得到的num(Q)条子代染色体构成第t代子代染色体群体Q(t),二项式交叉操作法的具体过程为:
B-1.采用一个随机函数依次产生2·num(Q)个随机数数组,每个随机数数组中包含n个大于等于0且小于等于1的随机数,采用得到的2·num(Q)个随机数数组中前num(Q)个随机数数组构建第一个随机数数组集randc,采用得到的2·num(Q)个随机数数组中后num(Q)个随机数数组构建第二个随机数数组集pcrosser,其中第一个随机数数组集randc中第a个随机数数组中第b个随机数记为randcab,第二个随机数数组集pcrosser中第a个随机数数组中第b个随机数记为pcrosser,ab,a=1,2,…,num(Q),b=1,2,…,n;
B-2.采用一个随机函数依次产生num(Q)个随机数数组,每个随机数数组中包含n个大于等于1且小于等于n的不重复的随机数整数,采用这num(Q)个随机数数组构建第三个随机数数组集randd,将第三个随机数数组集randd中第a个随机数数组中第b个随机数记为randdab
B-3.将从第t-1代外部档案库随机抽取的num(Q)条染色体中第a条染色体位置的第b位记为Rab(t-1),将从第t代变异染色体群体Mut(t)中抽取的num(Q)条染色体中第a条染色体位置的第b位记为Mutab(t);
B-4.比较第一个随机数数组randc中第a个随机数数组的第b个随机数和第二个随机数数组pcrosser中第a个随机数数组的第b个随机数,同时判断第三个随机数数组randd中第a个随机数数组的第b个随机数是否等于b,若randcab≤pcrosser,ab和randdab=b中的至少一个条件成立,则从第t-1代外部档案库随机抽取的第a条染色体的第b位Rab(t-1)的值保持不变,若randcab>pcrosser,ab和randdab≠b中的至少一个条件成立,则将从第t代变异染色体群体中随机抽取的第a条染色体的第b位Mutab(t)的值赋值给从第t-1代外部档案库随机抽取的第a条染色体的第b位Rab(t-1),对从第t-1代外部档案库随机抽取的第a条染色体的第b位进行更新;
B-5.按照步骤B-1和步骤B-4依次完成从第t-1代外部档案库随机抽取的num(Q)条染色体的第1位~第n位的更新,将更新后的从第t-1代外部档案库随机抽取的num(Q)条染色体作为num(Q)条子代染色体,得到num(Q)条子代染色体;
C.通过列表技术得到第t代变异染色体群体和第t代子代染色体群体中每一条染色体的位置对应极性下的三值固定极性RM函数表达式,并按照上述步骤b~步骤e得到各极性下三值固定极性RM电路的面积与功耗大小;
D.将第t-1代染色体种群、第t代变异染色体群体和第t代子代染色体群体中的所有染色体作为第一个新染色体种群,采用步骤Step2和步骤Step3相同的方法得到该第一个新染色体种群中每一条染色体的非支配级数,从该第一个新染色体种群中按照非支配级数从低到高的顺序选择M条染色体,若非支配级数从最低到某一非支配级数内所有染色体的数量正好等于M,则采用这M条染色体构建得到第t代染色体种群;若非支配级数从最低到某一非支配级数内所有染色体的数量小于M,而非支配级数从最低到某一非支配级数的高一支配级数内所有染色体的数量大于M,此时计算某一非支配级数的高一支配级数内所有染色体的拥挤距离,并按照拥挤距离从高到低的顺序选择相应数量的染色体,使非支配级数从最低到某一非支配级数内的染色体的数量与从某一非支配级数的高一支配级数内选择的染色体的数量之和等于M,采用这M条染色体构建得到第t代染色体种群;
Step7:对外部档案库进行更新,具体过程为:将第t代染色体种群和第t-1代外部档案库中所有极性对应的染色体作为第二个新染色体群体,采用步骤Step2和步骤Step3相同的方法得到该第二个新染色体种群中每一条染色体的非支配级数,将第t-1代外部档案库中的极性清空,统计该第二个新染色体群体中非支配级数最低的染色体数量,如果该第二个新染色体群体中非支配级数最低的染色体数量小于等于num(rep),则将该第二个新染色体群体中所有非支配级数最低的染色体对应的极性放入外部档案库中,得到第t代外部档案库;如果该第二个新染色体群体中非支配级数最低的染色体数量大于num(rep),则计算每条非支配级数最低的染色体的位置的拥挤距离,并按照拥挤距离从高到低的顺序选择num(rep)个非支配级数最低的染色体,将选择的num(rep)个非支配级数最低的染色体对应的极性放入外部档案库中,得到第t代外部档案库;
Step8:判断t是否等于T,如果等于,则此时第t代外部档案库存储的极性即为满足三值固定极性RM电路面积与功耗Pareto关系的最佳极性集合,优化结束,如果不等于,则返回步骤Step6,进入下一次迭代更新。
实施例二:本实施例与实施例一基本相同,区别仅在于:本实施例中,步骤D和步骤Step7中计算染色体的位置的拥挤距离的方法与步骤Step5中计算染色体的位置的拥挤距离的方法相同,其中步骤Step5中计算当前最优染色体集合中每条染色体的位置的拥挤距离的具体过程为:
Step5-1.将当前最优染色体集合中染色体的数量记为size(rep);
Step5-2.按照步骤b和步骤e的方法计算当前最优染色体集合中每条染色体的位置对应极性下三值FPRM电路的面积大小和功耗大小,将这些染色体按照面积从小到大的顺序进行排序,并将当前排在第z位的染色体的拥挤距离记为distancez(0),z=1,2,…,size(rep);
Step5-3.令排在第1位的染色体的拥挤距离distance1(0)=10000,排在第size(rep)位的染色体的拥挤距离distancesize(rep)(0)=10000;
Step5-4.采用公式(12)分别计算排在第2位~第size(rep)-1位的染色体的拥挤距离:
Figure BDA0001693966100000181
其中,v=2,3,…,size(rep)-1,distancev(0)表示排在第v位的染色体的拥挤距离,areav+1(0)表示排在第v+1位的染色体的位置对应极性下的三值FPRM电路的面积大小,areav-1(0)表示排在第v-1位的染色体的位置对应极性下的三值FPRM电路的面积大小,max(area(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的面积大小的最大值,min(area(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的面积大小的最小值,powerv+1(0)表示排在第v+1位的染色体的位置对应极性下的三值FPRM电路的功耗大小,powerv-1(0)表示排在第v-1位的染色体的位置对应极性下的三值FPRM电路的功耗大小,max(power(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的功耗的最大值,min(power(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的功耗的最小值。
本发明的一种三值固定极性RM电路面积与功耗的优化方法(简称DNSGA-II算法)在Windows 10操作系统下,通过VC6.0编译。程序的硬件环境为Intel Core i7-6700HQ CPU(2.6GHz),8G RAM。为了验证本发明的三值固定极性RM电路面积与功耗的优化方法在解决三值固定极性RM电路面积与功耗优化问题的有效性,将本发明的三值固定极性RM电路面积与功耗的优化方法与采用NSGA-II算法(传统的非支配排序遗传算法)和GA算法(传统的遗传算法)的优化方法进行面积与功耗优化方面的对比分析。参数设置如下:本发明的三值固定极性RM电路面积与功耗的优化方法和NSGA-II算法均采用多目标优化思想搜索最优解集,外部档案库的规模num(rep)和num(Q)均为20。GA算法采用加权系数法搜索最佳极性,其面积与功耗的权重参数均为0.5。其余参数三个算法相同:种群规模M为40,最大迭代次数T为120代。
表1给出了DNSGA-II算法、NSGA-II算法以及GA算法三种算法各自运行Benchmark电路获取最佳极性的电路面积和功耗。其中,列1表示电路名称,列2表示电路输入变量个数,列3表示GA算法运行5次最佳极性电路面积的累加值,列4表示GA算法运行5次最佳极性电路功耗的累加值,列5表示NSGA-II算法运行5次最佳极性电路面积的累加值,列6表示NSGA-II算法运行5次最佳极性电路功耗的累加值,列7表示DNSGA-II算法运行5次最佳极性电路面积的累加值,列8表示DNSGA-II算法运行5次最佳极性电路功耗的累加值,列9表示DNSGA-II算法比GA算法面积累加值的优化率,列10表示DNSGA-II算法比GA算法功耗累加值的优化率,列11表示DNSGA-II算法比NSGA-II算法面积累加值的优化率,和列12表示DNSGA-II算法比NSGA-II算法功耗累加值的优化率;
其计算公式分别为:
Figure BDA0001693966100000191
Figure BDA0001693966100000192
其中,area1(power1)表示GA算法5次搜索到最佳极性电路面积与功耗的累加值,area2(power2)表示NSGA-II算法5次搜索到最佳极性电路面积与功耗的累加值,area3(power3)表示DNSGA-II算法5次搜索到最佳极性电路面积与功耗的累加值。
在实验中结果对比中,由于GA算法采用加权系数法搜搜单一最佳极性,而NSGA-II算法和DNSGA-II算法采用多目标优化方法搜索最佳极性解集,较难验证三种算法的优劣性。因此需要对NAGA-II和DNSGA-II算法搜索到的最佳极性解集进行处理,选取一个综合优化电路面积与功耗的极性进行结果比较。于是,采用归一化机制,计算外部档案库最佳极性解集中每个极性的fitness,并将fitness最小的极性作为最佳极性进行比较,fitness计算公式如下:
Figure BDA0001693966100000193
其中,number(rep)为算法搜索到的外部档案库最佳极性解集中最优解的个数,θ表示外部档案库最佳极性解集中每个极性对应电路面积与功耗下标。
表1DNSGA-II算法与其他算法最优极性的实验数据与优化率
Figure BDA0001693966100000201
分析表1数据可知,DNSGA-II算法相比其他两种算法能获取更小电路面积和功耗。如newtpla电路,DNSGA-II算法比GA算法电路面积和功耗分别优化了31.84%和39.78%,比NSGA-II算法分别优化了14.37%和18.44%。虽然在br1电路中,DNSGA-II算法搜索到的最佳极性电路面积有所增加,但是功耗却减小了。根据14个Benchmark电路的测试结果可知,DNSGA-II算法比GA和NSGA-II算法,电路面积和功耗的平均优化率为9.01%、19.62%和6.05%、15.08%。最后,将三种算法次迭代结果进行方差计算和对比,GA算法面积和功耗方差分别为68.38和16.22,NSGA-II算法的方差分别为61.10和25.87,DNSGA-II算法的方差分别为9.52和2.72,由此可知,DNSGA-II算法表现出了良好的鲁棒性。
为了更好地观察DNSGA-II算法的搜索性能,将三种算法在5次迭代过程中所有测试电路每一代面积与功耗的最优解分别进行累加,并对进化曲线图进行比较分析,如图1和图2所示。
从图1和图2中可以看出,GA和NSGA-II算法的进化速度较慢,容易陷入局部最优解。虽然NSGA-II算法采用Pareto支配方式搜索最佳极性解集,但是NSGA-II算法比GA算法搜索到的最佳极性电路面积和功耗的优化效果不明显。DNSGA-II算法不但表现出了较快的进化速度,而且最佳实验结果比GA和NSGA-II算法均有明显优化。

Claims (2)

1.一种三值固定极性RM电路面积与功耗的优化方法,其特征在于包括以下步骤:
(1)建立p极性下三值固定极性RM电路的面积估算模型和功耗估算模型,具体过程为:
a.将p极性下三值固定极性RM电路用三值固定极性RM函数表达式表示为:
Figure FDA0001693966090000011
其中,n为函数fp(xn-1,xn-2,…,x0)的输入变量的个数;xn-1,xn-2,…,x0为函数fp(xn-1,xn-2,…,x0)的n个输入变量;
Figure FDA0001693966090000012
为模3加运算符号,∑为累加符号;ci为与项系数,且ci∈{0,1,2};i为与项序数,i=0,1,2,…,3n-1,i用三进制可表示为in-1in-2…i0,ij∈{0,1,2},j=0,1,2,…,n-1;p为三值固定极性RM电路的极性,p用三进制可表示为pn-1pn-2…p0
Figure FDA0001693966090000013
为模3乘项,
Figure FDA0001693966090000014
为第j个模3乘项的幂形态,极性p和与项序数i决定了幂形态
Figure FDA0001693966090000015
的表示形式:
当pj=0时,
Figure FDA0001693966090000016
在模3乘项中以原幂形态
Figure FDA0001693966090000017
的形式出现,若ij=0,则
Figure FDA0001693966090000018
若ij=1,则
Figure FDA0001693966090000019
若ij=2,则
Figure FDA00016939660900000110
符号“·”为乘运算符号;
当pj=1时,
Figure FDA00016939660900000111
在模3乘项中以互补幂形态
Figure FDA00016939660900000112
的形式出现,若ij=0,则
Figure FDA00016939660900000113
若ij=1,则
Figure FDA00016939660900000114
若ij=2,则
Figure FDA00016939660900000115
当pj=2时,
Figure FDA00016939660900000116
在模3乘项中以互补幂形态
Figure FDA00016939660900000117
的形式出现,若ij=0,则
Figure FDA00016939660900000118
若ij=1,则
Figure FDA00016939660900000119
若ij=2,则
Figure FDA00016939660900000120
b.p极性下三值固定极性RM电路由多输入模3加项和多输入模3乘项组成,将多输入模3加项看作多输入模3加门,多输入模3乘项看作多输入模3乘门,首先采用类Huffman算法将p极性下三值固定极性RM函数表达式的三值固定极性RM电路内包含的所有多输入模3乘门分解为二输入模3乘门,将分解得到的二输入模3乘门的数量记为No.Mod_3M;然后再采用类Huffman算法将p极性下三值固定极性RM电路内包含的所有多输入模3加门分解为二输入模3加门,将分解得到的二输入模3加门的数量记为No.Mod_3A;
c.将p极性下三值固定极性RM电路的面积记为area(p),p极性下三值固定极性RM电路的面积估算模型为:
area(p)=No.Mod_3A+No.Mod_3M (2)
d.将分解完的p极性下三值固定极性RM电路中所有二输入模3加门和二输入模3乘门引起的功耗作为p极性下的三值固定极性RM电路的功耗,其中二输入模3加门和二输入模3乘门引起的功耗分别采用其开关活动性表示,而二输入模3加门的开关活动性采用该二输入模3加门的输出变量概率表示,二输入模3乘门的开关活动性采用该二输入模3乘门的输出变量概率表示;
根据公式(3)、(4)和(5)计算分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量概率,k=1,2,…,No.Mod_3M;
Figure FDA0001693966090000021
Figure FDA0001693966090000022
Figure FDA0001693966090000023
其中,
Figure FDA0001693966090000024
表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为1的概率,
Figure FDA0001693966090000025
表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为2的概率,
Figure FDA0001693966090000026
表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为0的概率,Pk1-1表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第一个输入变量为1的概率,Pk1-2表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第一个输入变量为2的概率,Pk2-1表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第二个输入变量为1的概率,Pk2-2表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第二个输入变量为2的概率,Pk1-1、Pk1-2、Pk2-1和Pk2-2分别为通过随机函数产生的位于0~1之间的随机数;
根据公式(6)、(7)和(8)计算分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量概率;g=1,2,…,No.Mod_3A;
Figure FDA0001693966090000031
Figure FDA0001693966090000032
Figure FDA0001693966090000033
其中,
Figure FDA0001693966090000034
表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为1的概率,
Figure FDA0001693966090000035
表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为2的概率,
Figure FDA0001693966090000036
表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为0的概率,Qg1-1表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第一个输入变量为1的概率,Qg1-2表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第一个输入变量为2的概率,Qg2-1表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第二个输入变量为1的概率,Qg2-2表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第二个输入变量为2的概率;Qg1-1、Qg1-2Qg2-1和Qg2-2分别为通过随机函数产生的位于0~1之间的随机数;
e.根据分解完的p极性下三值固定极性RM电路中二输入模3加门的输出变量概率和二输入模3乘门的输出变量概率值计算三值固定极性RM电路的功耗,得到p极性下三值固定极性RM电路的功耗估算模型为:
Figure FDA0001693966090000037
(2)构建非支配排序遗传算法与三值固定极性RM电路的面积与功耗优化的关联:将非支配排序遗传算法中染色体表示为三值固定极性RM电路的极性,染色体的位置表示为极性对应的n位三进制数,染色体的搜索空间表示为三值固定极性RM电路可选择极性的空间;
(3)采用非支配排序遗传算法搜索三值固定极性RM电路面积与功耗的Pareto最佳极性解集,具体过程为:
Step1:设置染色体种群中染色体的数量为M,M为大于等于20且小于等于100的偶数,每条染色体的位置分别为三值固定极性RM电路中某一极性对应的n位三进制数,设置非支配排序遗传算法的迭代总次数为T,T为大于等于100小于等于500的整数,设定当代迭代次数为变量t,初始化变量t,令变量t=0,初始化每一条染色体的位置;通过列表技术得到当代染色体种群中每一条染色体的位置对应极性下的三值固定极性RM函数表达式,按照上述步骤b~步骤e的方法得到各极性下三值固定极性RM电路的面积与功耗;
Step2:设定极性支配规则:将染色体种群中任意两条染色体的位置对应的极性记为P1和P2,若P1和P2满足:
Figure FDA0001693966090000041
则认定P1支配P2,记作P1>P2,此时P1对应的染色体支配P2对应的染色体;当极性P1不被当前染色体种群中其他任何染色体的位置对应的极性支配时,则将P1作为满足三值固定极性RM电路面积与功耗Pareto关系的最佳极性之一;
Step3:采用极性支配规则将当前染色体种群中每条染色体的位置对应的极性分别与当前染色体种群中其他染色体的位置对应的极性进行比较,统计每条染色体被其他染色体支配的次数,根据每条染色体被其他染色体支配的次数确定每条染色体的非支配级数,若当前染色体种群中某一条染色体不被其他染色体支配,则将该染色体的非支配级数设定为最小级数,其他染色体的非支配级数随着它被支配的次数的增加而增加,如果有多个染色体被其他染色体支配的次数相同,则这些染色体的非支配级数也相同,获取当前染色体种群中非支配级数最小的染色体并采用这些染色体构成当前最优染色体集合;
Step4:设置一个用于存放当前最佳极性的外部档案库,将该外部档案库的能够存放的极性数量记为num(rep),num(rep)为大于等于10且小于等于M的整数,将存放有第t代最佳极性的外部档案库称为第t代外部档案库;
Step5:统计当前最优染色体集合中染色体的数量,若当前最优染色体集合中染色体的数量小于等于num(rep),则将当前最优染色体集合中染色体的位置对应的极性全部放入外部档案库中,若当前最优染色体集合中染色体的数量大于num(rep),则计算当前最优染色体集合中每条染色体的位置的拥挤距离,并按照拥挤距离从高到低的顺序选择num(rep)条染色体,将这些染色体的位置对应的极性放入外部档案库中,得到第t代外部档案库;
Step6:采用变量t的当前值加1后的值去更新变量t,得到更新后的t,将更新后的t作为当代迭代次数,对染色体种群进行第t次迭代,得到第t代染色体种群,对染色体种群进行第t次迭代的具体过程为:
A.从第t-1代染色体种群中随机抽取num(rep)条染色体,将这num(rep)条染色体的位置的第1位~第n位分别进行高斯变异得到num(rep)条变异染色体,采用num(rep)条变异染色体构成第t代变异染色体群体Mut(t),其中高斯变异的具体过程为:
A-1.根据公式(11)分别计算得到从第t-1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位的变异参量:
Muthq(t)=round(Phq(t-1)+gaussrand(0,1)) (11)
其中,Muthq(t)表示从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位的变异参量,Phq(t-1)表示从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位,h=1,2,…,num(rep),q=1,2,…,n,gaussrand(0,1)表示服从均值为0且方差为1的一个随机数,round(·)表示对Phq(t-1)+gaussrand(0,1)的值进行四舍五入操作,取为整数;
A-2.按照以下规则对从第t-1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位进行变异:如果Muthq(t)大于2,则将从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位更新为2,如果Muthq(t)小于0,则将从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位更新为0,如果Muthq(t)大于等于0且小于等于2,则从第t-1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位保持不变;
A-3.按照步骤A-1和步骤A-2依次完成从第t-1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位的更新,将更新后的从第t-1代染色体种群中随机抽取的num(rep)条染色体作为num(rep)条变异染色体,得到num(rep)条变异染色体;
B.从第t-1代外部档案库和第t代变异染色体群体中分别随机抽取num(Q)条染色体,其中num(Q)的取值大于等于10且小于等于num(rep),对抽取的2·num(Q)条染色体的位置的第1位~第n位分别进行二项式交叉操作,对从第t-1代外部档案库随机抽取的num(Q)条染色体进行更新,将更新后的从第t-1代外部档案库随机抽取的num(Q)条染色体作为num(Q)条子代染色体,得到num(Q)条子代染色体,采用得到的num(Q)条子代染色体构成第t代子代染色体群体Q(t),所述的二项式交叉操作法的具体过程为:
B-1.采用一个随机函数依次产生2·num(Q)个随机数数组,每个随机数数组中包含n个大于等于0且小于等于1的随机数,采用得到的2·num(Q)个随机数数组中前num(Q)个随机数数组构建第一个随机数数组集randc,采用得到的2·num(Q)个随机数数组中后num(Q)个随机数数组构建第二个随机数数组集pcrosser,其中第一个随机数数组集randc中第a个随机数数组中第b个随机数记为randcab,第二个随机数数组集pcrosser中第a个随机数数组中第b个随机数记为pcrosser,ab,a=1,2,…,num(Q),b=1,2,…,n;
B-2.采用一个随机函数依次产生num(Q)个随机数数组,每个随机数数组中包含n个大于等于1且小于等于n的不重复的随机数整数,采用这num(Q)个随机数数组构建第三个随机数数组集randd,将第三个随机数数组集randd中第a个随机数数组中第b个随机数记为randdab
B-3.将从第t-1代外部档案库随机抽取的num(Q)条染色体中第a条染色体位置的第b位记为Rab(t-1),将从第t代变异染色体群体Mut(t)中抽取的num(Q)条染色体中第a条染色体位置的第b位记为Mutab(t);
B-4.比较第一个随机数数组randc中第a个随机数数组的第b个随机数和第二个随机数数组pcrosser中第a个随机数数组的第b个随机数,同时判断第三个随机数数组randd中第a个随机数数组的第b个随机数是否等于b,若randcab≤pcrosser,ab和randdab=b中的至少一个条件成立,则从第t-1代外部档案库随机抽取的第a条染色体的第b位Rab(t-1)的值保持不变,若randcab>pcrosser,ab和randdab≠b中的至少一个条件成立,则将从第t代变异染色体群体中随机抽取的第a条染色体的第b位Mutab(t)的值赋值给从第t-1代外部档案库随机抽取的第a条染色体的第b位Rab(t-1),对从第t-1代外部档案库随机抽取的第a条染色体的第b位进行更新;
B-5.按照步骤B-1和步骤B-4依次完成从第t-1代外部档案库随机抽取的num(Q)条染色体的第1位~第n位的更新,将更新后的从第t-1代外部档案库随机抽取的num(Q)条染色体作为num(Q)条子代染色体,得到num(Q)条子代染色体;
C.通过列表技术得到第t代变异染色体群体和第t代子代染色体群体中每一条染色体的位置对应极性下的三值固定极性RM函数表达式,并按照上述步骤b~步骤e得到各极性下三值固定极性RM电路的面积与功耗大小;
D.将第t-1代染色体种群、第t代变异染色体群体和第t代子代染色体群体中的所有染色体作为第一个新染色体种群,采用步骤Step2和步骤Step3相同的方法得到该第一个新染色体群体中每一条染色体的非支配级数,从该第一个新染色体种群中按照非支配级数从低到高的顺序选择M条染色体,若非支配级数从最低到某一非支配级数内所有染色体的数量正好等于M,则采用这M条染色体构建得到第t代染色体种群;若非支配级数从最低到某一非支配级数内所有染色体的数量小于M,而非支配级数从最低到某一非支配级数的高一支配级数内所有染色体的数量大于M,此时计算某一非支配级数的高一支配级数内所有染色体的拥挤距离,并按照拥挤距离从高到低的顺序选择相应数量的染色体,使非支配级数从最低到某一非支配级数内的染色体的数量与从某一非支配级数的高一支配级数内选择的染色体的数量之和等于M,采用这M条染色体构建得到第t代染色体种群;
Step7:对外部档案库进行更新,具体过程为:将第t代染色体种群和第t-1代外部档案库中所有极性对应的染色体作为第二个新染色体群体,采用步骤Step2和步骤Step3相同的方法得到该第二个新染色体种群中每一条染色体的非支配级数,将第t-1代外部档案库中的极性清空,统计该第二个新染色体群体中非支配级数最低的染色体数量,如果该第二个新染色体群体中非支配级数最低的染色体数量小于等于num(rep),则将该第二个新染色体群体中所有非支配级数最低的染色体对应的极性放入外部档案库中,得到第t代外部档案库;如果该第二个新染色体群体中非支配级数最低的染色体数量大于num(rep),则计算每条非支配级数最低的染色体的位置的拥挤距离,并按照拥挤距离从高到低的顺序选择num(rep)个非支配级数最低的染色体,将选择的num(rep)个非支配级数最低的染色体对应的极性放入外部档案库中,得到第t代外部档案库;
Step8:判断t是否等于T,如果等于,则此时第t代外部档案库存储的极性即为满足三值固定极性RM电路面积与功耗Pareto关系的最佳极性集合,优化结束,如果不等于,则返回步骤Step6,进入下一次迭代更新。
2.根据权利要求1所述的一种三值固定极性RM电路面积与功耗的优化方法,其特征在于所述的步骤D和所述的步骤Step7中计算染色体的位置的拥挤距离的方法与所述的步骤Step5中计算染色体的位置的拥挤距离的方法相同,其中所述的步骤Step5中计算当前最优染色体集合中每条染色体的位置的拥挤距离的具体过程为:
Step5-1.将当前最优染色体集合中染色体的数量记为size(rep);
Step5-2.按照步骤b和步骤e的方法计算当前最优染色体集合中每条染色体的位置对应极性下三值FPRM电路的面积大小和功耗大小,将这些染色体按照面积从小到大的顺序进行排序,并将当前排在第z位的染色体的拥挤距离记为distancez(0),z=1,2,…,size(rep);
Step5-3.令排在第1位的染色体的拥挤距离distance1(0)=10000,排在第size(rep)位的染色体的拥挤距离distancesize(rep)(0)=10000;
Step5-4.采用公式(12)分别计算排在第2位~第size(rep)-1位的染色体的拥挤距离:
Figure FDA0001693966090000081
其中,v=2,3,…,size(rep)-1,distancev(0)表示排在第v位的染色体的拥挤距离,areav+1(0)表示排在第v+1位的染色体的位置对应极性下的三值FPRM电路的面积大小,areav-1(0)表示排在第v-1位的染色体的位置对应极性下的三值FPRM电路的面积大小,max(area(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的面积大小的最大值,min(area(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的面积大小的最小值,powerv+1(0)表示排在第v+1位的染色体的位置对应极性下的三值FPRM电路的功耗大小,powerv-1(0)表示排在第v-1位的染色体的位置对应极性下的三值FPRM电路的功耗大小,max(power(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的功耗的最大值,min(power(0))表示当前最优染色体集合中所有染色体的位置对应极性下三值FPRM电路的功耗的最小值。
CN201810604464.1A 2018-06-13 2018-06-13 一种三值固定极性rm电路面积与功耗的优化方法 Active CN109033506B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810604464.1A CN109033506B (zh) 2018-06-13 2018-06-13 一种三值固定极性rm电路面积与功耗的优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810604464.1A CN109033506B (zh) 2018-06-13 2018-06-13 一种三值固定极性rm电路面积与功耗的优化方法

Publications (2)

Publication Number Publication Date
CN109033506A CN109033506A (zh) 2018-12-18
CN109033506B true CN109033506B (zh) 2022-12-02

Family

ID=64612759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810604464.1A Active CN109033506B (zh) 2018-06-13 2018-06-13 一种三值固定极性rm电路面积与功耗的优化方法

Country Status (1)

Country Link
CN (1) CN109033506B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440521A (zh) * 2013-08-21 2013-12-11 南昌大学 一种适用于配电网的编码和遗传算法及在配网重构中的应用
CN105205534A (zh) * 2015-09-01 2015-12-30 宁波大学 一种三值fprm电路面积与功耗最佳极性搜索方法
WO2016169286A1 (zh) * 2015-04-20 2016-10-27 海安县申菱电器制造有限公司 一种离散制造系统的车间布局方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440521A (zh) * 2013-08-21 2013-12-11 南昌大学 一种适用于配电网的编码和遗传算法及在配网重构中的应用
WO2016169286A1 (zh) * 2015-04-20 2016-10-27 海安县申菱电器制造有限公司 一种离散制造系统的车间布局方法
CN105205534A (zh) * 2015-09-01 2015-12-30 宁波大学 一种三值fprm电路面积与功耗最佳极性搜索方法

Also Published As

Publication number Publication date
CN109033506A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
Cui et al. A multi-objective particle swarm optimization algorithm based on two-archive mechanism
CN108052696B (zh) 利用粒子群算法的三值fprm电路面积与延时优化方法
US9058564B2 (en) Controlling quarantining and biasing in cataclysms for optimization simulations
CN109710973B (zh) 一种三值固定极性rm电路面积、功耗与延时的优化方法
Kasihmuddin et al. Genetic algorithm for restricted maximum k-satisfiability in the Hopfield network
CN113222165A (zh) 一种基于遗传算法的量子线路优化方法
Yang et al. Accelerating evolutionary neural architecture search via multifidelity evaluation
Andrews et al. Using evolutionary algorithms for model-based clustering
Shih et al. Hyperspns: Compact and expressive probabilistic circuits
CN109033506B (zh) 一种三值固定极性rm电路面积与功耗的优化方法
Choi et al. A graph-based Lamarckian-Baldwinian hybrid for the sorting network problem
Manfrini et al. A novel efficient mutation for evolutionary design of combinational logic circuits
CN115984025A (zh) 基于深度学习图网络模型的影响力传播估计方法及系统
CN113609805A (zh) 一种三值fprm电路面积与延时最佳极性搜索方法
CN113554144A (zh) 用于多目标进化特征选择算法的自适应种群初始化方法和存储设备
Patcharabumrung et al. Effects of Genetic Operators on Neural Architecture Search Using Multi-Objective Genetic Algorithm
Li et al. An effective differential evolution with binary strategy for feature selection problem
Chang et al. Structure diversity design of analog circuits by evolutionary computation for fault-tolerance
Sigmund et al. Reference point-based nondominated sorting multi-objective quantum-inspired evolutionary algorithm
Zhou et al. High-dimensional feature selection in classification: a length-adaptive evolutionary approach
CN115442087B (zh) 一种基于dna计算的智能攻击检测方法及系统
NourAshrafoddin et al. Automatic design of modular neural networks using genetic programming
Zhao et al. Evolving blocks by segmentation for neural architecture search
CN115511038A (zh) 一种基于多模态多目标的特征选择算法
Danilović et al. A novel algorithm for combinatorial problem in manufacturing cell formation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20181218

Assignee: Ningbo Xungao Intelligent Technology Co.,Ltd.

Assignor: Wenzhou University

Contract record no.: X2024330000002

Denomination of invention: An optimization method for area and power consumption of ternary fixed polarity RM circuits

Granted publication date: 20221202

License type: Common License

Record date: 20240103