用于构建二元覆盖阵列的新型回溯算法
1. 引言
构建覆盖阵列(CA)的目标是在给定参数 v、k 和 t 的情况下,最小化行数。目前有多种构建组合模型的方法,包括递归方法、代数方法、贪心方法和元启发式方法(如模拟退火和禁忌搜索),但这些都是近似方法。唯一尝试系统枚举候选解以保证找到最优 CA 的方法是 EXACT,它是一种回溯算法,能消除同构 CA,并引入了小模块的概念以减少搜索空间。
2. 相关工作
构建 CA 的现有方法有:
- 递归方法
- 代数方法
- 贪心方法
- 元启发式方法(模拟退火、禁忌搜索)
EXACT 算法由 Yan 和 Zhang 提出,它采用特定规则消除同构 CA,引入小模块概念,还集成了 SCEH 剪枝技术。2008 年,他们对 EXACT 进行了改进,添加了新规则,但仅对一个实例(CA(24; 4, 12, 2))的已知最优解有所改进。
3. 新型回溯算法
可以将 CA 表示为一个二维的 N × k 矩阵,每行是一个测试用例,每列代表被测系统的一个参数。算法基于分支限界技术,是一个迭代过程:
1. 生成所有含 ⌊N/2⌋ 个 0 的列的子集。
2. 构建固定块,curr = t。
3. 将第 l + 1 列插入矩阵 M 的 curr 位置。
4. curr = curr + 1。
5. 检查是否按行有序,若否,则回溯到上一列,curr = curr - 1。
6. 进行部分 t 元验证。
7. 检查 curr 是否等于 k,若是则结束,生成 CA。
其流程图如
超级会员免费看
订阅专栏 解锁全文
317

被折叠的 条评论
为什么被折叠?



