Professional Documents
Culture Documents
Automata, Computability, and Formal Language: Spring 2021
Automata, Computability, and Formal Language: Spring 2021
Spring 2021
1
Chapter 11: A Hierarchy of
Formal Languages and Automata
1. Recursive and Recursively Enumerable Languages
• Languages That Are Not Recursively Enumerable
• A Language That Is Not Recursively Enumerable
• A Language That Is Recursively Enumerable But Not
Recursive
2. Unrestricted Grammars
3. Context-Sensitive Grammars and Languages
• Context-Sensitive Languages and Linear Bounded
Automata
• Relation Between Recursive and Context-Sensitive
Languages
4. The Chomsky Hierarchy
2
Learning Objectives
At the conclusion of the chapter, the student will be able to:
• Explain the difference between recursive and recursively enumerable
languages
• Describe the type of productions in an unrestricted grammar
• Identify the types of languages generated by unrestricted grammars
• Describe the type of productions in a context sensitive grammar
• Give a sequence of derivations to generate a string using the
productions in a context sensitive grammar
• Identify the types of languages generated by context-sensitive grammars
• Construct a context-sensitive grammar to generate a particular language
• Describe the structure and components of the Chomsky hierarchy
A Hierarchy of Formal Languages and Automata
Recursively enumerable language
Unrestricted Grammars, Turing Machine
Context-Sensitive Languages
Context-Sensitive grammars
Linear Bounded Automata
Context-free language
Context-free grammar, NDPA
Pick t = 0011…
Then
A contradiction!
So, 2S is not countable
Unrestricted Grammars
• An unrestricted grammar has essentially no restrictions on
the form of its productions:
• Any variables and terminals on the left side, in any order
• Any variables and terminals on the right side, in any order
• The only restriction is that is not allowed as the left side of a
production
• A sample unrestricted grammar has productions
S S1 B
S1 aS1b
bB bbbB
aS1b aa
B
Unrestricted Grammars and Recursively
Enumerable Languages
• Theorem 11.6: Any language generated by an unrestricted
grammar is recursively enumerable
• Theorem 11.7: For every recursively enumerable language L,
there exists an unrestricted grammar G that generates L
• These two theorems establish the result that unrestricted
grammars generate exactly the family of recursively
enumerable languages, the largest family of languages that
can be generated or recognized algorithmically
Context-Sensitive Grammars
• In a context-sensitive grammar, the only restriction is that, for
any production, length of the right side is at least as large as
the length of the left side
• Example 11.2 introduces a sample context-sensitive grammar
with productions
S abc | aAbc Derive the string aabbcc
Ab bA
S aAbc
Ac Bbcc abAc
bB Bb abBbcc
aB aa | aaA aBbbcc
aabbcc
Characteristics of Context-Sensitive Grammars
Context-Sensitive Languages
Context-free language
Regular language
An Extended Hierarchy
• We have studied additional language families and their relationships to those
in the Chomsky Hierarchy
• By including deterministic context-free languages and recursive languages,
we obtain the extended hierarchy as below
Recursive languages
Turing machine that
halts on any inputs.
Deterministic
context-free languages
DPDA
A Closer Look at the Family of Context-
Free Languages
The following figure illustrates the relationships among various
subsets of the family of context-free languages: regular (LREG), linear
(LLIN), deterministic context-free (LDCF), and nondeterministic
context-free (LCF)
Linear languages
Linear grammars