The Minimum Kt Problem (MKtP) and GapMKtP #
This module develops the decision and promise problems associated with Levin's time-bounded
Kolmogorov complexity Cslib.Kolmogorov.levinKt ($\mathrm{Kt}$):
- Exponential-step witness characterization (
levinKt_le_natCast_iff_exists_runFor_two_pow): $\mathrm{Kt}(x) \le k$ if and only if some binary program $p$ of length at most $k$ outputs $x$ within $2^{k - |p|}$ steps underuniversalTM. - Optimal
Kt-witnesses and running-time bound for random strings (exists_length_add_clog_eq_levinKtNat,encard_setOf_forall_optimal_levinKt_two_pow_lt,two_pow_lt_ncard_setOf_exists_optimal_levinKt_le_two_pow): Every string $x$ admits an optimal $\mathrm{Kt}$-witness $(p, s)$ with $s > 0$ and $|p| + \lceil \log_2 s \rceil = \mathrm{Kt}(x)$. Following Liu and Pass, Section 3.1, Fact 3.1, p. 10, if any witness $(p, s)$ satisfying $|p| + \lceil \log_2 s \rceil \le \mathrm{Kt}(x)$ runs for more than $2^{\mathrm{copyOverhead} + \lceil \log_2(|x| + 1) \rceil + m}$ steps, then $K(x) < |x| - m$; consequently, all but fewer than $2^{n - m}$ strings of length $n$ have an optimal $\mathrm{Kt}$-witness running in at most $2^{\mathrm{copyOverhead} + \lceil \log_2(n + 1) \rceil + m}$ steps. Here the extra $\lceil \log_2(n + 1) \rceil$ term in the exponent (relative to Liu–Pass's $2^c / \varepsilon$ bound from Fact 2.1, $\mathrm{Kt}(x) \le |x| + c$) comes from our multi-tape boundlevinKt_le_length_add($\mathrm{Kt}(x) \le |x| + \mathrm{copyOverhead} + \lceil \log_2(|x| + 1) \rceil$). MKtP ∈ E ⊆ EXP(MKtP.mem_E,MKtP.mem_EXP,MKtPAt.mem_EXP):Cslib.Kolmogorov.MKtPis the set of pairs(x, k) : List Bool × ℕwithlevinKt x ≤ k, andCslib.Kolmogorov.MKtPAt sis the fixed-threshold language{x | levinKt x ≤ s x.length}(Liu and Pass, Section 2.2; Oliveira and Santhanam, Appendix A, Definition 44, p. 34; compareR_Kt ∈ Ein Allender et al., Definitions 1 and 6). While Liu and Pass, Section 2.2 encode the threshold $k$ in binary as a $\lceil \log_2 n \rceil$-bit integer (in their model Fact 2.1 gives $\mathrm{Kt}(x) \le |x| + c$, and in ourslevinKt_le_length_addgives $\mathrm{Kt}(x) \le |x| + \mathrm{copyOverhead} + \lceil \log_2(|x| + 1) \rceil$), hereMKtPis paired with the unary threshold encodingencPair encBits encUnaryso that $k + 1 \le |(x, 1^k)|$ holds unconditionally for arbitrary $k \in \mathbb{N}$ without a syntactic $k < 2 |x|$ side condition; for nontrivial thresholds $k \le O(|x|)$ and for every polynomial-time unary threshold $s$ inMKtPAt s, the unary encoding has polynomial length andEXPmembership transfers viaPolyTimeReducible.mem_EXP. Enumerating candidate programsLadner.word jof length at mostkand runninguniversalTMRunForfor $2^{k - |p|}$ steps placesMKtPinE (encPair encBits encUnary)andEXP (encPair encBits encUnary), and placesMKtPAt sinEXP encBitswheneversis computable in polynomial time in unary.- Promise problem
GapMKtP(Cslib.Kolmogorov.GapMKtP): The promise problem separating $\mathrm{Kt}(x) \le s_1(|x|)$ from $\mathrm{Kt}(x) > s_2(|x|)$ for $s_1 \le s_2$ (Oliveira and Santhanam, Appendix A, Definition 44, p. 34).
Main definitions #
Cslib.Kolmogorov.MKtP: the language $\{(x, k) \mid \mathrm{Kt}(x) \le k\}$.Cslib.Kolmogorov.MKtP.boundedSearch: polynomial-time bounded search for aKt-witness up to word-index and step capN.Cslib.Kolmogorov.MKtPAt: the fixed-threshold language $\{x \mid \mathrm{Kt}(x) \le s(|x|)\}$.Cslib.Kolmogorov.GapMKtP,Cslib.Kolmogorov.GapMKtP.yesSet,Cslib.Kolmogorov.GapMKtP.noSet: the promise problemGapMKtP[s₁, s₂].
Main results #
Cslib.Kolmogorov.levinKt_le_natCast_iff_exists_runFor_two_pow,Cslib.Kolmogorov.levinKtNat_le_iff_exists_runFor_two_pow: exponential-step witness characterization of $\mathrm{Kt}(x) \le k$.Cslib.Kolmogorov.exists_length_add_clog_eq_levinKt,Cslib.Kolmogorov.exists_length_add_clog_eq_levinKtNat: existence of an optimalKt-witness.Cslib.Kolmogorov.plain_lt_of_levinKtNat_witness_two_pow_lt,Cslib.Kolmogorov.encard_setOf_forall_optimal_levinKt_two_pow_lt,Cslib.Kolmogorov.two_pow_lt_ncard_setOf_exists_optimal_levinKt_le_two_pow: running-time bound for optimalKt-witnesses (Liu and Pass, Section 3.1, Fact 3.1, p. 10).Cslib.Kolmogorov.MKtP.computableInPolyTime_boundedSearch,Cslib.Kolmogorov.MKtP.boundedSearch_eq_true_iff_of_two_pow_le: polynomial-time certificate and exactness ofMKtP.boundedSearch.Cslib.Kolmogorov.MKtP.mem_E,Cslib.Kolmogorov.MKtP.mem_EXP:MKtPis inEandEXP.Cslib.Kolmogorov.MKtPAt.polyTimeReducible_MKtP,Cslib.Kolmogorov.MKtPAt.mem_EXP,Cslib.Kolmogorov.MKtPAt.mem_EXP_polynomial:MKtPAt s ∈ EXP encBitsfor polynomial-time unary thresholdss.Cslib.Kolmogorov.GapMKtP.disjoint_yesSet_noSet,Cslib.Kolmogorov.GapMKtP.id_eq: consistency and zero-gap specialization ofGapMKtP.
References #
- E. Allender, H. Buhrman, M. Koucký, D. van Melkebeek, D. Ronneburger, Power from Random Strings
- L. A. Levin, Universal Sequential Search Problems
- L. A. Levin, Randomness Conservation Inequalities; Information and Independence in Mathematical Theories
- Y. Liu, R. Pass, On the Possibility of Basing Cryptography on EXP ≠ BPP
- I. C. Oliveira, R. Santhanam, Hardness Magnification for Natural Problems
Exponential-step witness characterization and optimal witnesses for levinKt #
Exponential-step characterization of levinKt. $\mathrm{Kt}(x) \le k$ iff some binary
program $p$ of length at most $k$ outputs $x$ within $2^{k - |p|}$ steps under universalTM.
Every string x admits an optimal Kt-witness (p, s) with 0 < s,
x ∈ (universalTM.run p).runFor s, and p.length + Nat.clog 2 s = levinKtNat x.
Every string x admits an optimal Kt-witness (p, s) in ℕ∞ with 0 < s,
x ∈ (universalTM.run p).runFor s, and (p.length + Nat.clog 2 s : ℕ) = levinKt x.
Liu and Pass, Section 3.1, Fact 3.1, p. 10:
If $(p, s)$ outputs $x$ within $s$ steps with $|p| + \lceil \log_2 s \rceil \le \mathrm{Kt}(x)$, and
$s > 2^{\mathrm{copyOverhead} + \lceil \log_2(|x| + 1) \rceil + m}$ (with $m \le |x|$), then the
plain Kolmogorov complexity of $x$ satisfies $K(x) < |x| - m$. The extra
$\lceil \log_2(|x| + 1) \rceil$ term in the exponent (relative to Liu–Pass's $2^c / \varepsilon$
from Fact 2.1, $\mathrm{Kt}(x) \le |x| + c$) comes from levinKt_le_length_add
($\mathrm{Kt}(x) \le |x| + \mathrm{copyOverhead} + \lceil \log_2(|x| + 1) \rceil$).
Liu and Pass, Section 3.1, Fact 3.1, p. 10:
For $m \le n$, fewer than $2^{n - m}$ strings $x \in \{0, 1\}^n$ have the property that every
optimal $\mathrm{Kt}$-witness $(p, s)$ for $x$ runs for more than
$2^{\mathrm{copyOverhead} + \lceil \log_2(n + 1) \rceil + m}$ steps (with the extra
$\lceil \log_2(n + 1) \rceil$ term coming from levinKt_le_length_add).
Liu and Pass, Section 3.1, Fact 3.1, p. 10:
For $m \le n$, all but fewer than $2^{n - m}$ of the $2^n$ strings of length $n$ admit an optimal
$\mathrm{Kt}$-witness $(p, s)$ running in at most
$2^{\mathrm{copyOverhead} + \lceil \log_2(n + 1) \rceil + m}$ steps (with the extra
$\lceil \log_2(n + 1) \rceil$ term coming from levinKt_le_length_add).
The Minimum Kt Problem (MKtP)
(Liu and Pass, Section 2.2;
Oliveira and Santhanam, Appendix A, Definition 44, p. 34): the set of pairs
(x, k) : List Bool × ℕ such that levinKt x ≤ k. In Complexitylib's complexity-class statements
below (MKtP.mem_E, MKtP.mem_EXP), MKtP is encoded by encPair encBits encUnary (with the
threshold k in unary rather than the $\lceil \log_2 n \rceil$-bit binary representation of
Liu and Pass, Section 2.2) so that $k + 1 \le |(x, 1^k)|$ holds for all
$k \in \mathbb{N}$ without a side condition bounding $k$.
Instances For
(x, k) ∈ MKtP iff some program p of length at most k outputs x within 2 ^ (k - |p|)
steps under universalTM.
Bounded brute-force search for a Kt-witness of (x, k) up to word-index and step cap N:
checks whether some word p = Ladner.word j with j < N has p.length ≤ k and outputs x within
min (2 ^ (k - p.length)) N steps.
Instances For
boundedSearch is computable in polynomial time when k and N are encoded in unary.
MKtP is in linear exponential time E with respect to encPair encBits encUnary.
MKtP is in EXP with respect to encPair encBits encUnary
(Liu and Pass, Section 2.2; compare R_Kt ∈ E in
Allender et al., Definition 6).
Fixed-threshold MKtP (MKtPAt s,
Oliveira and Santhanam, Appendix A, Definition 44, p. 34;
Liu and Pass, Section 2.2): the language of binary strings x with
levinKt x ≤ s x.length.
Instances For
Whenever s is computable in polynomial time in unary, MKtPAt s is polynomial-time
many-one reducible to MKtP.
Fixed-threshold MKtPAt s is in EXP whenever s is computable in polynomial time in
unary.
For any polynomial threshold q : Polynomial ℕ, MKtPAt q.eval ∈ EXP encBits.
The yes-instances of GapMKtP[s₁, s₂]: strings x with levinKt x ≤ s₁ x.length
(Oliveira and Santhanam, Appendix A, Definition 44, p. 34).
Instances For
The no-instances of GapMKtP[s₁, s₂]: strings x with s₂ x.length < levinKt x
(Oliveira and Santhanam, Appendix A, Definition 44, p. 34).
Instances For
x ∈ GapMKtP.noSet s₂ iff s₂ x.length < levinKtNat x.
When s₁ n ≤ s₂ n for all n, GapMKtP.yesSet s₁ and GapMKtP.noSet s₂ are disjoint.
When s₁ = s₂, GapMKtP.noSet s is the complement of MKtPAt s.
The GapMKtP promise problem
(Oliveira and Santhanam, Appendix A, Definition 44, p. 34):
separates MKtPAt s₁ (levinKt x ≤ s₁ |x|) from GapMKtP.noSet s₂ (levinKt x > s₂ |x|)
whenever s₁ n ≤ s₂ n.
Instances For
With zero gap (s₁ = s₂ = s), GapMKtP is the decision problem MKtPAt s viewed as a promise
problem (PromiseProblem.ofSet (MKtPAt s)).