Skip to content

查询复杂度模型

Query complexity model · Bit-query model

将输入隐藏在坐标 oracle 后,只统计算法为确定函数值而读取的输入位置数量。

条目类型
定义

形式陈述

输入坐标 oracle

设输入 x=(x1,,xn)Σn 不直接交给算法,而由 oracle 保存。一次标准坐标查询选择索引 i[n],oracle 返回符号 xi,并计一个单位成本。算法可以免费计算已经看到的答案、维护任意内部状态,再决定下一次询问哪个坐标。

布尔函数 f:S{0,1},其中 S{0,1}n 是 total 或 promise 定义域,算法的目标是在所有合法输入上输出 f(x)。输入长度 n 和查询次数 q 是不同参数:算法即使只问 qn 个位置,也知道 n、promise S 和函数规格,却不能从未询问坐标中免费读取信息。

查询之外的计算不计费,这使模型专注于访问瓶颈。一个查询上界可能使用昂贵计算来挑选下一个坐标,不一定对应快速 RAM 程序;反过来,在免费计算下仍证明需要许多查询,便得到不依赖具体实现技巧的信息下界。

执行 transcript 与决策树

确定性算法在第 t 步选择

it=ϕt((i1,xi1),,(it1,xit1)).

因此后一次索引可以依赖先前答案,这叫自适应查询。完整问答序列是执行 transcript;当算法停止时,所有与该 transcript 一致的合法输入必须具有同一 f 值,否则叶上的单一输出不可能同时正确。

这正是决策树模型在坐标查询集合上的特化。内部结点标记索引 i,从结点离开的边标记可能答案 aΣ,叶标记输出。对二进制输入是二叉树;若字母表有 k 个符号,则一个查询结点最多有 k 个答案分支,但仍只计一次查询。

根叶路径长度是该输入上的查询数,最大深度是最坏查询成本。树的大小可能指数巨大,却不计入查询复杂度;这再次表明模型不衡量描述长度或本地时间。

直觉

查询模型把输入藏在一排带编号的格子后面,只为掀开格子付费。算法可以对已经看到的内容做任意复杂推理,却不能从未访问的位置获得哪怕一 bit;因此下界通常构造两份在所有已问坐标上一致、函数值却不同的合法输入。

自适应决策树则记录“答案如何改变下一问”。一条短路径只证明某个输入很快暴露了证据,最坏复杂度要看最难叶;树的结点数和选择查询所需的计算都被模型抽掉,只剩访问深度这一条资源轴。

例子与边界

OR 的逐步执行

ORn(x)=x1xn,

一个确定性算法依次查询坐标,看到第一个 1 就输出 1,若全部查询后仍未看到 1 才输出 0。在输入 00100 上,按从左到右的顺序得到 transcript

(1,0),(2,0),(3,1).

三次查询后即可停止。对 0n,算法必须读完全部 n 位才能确认没有遗漏的 1,这条路径长度为 n

“必须读完”可以用一致输入证明。若算法在 0n 上有某个坐标 j 未查询,把该位改为 1 得到 ej;两份输入对已问坐标给出完全相同的答案,但 OR 值分别为 01。算法会走到同一叶并输出同一值,至少错一份。因此任意确定性坐标查询算法在某个输入上需要 n 次查询。

OR 的实例查询成本与最坏查询成本

这个例子区分实例成本和最坏成本。某些输入很早暴露一个见证,不意味着函数的最坏查询复杂度很小;下界专门构造没有早期见证、且每个未看坐标仍可能改变答案的路径。

查询集合是模型的一部分

若一次允许问“是否存在值为 1 的坐标”,OR 一次查询即可解决;若允许返回区间和,也可用不同策略定位非零位。这些不是更聪明的同一个坐标查询算法,而是更强的 oracle。任何查询界都必须同时声明可问问题、每次答案包含多少信息以及成本单位。

预言机图灵机询问某个构造出的字符串是否属于固定语言,研究相对可计算性;本页 oracle 只读取当前输入的一个坐标。统计查询返回有界统计量的近似期望,成员/等价查询则询问目标概念标签或提交完整候选。它们都使用“query”一词,却暴露不同信息,复杂度不能横向换算而不先给归约。

随机性、promise 与失败边界

随机查询算法可以先用随机币选择一棵确定性决策树,或在执行中随机选下一坐标。复杂度必须声明零误差还是 bounded error,以及查询数对随机币取硬上限还是期望。完整定义由确定性与随机查询复杂度分别整理。

promise 也会改变“一致输入”集合。下界中的替代输入必须仍在合法域 S;在 OR 的 total function 证明里,0nej 都合法。若 promise 排除 ej,同一个未查询坐标论证可能立即失效。不能先在全 cube 上改输入,再忽略它已经越出问题定义域。

推论与应用

决策树把查询下界转成不可区分性问题:只要某条 transcript 仍容纳函数值不同的两个合法输入,算法就不能在该叶停止。Adversary、certificate、sensitivity 与 polynomial method 等技术,都是以不同方式证明低深度树无法把这些输入全部分开。

查询结果迁移到数据结构、远程访问或测试算法时,必须保留 oracle 的问题集合、答案格式与带宽。数据库查询可能返回整张关系,单元探测模型每次读取一个 w bit cell,远程或噪声 oracle 还会引入延迟与错误;这些成本都不能被“记作一次 query”而消失。模型的抽象价值在于隔离访问瓶颈,而不是让不同访问操作可直接横向换算。

参考资料
  • 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.
关系图谱34 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系