patternMinor
set of Kolmogorov-random strings is co-re
Viewed 0 times
randomstringssetkolmogorov
Problem
given RC = {x : C(x) ≥ |x|} is a set of Kolmogorov-random strings.
How can I show that RC is co-re
I have been reading this paper What Can be Efficiently Reduced to the
Kolmogorov-Random Strings? which just says that we know that by Kum96 we know that RC is Co-re
I was not able to find the proof of how that is proved
How can I show that RC is co-re
I have been reading this paper What Can be Efficiently Reduced to the
Kolmogorov-Random Strings? which just says that we know that by Kum96 we know that RC is Co-re
I was not able to find the proof of how that is proved
Solution
We want to show $\overline{R_c}\in RE$.
$\overline{R_c}=\left\{x|\exists M\hspace{1mm} s.t. \hspace{1mm} M(\epsilon)=x,|\langle M\rangle|<|x| \right\}$, i.e. $x$ is not a Kolmogorov-random string if there exists a Turing machine which outputs $x$ (say, when initialized with blank input), with description $\langle M\rangle$ shorter than $|x|$.
Given $x$, run all the Turing machines $M$ with description $|\langle M\rangle|<|x|$ with empty input $\epsilon$, simultaneously (i.e. dont execute any machine for $i+1$ steps before executing all of them for $i$ steps). This is possible since the set of all Turing machines of length $\le |x|$ is finite. If one of the machines halts and outputs $x$, accept, otherwise keep running. If all the machines halted with output different then $x$, reject.
Clearly if $x\in \overline{R_c}$ then our machine accepts, otherwise it either rejects or doesn't halt (which is the case if none of the machines outputs $x$ after some finite number of steps, and at least one of them doesn't halt).
$\overline{R_c}=\left\{x|\exists M\hspace{1mm} s.t. \hspace{1mm} M(\epsilon)=x,|\langle M\rangle|<|x| \right\}$, i.e. $x$ is not a Kolmogorov-random string if there exists a Turing machine which outputs $x$ (say, when initialized with blank input), with description $\langle M\rangle$ shorter than $|x|$.
Given $x$, run all the Turing machines $M$ with description $|\langle M\rangle|<|x|$ with empty input $\epsilon$, simultaneously (i.e. dont execute any machine for $i+1$ steps before executing all of them for $i$ steps). This is possible since the set of all Turing machines of length $\le |x|$ is finite. If one of the machines halts and outputs $x$, accept, otherwise keep running. If all the machines halted with output different then $x$, reject.
Clearly if $x\in \overline{R_c}$ then our machine accepts, otherwise it either rejects or doesn't halt (which is the case if none of the machines outputs $x$ after some finite number of steps, and at least one of them doesn't halt).
Context
StackExchange Computer Science Q#49882, answer score: 7
Revisions (0)
No revisions yet.