We say that a function is rare-case hard against a given class of algorithms (the adversary) if all algorithms in the class can compute the function only on an $o(1)$-fraction of instances of size $n$ for large enough $n$. Starting from any NP-complete language, for each $k > 0$, we construct a function that cannot be computed correctly on even a $1/n^k$-fraction of instances for polynomial-sized circuit families if NP $\not \subset$ P/POLY and by polynomial-time algorithms if NP $\not \subset$ BPP - functions that are rare-case hard against polynomial-time algorithms and polynomial-sized circuits. The constructed function is a number-theoretic polynomial evaluated over specific finite fields. For NP-complete languages that admit parsimonious reductions from all of NP (for example, SAT), the constructed functions are hard to compute on even a $1/n^k$-fraction of instances by polynomial-time algorithms and polynomial-sized circuit families simply if $P^{\#P} \not \subset$ BPP and $P^{\#P} \not \subset$ P/POLY, respectively. We also show that if the Randomized Exponential Time Hypothesis (RETH) is true, none of these constructed functions can be computed on even a $1/n^k$-fraction of instances in subexponential time. These functions are very hard, almost always. While one may not be able to efficiently compute the values of these constructed functions themselves, in polynomial time, one can verify that the evaluation of a function, $s = f(x)$, is correct simply by asking a prover to compute $f(y)$ on targeted queries.
翻译:若对于足够大的n,某类算法(敌手)中的所有算法仅能在规模为n的实例中占比$o(1)$的部分上计算该函数,则称该函数对该类算法是罕见情形困难的。从任意NP完全语言出发,对于每个$k > 0$,我们构造一个函数:若NP $\not \subset$ P/POLY,则多项式规模电路族无法在超过$1/n^k$比例的实例上正确计算该函数;若NP $\not \subset$ BPP,则多项式时间算法亦无法做到——即该函数对多项式时间算法和多项式规模电路均呈罕见情形困难性。所构造的函数是在特定有限域上求值的数论多项式。对于允许从所有NP问题进行精约归约的NP完全语言(例如SAT),若分别满足$P^{\#P} \not \subset$ BPP与$P^{\#P} \not \subset$ P/POLY,则所构造函数甚至无法被多项式时间算法和多项式规模电路族在超过$1/n^k$比例的实例上计算。我们还证明,若随机指数时间假设(RETH)成立,则所有次指数时间算法均无法在超过$1/n^k$比例的实例上计算这些函数。这些函数几乎总是极其困难的。虽然可能无法在多项式时间内高效计算这些构造函数本身的值,但通过要求证明者对目标查询计算$f(y)$,可在多项式时间内验证函数求值$s = f(x)$的正确性。