“函数复杂度类 FP提供本页所用的单值全函数接口及输出长度、复合成本证明。它与多项式可验证的搜索关系不同:在本页给定证明串便要算出指定公式,而不是仅回答某个候选证明是否有效。”
形式陈述
本页采用单值全函数口径:
时间预算按完整输入编码长度计算,也包括写出结果。若每步至多写常数个输出位,便有
若一个自然函数只对合法实例定义,可以约定非法编码统一返回带标签的 INVALID,从而得到全函数;也可以研究部分函数,但必须另写其定义域、域外停机和输出约定。本页只用前一种方式。用于有效输出的标签与错误标签必须可区分,空串、整数零和错误不可共用一个编码。
直觉
P 的算法最终回答一个真假位;FP 的算法可能返回整数、路径或翻译后的程序。两者都要求统一的确定性多项式最坏时间,但输出任务不同。说“乘两个整数属于 P”省略了接口;更准确地说,二进制乘积函数属于 FP,而“乘积是否等于给定整数”的判定语言属于 P。
函数值唯一,也不意味着容易计算。一个巨大真值表可以唯一规定某个函数,却未必给出高效算法。反过来,一个允许许多结果的任务,只要固定算法的所有择优规则,就会产生某个单值选择函数;要判断它是否属于 FP,还得证明这台算法的运行界。
例子与边界
把二进制加法写成完整函数接口
输入为可解析的整数对 0。函数输出带 VALUE 标签的 INVALID。给 1011 与 0110。
从最低位起,四轮“输入位、进位”分别为 10001,即 17。逐位实现的总工作由输入位数线性控制,反向输出若需临时保存也只增加线性扫描,所以这个函数属于 FP。空输入不是整数零,而是格式错误。
这里整数数值可以很大,位数却只增长一位。位复杂度已经说明完整幂
复合为什么仍是多项式
若
其中固定常数
图关系易判定,不等于函数易求值
给定
即使答案唯一且多项式短,也不能靠遍历所有短串宣称 FP:长度
推论与应用
语言 1,非成员输出 0)属于 FP。这是判定接口在函数框架中的嵌入,不能把所有 FP 函数直接当成语言集合。
FNP采用多值关系。说关系
Cook–Reckhow 证明系统使用 FP 函数把证明串映成永真式,其时间预算按证明输入的长度计算,不按公式长度计算。优化值与见证恢复则把输出职责拆成最优整数和达到该值的对象;只有两个职责都完成,才算解决指定的优化输出函数或搜索任务。
参考资料
- Robert Sedgewick、Kevin Wayne,Computer Science: An Interdisciplinary Approach,§5.5 Intractability,Other types of computational problems:区分函数、搜索与判定接口
- Stephen A. Cook、Robert A. Reckhow,The Relative Efficiency of Propositional Proof Systems,Journal of Symbolic Logic 44(1),1979,§1.2 Notation 与 §1.3:多项式时间函数类及其在证明系统中的应用
- 本页加法轨迹、复合长度账本与单值/关系约定单独展开;完整求幂的输出下界复用已有位复杂度条目