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

文档序号:9200387阅读:来源:国知局
圈的定义如下: C4圈为图论概念,在布尔矩阵中表现为2阶子方阵:
(5) C4圈数即为此2阶子方阵在编码矩阵中的数量; 在计算编码矩阵C4圈数寸,本发明使用C4圈计数矩阵降低生成邻 域节点时的C4圈数计算量;本发明通过布尔矩阵中的一行看作二进制数,利用二进制数间 的并来计算两行之间的C4圈数,具体计算公式如下:
(6) 其中,Γ4 - ifetrix#为i行和j行之间的C4圈数,为编码矩阵滅勺i行和j行之 间的并的值;算法遍历起始编码矩阵滅勺行中所有两行组合,利用上述公式(6)计算C4 圈数并存入C4圈计数矩阵jt; C4圈计数矩阵中元素 COfeirizi7即表 示i行和J行之间的C4圈数;C4圈计数矩阵冲所有元素之和即为C4圈数d Num \ 第2. 2、计算冗余率& ft) 一个FR编码的编码矩阵滅勺冗余率& ft;的定义如下:
(7) 其中/W=A…,/?人Ki为编码矩阵滅勺第i行。
[0017] 根据公式(7)对&ft;的定义,算法遍历起始编码矩阵/7行中的所有k行组合,并 计算每个k行组合之并的权值,所有k行组合之并的权值中的最小值即为编码矩阵冗余率 的值。
[0018] 本发明第3步所述的生成邻域节点的具体方法包括: 第3. 1、基于固定行重列重矩阵交换操作生成邻域节点 使用当前节点的布尔矩阵,通过固定行重列重矩阵交换操作生成邻域节点;固定行重 列重矩阵交换操作的定义如下: 存在如下两种2阶子方阵之一,
经过这种交换,能够将这两种子矩阵相互转换,称为交换操作; 本步中将逐一生成当前节点的所有邻域节点;首先遍历当前解矩阵行中的所有两行 组合i,A在得到的每个i行和J行中遍历所有2列组合r,人即得到了矩阵_所有2X2 子矩阵:
判断编码矩阵中是否存在可执行交换操作的子矩阵,若是则执行交换操作即生成一邻 域节点,否则继续判断下一个子矩阵; 第3. 2、计算邻域节点C4圈数 计算邻域节点C4圈数为算法中运行频率最高的部分。其时间复杂度为0(n3)。本发明 使用C4圈计数矩阵的方法简化计算领域节点C4圈数,将其复杂度降为O(η2)。
[0019] 本发明使用C4圈计数矩阵的方法简化计算领域节点C4圈数;使用第2步中生成 的C4圈计数矩阵计算邻域节点C4圈数;重新计算生成此邻域节点的当前节点 C4圈计数矩阵中i行和j行相关的元素,但不计算,其中i和j为 生成此邻域节点使用的2X2子矩阵中的2行。
[0020] 本发明的优点和有益效果: 1)通过引入基于禁忌搜索的分片复制码最优冗余率编码矩阵构造方法,解决任意参数 下的分片复制码最优冗余率编码矩阵构造的问题;2)本发明采用的禁忌搜索方法,克服了 传统的构造法无法构造任意参数的FR编码的问题;3)本发明公开的C4圈计数方法能够准 确的描述搜索进程中分片复制码冗余率的内在量变过程,使得禁忌搜索可以用于编码构造 的数学模型之上,从而完成搜索过程中冗余率的优化;4)本发明提出的C4圈计数矩阵法, 简化每个邻域节点的C4圈计算过程,极大加快搜索速度。
[0021]
【附图说明】
[0022] 图1为本发明的流程图。
[0023] 图2为本发明使用的FR编码初始编码矩阵生成算法生成的起始矩阵实例。
[0024] 图3为搜索节点初始化后的各个参数示意图。
[0025] 图4为C4圈计数矩阵示例图。
[0026] 图5为起始矩阵产生的数个最优解示例。
[0027] 图6为起始矩阵产生的数个同等解示例。
[0028] 图7为算法的运行结果。
[0029] 图8为在/?二7名P 和左=4青形下,〇取所有合法值的两种初始解,优化解和上界 4(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法得出 的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结果。 A和B两图中横坐标为参数d的取值,纵坐标为冗余率& ft;。
[0030] 图9为在P 和左=4青形下,〇取所有合法值的两种初始解,优化解和上界 4(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法得出 的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结果。 A和B两图中横坐标为参数d的取值,纵坐标为冗余率& ft;。
[0031] 图10为在/7=萬p 和左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
[0032] 图11为在/?二2名P =J和左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
[0033] 图12为在P =J和左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
[0034] 图13为在/?=萬P =J和左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
[0035] 图14为在/?二7名P 左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
[0036] 图15为在P =#卩左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
[0037] 图16为在/?=萬P =4和左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
[0038]
【具体实施方式】
[0039] 下面结合附图对本发明作进一步的描述。
[0040] 实施例1 如图1所示,为本发明基于禁忌搜索的分片复制码最优冗余率编码矩阵构造方法的操 作流程图,该方法的操作步骤包括: 步骤01搜索起始编码矩阵生成 首先在根据存储文件和分布式存储系统的具体需要,输入参数/?,4 P,用起始编码 矩阵生成算法生成起始编码矩阵。起始编码矩阵需为行权重序列为/?,列权重序列为却勺 0布尔矩阵,即:
目前有分别由Anil和Gupta提出的两种不同的编码矩阵生成算法适用本发明的起始 矩阵生成算法,本实例中选择Anil的算法。
[0041] 如图2所示,为本发明经过生成算法生成的起始编码矩阵示意图。本实施例中 /?=10,古4,0=20,p=2。
[0042] 步骤02禁忌搜索初始化 禁忌搜索是一种应用广泛的启发式算法,其实质是将待解决问题的解集用某种规则构 造成图结构并利用特定的策略在此图结
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1