1.一种基于自反馈演化序列的密钥序列生成方法,其特征在于,包括以下步骤:(1)初始化演化中运行的参数;
(2)利用自反馈映射函数对演化中种群进行初始化,随机生成含有一定数目个体的初始种群;
(3)计算当前种群中用于检验各个个体频数的频数适应值η和用于检验各个个体序列的序列适应值p;
(4)对比每个个体与其所在种群其他个体的适应值,计算出当前种群中每个个体的秩;
(5)计算每个个体与当前种群中其他各个体染色体长度相对应的汉明距离,根据汉明距离获取每个个体的拥挤距离;
(6)先按照秩值对种群中的个体进行降序排列,然后在上述排序的基础上,再按照拥挤距离值对种群中的个体进行升序排列;
(7)对排序后的当前种群进行抽样,根据当前种群中个体的排序计算出个体的被选中概率范围,然后随机依次产生M个0到1之间的随机数R,并且依次将M个随机数R与个体的被选中概率范围进行比较,将M个随机数R所落入的概率范围对应排名的M个个体放入到繁殖池中;
根据个体的排序计算出繁殖池中个体被裁剪的概率范围,然后依次产生多个0到1之间的随机数S,并且将依次产生的随机数S分别与个体被裁剪的概率范围进行比较,得到各随机数S所落入概率范围对应的个体,在繁殖池中选出这些个体,直到繁殖池中剩下M个个体,然后裁剪被选中的个体;
依照交叉概率和变异概率对繁殖池中的最好个体进行交叉和变异操作,若产生的新个体占优当前繁殖池中的最好个体,则采用新个体替换当前繁殖池中的最好个体;如果产生的新个体占优当前种群的第一个个体,则采用新个体替换当前种群的第一个个体;其中繁殖池中最好个体是指频数适应值η和序列适应值p最小的个体;
(8)将经过步骤(7)处理后的当前种群中的第一个个体采用自反馈映射函数进行自反馈搜索,并且计算该自反馈搜索后个体的频数适应值η和序列适应值p;若计算得到的频数适应值η和序列适应值p均比原适应值小,则采用自反馈搜索后的个体替换当前种群中的第一个个体,否则采用自反馈搜索后的个体替换当前种群中频数适应值η和序列适应值p最大的个体;然后计算自反馈搜索后当前种群的多样性度量值;判断自反馈搜索后当前种群的多样性度量值是否小于阈值W;
若是,则根据自反馈搜索的结果采用自反馈函数对当前种群中除第一个个体以外的个体进行自反馈迁移,得到新的种群,然后进入步骤(9);
若否,则将自反馈搜索后的当前种群作为新种群,然后进入步骤(9);
(9)计算新种群中各个个体的适应值η和p,并且按照步骤(4)至(5)分别计算新种群中个体的秩和拥挤距离,然后按照步骤(6)进行排序;判断种群的更新迭代次数是否到达最大迭代数;
若是,则进入步骤(10);
若否,则迭代次数加1,然后进入步骤(7);
(10)将最后得到的种群中排序在第一的个体序列作为密钥序列。
2.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(3)中用于检验个体频数的频数适应值η为:其中D表示个体的序列长度,n0表示个体序列中0的个数,n1表示个体序列中1的个数;
所述步骤(3)中用于检验个体序列的序列适应值p为:
其中n00、n01、n10、n11分别表示个体序列中00、01、10、11这四种模式出现的个数。
3.根据权利要求1或2所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,当所述频数适应值η≤3.841时,则个体频数检验通过;当所述序列适应值p≤5.991时,则个体的序列检验通过。
4.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(4)中每个个体秩的计算过程如下:对比每个个体与其所在种群中其他个体的适应值;若该个体两个适应值η和p都小于与其对比的某个个体,则表示该个体占优于其对比的个体,那么该个体的秩加1;若该个体两个适应值η和p都大于与其对比的某个个体,则表示与该个体进行对比的某个个体占优,那么将与该个体进行对比的某个个体的秩加1;
对于当前种群中的每个个体,遍历一次当前种群,通过上述步骤得到当前种群中每个个体的秩。
5.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(5)中当前种群每个个体的拥挤距离获取过程如下:计算每个个体与当前种群中其他个体染色体长度相对应的汉明距离,对于当前种群中的每个个体,遍历一次当前种群,将计算得到的该个体与当前种群中其他个体之间汉明距离按照升序的顺序进行排序,将排名在第K的汉明距离作为该个体的拥挤距离;所述步骤(5)中 其中NP为种群规模。
6.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(1)中初始化的参数包括,种群规模NP、最大迭代数、个体序列长度D、繁殖池大小M、交叉概率pc以及变异概率pm参数:其中种群规模为NP=100,最大迭代数MAX_GEN=1000,个体序列长度D=432,繁殖池大小M=50,交叉概率pc=0.8,变异概率pm=0.2;所述步骤(2)中随机生成一个含有100个个体的种群。
7.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(7)种群中个体的被选中概率范围为:所述步骤(7)繁殖池中个体被裁剪的概率范围为:
其中I表示个体在种群中的排名;
其中P(i)为:
其中Q(i)为:
M为繁殖池大小。
8.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(2)和(8)中所采用的自反馈映射函数为:
9.根据权利要求8所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(8)中的具体过程如下:k k
(8-1)采用自反馈映射函数产生范围在(0,1)的随机数序列λ,根据随机数序列λ得到k
其中k表示当前种群第一个个体自反馈搜索的次数;其中λ 表示当前种群第一个个k体进行第k次自反馈搜索时产生的随机序列, 表示随机数序列λ 中的第j维数据;
其中当前种群每次自反馈搜索前的第一个个体为P0=[xj,j=1,2,...D];xj,max表示P0序列中第j维数据允许的最大值;xj,min表示P0序列中第j维数据允许的最小值;
(8-2)根据 对当前种群中第一个个体P0进行自反馈搜索,得到自反馈搜索后的第一个个体P′0序列中的数据值:xj表示P0序列中的第j维数据值,x′j表示P0自反馈搜索后得到的P′0序列中的第mj维数据值,βg=1-((g-1)/g),g为演化系数,m用于控制收缩速度;
(8-3)计算当前种群每次自反馈搜索后的个体P′0的频数适应值η和序列适应值p;
若计算得到的频数适应值η和序列适应值p均比当前种群每次自反馈前的P0小,则采用P′0替换P0,否则采用P′0替换当前种群中最差的个体,其中最差个体是指频数适应值η和序列适应值p最大的个体;
(8-4)计算当前种群自反馈搜索的次数k是否达到F;
若是,则当前种群自反馈搜索结束,得到自反馈搜索后的当前种群;
若否,则k加1,然后回到步骤(8-1);
(8-5)计算种群的多样性度量值diversity:
其中:
其中D表示个体的序列长度,NP为种群规模;其中xi1,xi2,...,xiD分别表示当前种群自反馈搜索后的第i个个体序列中第1,2,…,D维的数据;x1,max,x2,max,...,xD,max分别表示当前种群自反馈搜索后的各个体序列第1,2,…,D维数据允许的最大值;x1,min,x2,min,...,xD,min分别表示当前种群自反馈搜索后的各个体序列第1,2,…,D维数据允许的最小值;
(8-6)判断种群的多样性度量值diversity是否小于阈值W;
若是,则执行步骤(8-7),得到新的种群,然后执行步骤(9);
若否,则将自反馈搜索后的当前种群作为新种群,然后执行步骤(9);
(8-7)采用自反馈映射函数产生长度为D的数组tλ=[tλ1,tλ2,...,tλD],通过该数组求出自反馈系数sλ=[sλ1,sλ2,...,sλD],其中:sλj=tλj*2-1,j=1,2,...,D,sλ∈(-1,1);
根据自反馈系数,将当前种群中除第一个个体以外的其他个体进行自反馈迁移,得到自反馈迁移后的个体,采用自反馈迁移后的个体替换种群中的原个体,得到新的种群;其中自反馈迁移后的个体SP,其中迁移后个体的第j维数据SPj为:其中Pbest为当前种群自反馈搜索后的最好个体,即当前种群自反馈搜索后排序第一的个体,Pbestj表示Pbest个体中的第j维数据,sλj表示是自反馈系数数组sλ的第j维数据。
10.根据权利要求9所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(8-6)中阈值W为0.01,所述F为0.1*NP。