“外层查询算法只把中间 bit 串 $z i=g(x i,y i)$ 当作 oracle;组合后,每次得知 $z i$ 都要求 Alice 与 Bob 协同计算一份 gadget。”
形式陈述 ​
输入坐标 oracle ​
设输入
对布尔函数
查询之外的计算不计费,这使模型专注于访问瓶颈。一个查询上界可能使用昂贵计算来挑选下一个坐标,不一定对应快速 RAM 程序;反过来,在免费计算下仍证明需要许多查询,便得到不依赖具体实现技巧的信息下界。
执行 transcript 与决策树 ​
确定性算法在第
因此后一次索引可以依赖先前答案,这叫自适应查询。完整问答序列是执行 transcript;当算法停止时,所有与该 transcript 一致的合法输入必须具有同一
这正是决策树模型在坐标查询集合上的特化。内部结点标记索引
根叶路径长度是该输入上的查询数,最大深度是最坏查询成本。树的大小可能指数巨大,却不计入查询复杂度;这再次表明模型不衡量描述长度或本地时间。
直觉
查询模型把输入藏在一排带编号的格子后面,只为掀开格子付费。算法可以对已经看到的内容做任意复杂推理,却不能从未访问的位置获得哪怕一 bit;因此下界通常构造两份在所有已问坐标上一致、函数值却不同的合法输入。
自适应决策树则记录“答案如何改变下一问”。一条短路径只证明某个输入很快暴露了证据,最坏复杂度要看最难叶;树的结点数和选择查询所需的计算都被模型抽掉,只剩访问深度这一条资源轴。
例子与边界
OR 的逐步执行 ​
对
一个确定性算法依次查询坐标,看到第一个
三次查询后即可停止。对
“必须读完”可以用一致输入证明。若算法在
这个例子区分实例成本和最坏成本。某些输入很早暴露一个见证,不意味着函数的最坏查询复杂度很小;下界专门构造没有早期见证、且每个未看坐标仍可能改变答案的路径。
查询集合是模型的一部分 ​
若一次允许问“是否存在值为
预言机图灵机询问某个构造出的字符串是否属于固定语言,研究相对可计算性;本页 oracle 只读取当前输入的一个坐标。统计查询返回有界统计量的近似期望,成员/等价查询则询问目标概念标签或提交完整候选。它们都使用“query”一词,却暴露不同信息,复杂度不能横向换算而不先给归约。
随机性、promise 与失败边界 ​
随机查询算法可以先用随机币选择一棵确定性决策树,或在执行中随机选下一坐标。复杂度必须声明零误差还是 bounded error,以及查询数对随机币取硬上限还是期望。完整定义由确定性与随机查询复杂度分别整理。
promise 也会改变“一致输入”集合。下界中的替代输入必须仍在合法域
推论与应用
决策树把查询下界转成不可区分性问题:只要某条 transcript 仍容纳函数值不同的两个合法输入,算法就不能在该叶停止。Adversary、certificate、sensitivity 与 polynomial method 等技术,都是以不同方式证明低深度树无法把这些输入全部分开。
查询结果迁移到数据结构、远程访问或测试算法时,必须保留 oracle 的问题集合、答案格式与带宽。数据库查询可能返回整张关系,单元探测模型每次读取一个
参考资料
- Harry Buhrman and Ronald de Wolf, “Complexity Measures and Decision Tree Complexity: A Survey,” Theoretical Computer Science 288(1), 2002, pp. 21–43.
- Stasys Jukna, Boolean Function Complexity: Advances and Frontiers, Springer, 2012, Chapter 14.
- Noam Nisan, “CREW PRAMs and Decision Trees,” SIAM Journal on Computing 20(6), 1991, pp. 999–1007.