Skip to article frontmatterSkip to article content

6.3Algorithms for Regular and Context-Free Languages

The University of Melbourne

In the following, we use the notation O\langle O \rangle to denote the encoding of the object OO into a string. Given a list of objects O1,,OkO_1, \ldots, O_k, we use O1,,Ok\langle O_1, \ldots, O_k \rangle to be an encoding of the objects into a single string.

For example, if x1q1y1x_1q_1y_1 and x2q2y2x_2q_2y_2 are the configurations of a NTM at some point in time, we can encode them into a single string x1q1y1#x2q2y2x_1q_1y_1\#x_2q_2y_2.

Another example is that we can encode Turing machines into their corresponding Python (or your favorite programming language) source code.

The following is a brief summary of the results for problems about regular and context-free languages. See lectures for details.

6.3.1Regular languages

6.3.2Context-Free

For these, you only need to know the statements, not the proofs. See Sipser for proofs.

Footnotes
  1. This is not as easy as DFA Acceptance.