“外层查询算法只把中间 bit 串 $z i=g(x i,y i)$ 当作 oracle;组合后,每次得知 $z i$ 都要求 Alice 与 Bob 协同计算一份 gadget。”
输入坐标 oracle ​
设输入
对布尔函数
查询之外的计算不计费,这使模型专注于访问瓶颈。一个查询上界可能使用昂贵计算来挑选下一个坐标,不一定对应快速 RAM 程序;反过来,在免费计算下仍证明需要许多查询,便得到不依赖具体实现技巧的信息下界。
执行 transcript 与决策树 ​
确定性算法在第
因此后一次索引可以依赖先前答案,这叫自适应查询。完整问答序列是执行 transcript;当算法停止时,所有与该 transcript 一致的合法输入必须具有同一
这正是决策树模型在坐标查询集合上的特化。内部结点标记索引
根叶路径长度是该输入上的查询数,最大深度是最坏查询成本。树的大小可能指数巨大,却不计入查询复杂度;这再次表明模型不衡量描述长度或本地时间。
OR 的逐步执行 ​
对
一个确定性算法依次查询坐标,看到第一个
三次查询后即可停止。对
“必须读完”可以用一致输入证明。若算法在
这个例子区分实例成本和最坏成本。某些输入很早暴露一个见证,不意味着函数的最坏查询复杂度很小;下界专门构造没有早期见证、且每个未看坐标仍可能改变答案的路径。
查询集合是模型的一部分 ​
若一次允许问“是否存在值为
预言机图灵机询问某个构造出的字符串是否属于固定语言,研究相对可计算性;本页 oracle 只读取当前输入的一个坐标。统计查询返回有界统计量的近似期望,成员/等价查询则询问目标概念标签或提交完整候选。它们都使用“query”一词,却暴露不同信息,复杂度不能横向换算而不先给归约。
数据库查询也可能返回整张关系表,单次答案长度随数据增长;把它算成一次坐标查询会隐藏输出成本。单元探测模型更接近内存访问,但每次读取
随机性、promise 与失败边界 ​
随机查询算法可以先用随机币选择一棵确定性决策树,或在执行中随机选下一坐标。复杂度必须声明零误差还是 bounded error,以及查询数对随机币取硬上限还是期望。完整定义由确定性与随机查询复杂度分别整理。
promise 也会改变“一致输入”集合。下界中的替代输入必须仍在合法域
算法知道一个坐标值,不表示知道产生它的物理读取成本。远程存储、压缩文件和噪声 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.