算法复杂度理论中专为使算法失效的测试用例术语名称是什么?
术语解答
你所询问的术语是 对抗性输入(Adversarial Input),部分场景下也可表述为对抗性测试用例,部分技术资料中也会用*病态输入(Pathological Input)*指代同类概念,后者更侧重描述触发算法时间/空间复杂度最坏情况的构造输入。
核心特征
- 由了解算法内部实现逻辑、原理的人员针对性构造
- 自然场景下出现概率极低,仅会在针对性测试、安全攻击等场景下出现
- 构造目的明确:要么让算法运行出错、输出错误结果,要么让算法的性能表现骤降,触发最坏复杂度边界
常见应用示例
- 针对快速排序算法构造特定顺序的输入,使其时间复杂度从平均O(nlogn)退化到最坏O(n²)
- 针对哈希表构造大量哈希碰撞的键,让哈希表的查询效率从平均O(1)退化到O(n)
- 针对图像分类机器学习模型,添加人眼不可察觉的微小扰动构造输入,让模型输出错误分类结果
内容的提问来源于stack exchange,提问作者Rohit Pandey
相关产品推荐
相关产品推荐

