“变体应从规格出口继续阅读:容忍性质测试区分“足够近”与“足够远”,distance estimation 试图估计实际距离,distribution free testing 则让距离参考未…”
形式陈述 ​
两阈值 promise ​
设性质为
给定
距离位于
Gap 宽度是资源参数 ​
令
当
若能构造距离估计量
便可在阈值中点附近切分得到 tolerant tester。反过来,对一系列阈值调用 tester 并做带置信度的二分,可形成粗距离估计;每次调用的错误需求并,不能把单次
直觉
普通 tester 可以把任何真实 violation 当作拒绝证据,因为 yes 输入完全干净;容忍测试面对的 close 输入本来就可能遍布少量违规。它必须判断的是错误总量是否越过第二道阈值,而不是有没有看见一处错误。
两阈值之间的宽度决定所需分辨率。Gap 大时,粗糙估计已足够把两侧分开;gap 缩小时,采样波动必须压得更低,查询量随之上升。许多 tolerant tester 因而更接近距离估计器,而不是传统的局部 witness 搜索器。
例子与边界
常量字符串的容忍测试 ​
令
均匀独立查询
函数
足以把估计误差控制在
与非容忍常量测试相比,这里不能见到一对不同 bit 就立即拒绝;close 对象本来允许含少量少数 bit。Tester 必须估计少数比例,而不是只寻找一个局部 violation。
容忍性为何可能更难 ​
普通 tester 的 yes 输入完全满足性质,常能依靠 perfect completeness 和局部 witness;tolerant tester 必须接受整个
对某些性质,普通测试只需常数或 poly
错误侧别与适应性 ​
Tolerant 与 one-sided/two-sided 是不同轴。当
查询仍可自适应或非自适应。上面的样本均值 tester 非自适应;某些距离估计算法会根据粗估结果把后续查询集中到可疑区域。容忍性本身不规定访问顺序。
边界 ​
距离必须与对象表示一致。对图性质,dense 与 bounded-degree 距离给同一图不同 close/far 身份;阈值不能脱离 oracle 单独搬用。
如果
最后,接受 close 对象不等于输出修复后的成员,也不保证找到最近对象。Tolerant testing 仍只输出一个 gap decision bit;local reconstruction 是额外任务。
推论与应用
能把
应用到图、分布或编码性质时,
参考资料
- Michal Parnas, Dana Ron, and Ronitt Rubinfeld, “Tolerant Property Testing and Distance Approximation,” Journal of Computer and System Sciences 72(6), 2006, pp. 1012–1042.
- Oded Goldreich, Introduction to Property Testing, Cambridge University Press, 2017, Chapter 12.
- Irit Newman and Christian Sohler, “Every Property of Hyperfinite Graphs Is Testable,” SIAM Journal on Computing 42(3), 2013, tolerant-testing context.