基于禁忌搜索的分片复制码最优冗余率编码矩阵构造方法_3

文档序号:9200387阅读:来源:国知局
构上进行搜索。
[0043] 在步骤01生成起始编码矩阵的基础上,本发明将需初始化的搜索节点参数分为 搜索进程参数与搜索节点两类。如图3所示,为本发明搜索初始化后的各个参数。
[0044] ( 1)编码矩阵、C4圈数及C4圈计数矩阵初始化 C4圈为本发明的关键部分,是将编码矩阵集合构造为图结构的规则。本发明用定理证 明编码矩阵中C4圈数与编码矩阵冗余率之间的充分关系,将表示编码矩阵冗余率的 转化为C4圈数,简化了算法的核心运算。
[0045] 将步骤01使用的起始编码矩阵作为起始搜索节点的编码矩阵私计算其C4圈计数 矩阵计算C4圈计数矩阵有如下公式:
其中,6¥_#3(/^>,7为i行和j行之间的C4圈数,为i行和j行之间的并的值。算 法遍历起始编码矩阵行中的所有两行组合,利用上述公式计算C4圈数并将之存入C4圈 计数矩阵图4所示即为本实例的起始搜索节点的C4圈计数矩阵。
[0046] C4圈计数矩阵中所有元素之和即为起始搜索节点的编码矩阵矩阵C4圈数d 之后将搜索进程的当前最优C4圈数和搜索节点C4圈数的值设为 本实施例中,起始搜索节点的C4圈数为9。
[0047] ( 2 )冗余率&⑷初始化 输入参数左并以此计算此矩阵的冗余率&(幻并以此初始化当前最优冗余率 怂如。计算此矩阵的冗余率&如有如下公式:
其中…,/?人Ki为编码矩阵中行向量。本实施例中,左为4,起始矩阵的 为9〇
[0048] ( 3)禁忌步长初始化 输入禁忌步长最大值同时令当前节点的禁忌步长本实施 例中,的值为1。
[0049] (4)冗余率上界初始化 冗余率上界是由Rouayheb和Ramchandran提出,其定义如下: 在(?夂t^DSS上,FRC编码CV (?匕4 0」的胤成⑷〇如,由下式递归得 到:

[0050] 步骤03生成邻域节点 生成邻域节点为搜索中的核心步骤之一,是运行频率最高的程序。
[0051] 在当前节点上执行固定行重列重矩阵交换操作逐一生成邻域节点,每生成一个邻 域节点时计算其编码矩阵的C4圈数。固定行重列重矩阵交换操作定义如下: 存在如下两种2阶子方阵之一,
经过这种交换,可将其变为另外一个2阶子方阵,称为交换操作。
[0052] 本步中将逐一生成当前节点的所有邻域节点。首先遍历当前搜索节点的编码矩阵 #游行中所有两行组合i,;在得到的每个i行和J行中遍历所有2列组合A人即得到 了矩阵_所有2X2子矩阵:
判断上述子矩阵中是否可执行交换操作,若是则执行交换操作即生成一邻域节点,否 则继续判断下一个子矩阵。
[0053] 若生成的邻域节点编码矩阵的C4圈数少于当前节点编码矩阵的C4圈数则此邻域 节点为较优节点,执行步骤04 ;若生成的邻域节点编码矩阵的C4圈数等于当前节点编码矩 阵的C4圈数则此邻域节点为同等节点,执行步骤05 ;若生成的邻域节点编码矩阵的C4圈 数大于当前节点编码矩阵的C4圈数则此邻域节点为较差节点,直接放弃此节点; 步骤04处理较优节点 较优搜索节点为搜索判断比当前节点更为接近最优解的节点,是算法的主要搜索目 标。通过多次迭代寻找较优节点,程序即可逐步减少编码矩阵的C4圈数量。
[0054] 计算此较优节点的编码矩阵&汉人判断其是否达到冗余率上界^汉人若其& (?) 等于幻则结束算法返回此节点。否则判断此节点C4圈数和是否优于搜索进程的 当前最优C4圈数和&汉人若是则更新之。以此节点为当前节点,记录此节点的C4圈数和 等,更新节点C4圈计数矩阵,将其禁忌步长设为初始值,迭代执行第4步; 如图5所示为起始搜索节点产生的较优节点的编码矩阵。图5中为起始搜索节点产生 的3个不同邻域节点编码矩阵,图5 (a)中矩阵的C4圈数为8,图5 (b)中矩阵的C4圈数 为7,图5 (c)中矩阵的C4圈数为6。
[0055] 步骤05处理同等节点 同等搜索节点为搜索判断与当前搜索节点性能相同的节点,但依然有可能通过此节点 到达最优解。且随着搜索的深入,出现邻域节点中无较优节点的几率会逐渐增高。故同等 节点是算法的次要搜索目标。但由于其数量较多,禁忌搜索采用禁忌步长限制其搜索深度, 防止其过多的访问无用节点。
[0056] 若当前节点(即生成此同等节点的搜索节点)的禁忌步长step大于1,则将此同等 节点的禁忌步长设为step-Ι,记录此节点的C4圈数和等,更新节点C4圈计数矩阵, 以此同等节点为当前节点执行第4步;否则直接放弃此邻域节点; 如图6为起始搜索节点产生的同等节点的编码矩阵。图6中为起始搜索节点产生的3 个不同邻域节点编码矩阵,其C4圈数皆为9。
[0057] 步骤06算法结果 图7为经过多次迭代之后算法输出的最优编码矩阵。本实例中,算法运行结果的编码 矩阵中的C4圈数为0, 为11,比初始节点提高了 2。
[0058] 实施例2 如图8~16所示,为本发明基于禁忌搜索的分片复制码最优冗余率编码矩阵构造方法 的效果说明图。本实例中,为了方便实际应用,复制深度P取实际中最常使用的2, 3,4三 值;为了方便数据对比,存储节点数η取可整除2, 3, 4的12, 24, 36三值,保证合法参数的数 量最多。
[0059] 本实例中,每个参数使用了分别由Srijan Anil和Toni Ernvail提出的两种不同 的编码矩阵生成算法生成的编码矩阵作为起始编码矩阵。实例说明,本发明提出的方法在 任何参数下,使用完全不同的起始搜索节点都可得到最优解。
[0060] 图8为在/?=7名P 和左=4青形下,〇取所有合法值的两种初始解,优化解和上界 4(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法得出 的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结果。 A和B两图中横坐标为参数d的取值,纵坐标为冗余率& ft;。
[0061] 图9为在P 和左=4青形下,β取所有合法值的两种初始解,优化解和上界 4(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法得出 的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结果。 A和B两图中横坐标为参数d的取值,纵坐标为冗余率& ft;。
[0062] 图10为在/?=萬P 和左=4青形下,Ω取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
[0063] 图11为在/7=2名P =J和左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
[0064] 图12为在P =J和左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
[0065] 图13为在/?=萬P =J和左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人 [0066] 图14为在/?二7名P 左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1