1

We know that any "effectively computable" process is computable by a Turing machine (Turing-Church thesis).

Although it seems that "effectively computable" is still open to discussion, the intuitive interpretation is that any process that is "mechanical enough" can be computed by a Turing machine.

Turing's initial objective was to axiomatise how humans do reasoning. Now what do you need to reason? Non-ambiguous definitions (axioms) and non-ambiguous rules. Then you are good to go. So in effect if TM successfully modelise how humans think, that's all they should need and hence natural languages should be quite a close candidate to become regular languages as long as we impose that words have just one meaning.

My question is then, intuitively, is it enough for a language to be "non-ambiguous" to be computed by a Turing machine? Or is there more intuitive properties that the language need to respect?

(I am currently trying to figure out if the laws voted in a parliament, although written in mundane English, have enough of these characteristics to be computed by an automaton).

Jerome
  • 119
  • 7

2 Answers2

1

Under reasonable assumptions, there is a TM which can decide whether something is a valid piece of English legalese. We can safely assume that the length of a law is bounded by some finite number $k$, say the number of characters the fastest human reader can read in less than two hundred years. There is then only a finite number of possible strings that might or might not be valid laws. Hence there is a lookup table of finite size that contains for every string of length at most $k$ the correct answer.

It is not settled whether humans can in fact recognize languages that TM can't recognize, so it's unclear whether the length restriction is truly necessary. See for example this question, or this question.

This is of course a boring answer, because this TM is completely impractical to construct. In actual practice you probably want to restrict yourself to a subset of English that can be parsed by an LL(k) parser (real English is not context-free), or go for a language specifically designed to be easy to understand to both humans and computers. @LukasBarth mentioned Lojban in the comments, but there are a number of such languages (programming languages are another example).

adrianN
  • 5,991
  • 19
  • 27
1

Since there is no reason to believe there is a mysterious, non-computable process which magically allows humans to recognize English, the CT thesis can actually be appealed to say that it is theoretically possible to build a machine that recognizes English at least as accurately as a chosen human.

In the most boring case, you can simply simulate the human brain to decide whether a particular string is valid English or not.

However, take into account that valid English is a much more fluent notion than that of a formal language (English can change through time, etc). Thus it does not have a nice mathematical characterization. The cleanest I can think of is defining English as whatever this particular brain in this particular state accepts as English, which is circular. However, it is a formal characterization anyway.

Jsevillamol
  • 325
  • 1
  • 7