1
$\begingroup$

Recall that the Chomsky hierarchy that says regular languages correspond to (non)deterministic finite-state machines, context-free languages correspond to non-deterministic pushdown automata, and recursively enumerable languages ($RE$) correspond to Turing machine. And we have

$$ \mbox{regular} \subset \mbox{context free} \subset R \subset RE.$$

As we get to a larger set of languages, the corresponding computation model gets stronger. For example, Turing machine is notoriously known for not guaranteeing to halt. Hence people restrict its ability a bit, by considering recursive languages ($R$), which correspond to total Turing machines (i.e. those that always halt; see Is there an always-halting, limited model of computation accepting $R$ but not $RE$?).

However, this is not good enough in the sense that it is undecidable to recognize total Turing machines among all Turing machines. Thus it is natural to reduce even further:

Question. What is the largest subset $D \subset RE$, such that the corresponding automata $A_{D}$ are decidable by Turing machines?

Here, $A_{D}$ is defined to be

$$\{x \in TM \,|\, x\mbox{ accepts some d }\in D\},$$

where $TM$ is the set of Turing machines. The problem of whether a given $x \in TM$ is an element of $A_{D}$ should be a decidable problem.

$\endgroup$
1
  • $\begingroup$ @D.W. I've focused to 'question 2', and added some clarification. $\endgroup$
    – Student
    Commented Sep 22 at 12:22

1 Answer 1

1
$\begingroup$

There is no largest subset. Given any subset $D$ that satisfies those conditions, we can construct $D'=D \cup \{L\}$ where $L$ is one language such that $L \notin D$ and $L$ is accepted by some Turing machine. Then $D'$ will satisfy the conditions, too.

If you are interested in such classes, you might be interested in automata theory and complexity theory, where you can find many examples that satisfy these conditions. In automata theory, you might be interested in linear bounded automata (i.e., context-sensitive languages), stack automata, alternating pushdown automata, tree automata, counter machines, and Petri nets. Consult automata theory textbooks or courses for more.

As far as complexity theory, my guess is that most or all complexity classes qualify for your requirements. Let's focus on $P$, the class of all languages that can be accepted by a polynomial-time Turing machine. I claim that it satisfies your requirements. Consider Turing machines that are of the following form:

  • Let $n := $ the length of the input.
  • For $i:=1,2,\dots,p(n)$:
    • Simulate one step of $B$.
    • If $B$ halts and accepts, halt and accept. If $B$ halts and rejects, halt and reject.
  • Halt and reject.

Here $p(n)$ is some polynomial, and $B$ is some Turing machine. This is a template for a Turing machine; if you fix a simulation strategy (universal TM), then once you fill in $p(n),B$, you obtain a Turing machine. The set of "automata" are all Turing machines of this sort. I claim that every language $L \in P$ is accepted by some Turing machine of this form (some "automaton"), and every Turing machine of this form accepts some language in $P$. The latter is obvious, as the running time is obviously at most a polynomial of $n$. For the former, consider any language $L \in P$. $L$ must be accepted by some Turing machine $B$, and let $p(n)$ be a polynomial that is an upper-bound on the worst-case running time of $B$; by the definition of $P$, there is some $B,p(n)$ for which this holds. Then filling in $B,p(n)$ into the template above yields a Turing machine ("automaton") $A$ of the desired form that accepts $L$. This demonstrates that every language in $P$ is accepted by such an automaton, and therefore that $P$ meets your requirements. I expect something similar can be proven for most or all other standard complexity classes.

$\endgroup$
6
  • $\begingroup$ Clean! Thanks! I guess people still look for subsets of $R$ whose corresponding automata are "controllable". Any recommendation of books or articles for digging into that topic? $\endgroup$
    – Student
    Commented Sep 22 at 16:12
  • $\begingroup$ @Student, see revised answer. $\endgroup$
    – D.W.
    Commented Sep 22 at 21:31
  • $\begingroup$ Thanks for the revision! I like your argument about the construction of $A = A(B,p)$. I'm hoping to argue that $A$ only depends on $B$, i.e. $A = A(B)$. However, is it a decidable problem for reading out $p$ from $B$? If not, you really need $p$ in the construction of $A$. $\endgroup$
    – Student
    Commented Sep 23 at 16:46
  • $\begingroup$ @Student, there's no need to argue that. The automaton is $A$, and it is decidable whether a Turing machine has the form (is consistent with the template). $\endgroup$
    – D.W.
    Commented Sep 23 at 17:00
  • $\begingroup$ If a Turing machine is in that form, then sure. However, the challenge is to start from any Turing machine $M$, and tell whether its language $L(M)$ is accepted in polynomial (or any other bound) time. $\endgroup$
    – Student
    Commented Sep 23 at 17:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.