Context Sensitive Grammar
Aparna S Vijayan
Department of Computer Science and Automation
December 2, 2011
Aparna S Vijayan (CSA) CSG December 2, 2011 1 / 12 1 Definition of CSG 2 Context Sensitive Language(CSL) 3 Example of CSL 4 Chomsky Hierachy
Contents
Aparna S Vijayan (CSA) CSG December 2, 2011 2 / 12 2 Context Sensitive Language(CSL) 3 Example of CSL 4 Chomsky Hierachy
Contents
1 Definition of CSG
Aparna S Vijayan (CSA) CSG December 2, 2011 2 / 12 3 Example of CSL 4 Chomsky Hierachy
Contents
1 Definition of CSG 2 Context Sensitive Language(CSL)
Aparna S Vijayan (CSA) CSG December 2, 2011 2 / 12 4 Chomsky Hierachy
Contents
1 Definition of CSG 2 Context Sensitive Language(CSL) 3 Example of CSL
Aparna S Vijayan (CSA) CSG December 2, 2011 2 / 12 Contents
1 Definition of CSG 2 Context Sensitive Language(CSL) 3 Example of CSL 4 Chomsky Hierachy
Aparna S Vijayan (CSA) CSG December 2, 2011 2 / 12 Definition
Context Sensitive Grammar(Type1 Grammar) A context-sensitive grammar (CSG) is an unrestricted grammar in which every production has the form α → β with |β| ≥ |α| (where α and β are strings of nonterminals and terminals). The concept of context-sensitive grammar was introduced by Noam Chomsky in the 1950. In every derivation the length of the string never decreases. The term ”context-sensitive” comes from a normal form for these grammars,where each production is of the form α1Aα2→α1βα2,with β 6= . They permit replacement of variable A by string β only in the ”context ” α1 - α2.
Aparna S Vijayan (CSA) CSG December 2, 2011 3 / 12 N=Set of non terminal symbols. Σ=Set of terminal symbols. S=Start symbol of the production. P=Finite set of productions. All rules in P are of the form α1Aα2→α1βα2. A ∈ N ( A is a single nonterminal) + α1, α2, β ∈ (N ∪ Σ) .
Formal Definition
A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where:
Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12 Σ=Set of terminal symbols. S=Start symbol of the production. P=Finite set of productions. All rules in P are of the form α1Aα2→α1βα2. A ∈ N ( A is a single nonterminal) + α1, α2, β ∈ (N ∪ Σ) .
Formal Definition
A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where: N=Set of non terminal symbols.
Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12 S=Start symbol of the production. P=Finite set of productions. All rules in P are of the form α1Aα2→α1βα2. A ∈ N ( A is a single nonterminal) + α1, α2, β ∈ (N ∪ Σ) .
Formal Definition
A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where: N=Set of non terminal symbols. Σ=Set of terminal symbols.
Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12 P=Finite set of productions. All rules in P are of the form α1Aα2→α1βα2. A ∈ N ( A is a single nonterminal) + α1, α2, β ∈ (N ∪ Σ) .
Formal Definition
A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where: N=Set of non terminal symbols. Σ=Set of terminal symbols. S=Start symbol of the production.
Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12 All rules in P are of the form α1Aα2→α1βα2. A ∈ N ( A is a single nonterminal) + α1, α2, β ∈ (N ∪ Σ) .
Formal Definition
A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where: N=Set of non terminal symbols. Σ=Set of terminal symbols. S=Start symbol of the production. P=Finite set of productions.
Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12 Formal Definition
A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where: N=Set of non terminal symbols. Σ=Set of terminal symbols. S=Start symbol of the production. P=Finite set of productions. All rules in P are of the form α1Aα2→α1βα2. A ∈ N ( A is a single nonterminal) + α1, α2, β ∈ (N ∪ Σ) .
Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12 If G is a Context Sensitive Grammar then ∗ + L(G)= w (w ∈ Σ ) ∧ S ⇒G w .
Eg 1 of a context sensitive grammar G = {{S, A, B, C, a, b, c} , {a, b, c} , P, S}where P is the set of rules. S→ aSBC S → aBC CB → BC aB → ab bB → bb bC → bc cC →cc The language generated by this grammar is {anbncn|n ≥ 1} .
Context Sensitive Language
The language generated by the Context Sensitive Grammar is called context sensitive language.
Aparna S Vijayan (CSA) CSG December 2, 2011 5 / 12 Eg 1 of a context sensitive grammar G = {{S, A, B, C, a, b, c} , {a, b, c} , P, S}where P is the set of rules. S→ aSBC S → aBC CB → BC aB → ab bB → bb bC → bc cC →cc The language generated by this grammar is {anbncn|n ≥ 1} .
Context Sensitive Language
The language generated by the Context Sensitive Grammar is called context sensitive language. If G is a Context Sensitive Grammar then ∗ + L(G)= w (w ∈ Σ ) ∧ S ⇒G w .
Aparna S Vijayan (CSA) CSG December 2, 2011 5 / 12 Context Sensitive Language
The language generated by the Context Sensitive Grammar is called context sensitive language. If G is a Context Sensitive Grammar then ∗ + L(G)= w (w ∈ Σ ) ∧ S ⇒G w .
Eg 1 of a context sensitive grammar G = {{S, A, B, C, a, b, c} , {a, b, c} , P, S}where P is the set of rules. S→ aSBC S → aBC CB → BC aB → ab bB → bb bC → bc cC →cc The language generated by this grammar is {anbncn|n ≥ 1} .
Aparna S Vijayan (CSA) CSG December 2, 2011 5 / 12 S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc
Context Sensitive Language
The derivation for the string aabbcc is
Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12 ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc
Context Sensitive Language
The derivation for the string aabbcc is
S ⇒ aSBC
Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12 ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc
Context Sensitive Language
The derivation for the string aabbcc is
S ⇒ aSBC ⇒ aaBCBC
Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12 ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc
Context Sensitive Language
The derivation for the string aabbcc is
S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC
Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12 ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc
Context Sensitive Language
The derivation for the string aabbcc is
S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC
Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12 ⇒ aabbcC ⇒ aabbcc
Context Sensitive Language
The derivation for the string aabbcc is
S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC
Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12 ⇒ aabbcc
Context Sensitive Language
The derivation for the string aabbcc is
S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC
Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12 Context Sensitive Language
The derivation for the string aabbcc is
S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc
Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12 Example2 CSG L = (#a = #b = #c)
G2 =({S, A, B, C, a, b, c} , {a, b, c} , P, S) S→ ABC S →ABCS AB→ BA AC → CA BC → CB BA → AB CA →AC CB → BC A → a B →b C →c Aparna S Vijayan (CSA) CSG December 2, 2011 7 / 12 Hierarchy of Formal Languages
Aparna S Vijayan (CSA) CSG December 2, 2011 8 / 12 Relation between Formal Languages
The CFL’s not containing are properly contained in the context sensitive languages Not all Context Sensitive Languages are Context Free. Every Context Sensitive Language is recusive.
Aparna S Vijayan (CSA) CSG December 2, 2011 9 / 12 Chomsky Hierachy
Described by Chomsky in 1956. Four classes of language Type 3,Type2,Type1,Type 0 from most restrictive to most general(Unestricted). Each level of hierarchy can be characterized by a class of grammar.
Aparna S Vijayan (CSA) CSG December 2, 2011 10 / 12 Chomsky Hierarchy
Type Language productions Device 3 Regular A → aB, A → a Finite Automaton 2 CFL A → α Pushdown Automaton 1 CSL α → β,|β| ≥ |α| Linear Bounded Automaton 0 RE α → β Turing Machine A,B→ Nonterminals α,β→ string of terminals and nonterminals a→ terminal symbol
Aparna S Vijayan (CSA) CSG December 2, 2011 11 / 12 References
Introduction to Automata Theory Languages and Computation by ”JOHN E HOPCROFT”,”JEFFERY D.ULLMAN”.
Introduction to Languages and the Theory of Computation ”JOHN MARTIN”
http://en.wikipedia.org/wiki/Context-sensitive grammar
http://adammikeal.org/courses/compute/Chomsky
Aparna S Vijayan (CSA) CSG December 2, 2011 12 / 12 Linear Bounded Automata
Indu John
Department of Computer Science and Automation Indian Institute of Science, Bangalore
December 1, 2011
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 1 / 14 Definition
Results about LBAs
CSLs and LBAs
Overview
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 2 / 14 Results about LBAs
CSLs and LBAs
Overview
Definition
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 2 / 14 CSLs and LBAs
Overview
Definition
Results about LBAs
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 2 / 14 Overview
Definition
Results about LBAs
CSLs and LBAs
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 2 / 14 Definition
A Turing machine that uses only the tape space occupied by the input is called a linear-bounded automaton (LBA).
A linear bounded automaton is a nondeterministic Turing machine M = (Q, Σ, Γ, δ, s, t, r) such that: There are two special tape symbols < and >(the left end marker and right end marker). The TM begins in the configuration (s, < x >, 0). The TM cannot replace < or > with anything else, nor move the tape head left of < or right of >.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 3 / 14 Possible to simulate k tape cells with a single tape cell, by increasing the size of the tape alphabet
Examples: {anbncn|n ≥ 0}; counting number of a’s
This limitation makes the LBA a somewhat more accurate model of computers that actually exist than a Turing machine, whose definition assumes unlimited tape.
LBA
An equivalent definition of an LBA is that it uses only k times the amount of space occupied by the input string, where k is a constant fixed for the particular machine.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 4 / 14 Examples: {anbncn|n ≥ 0}; counting number of a’s
This limitation makes the LBA a somewhat more accurate model of computers that actually exist than a Turing machine, whose definition assumes unlimited tape.
LBA
An equivalent definition of an LBA is that it uses only k times the amount of space occupied by the input string, where k is a constant fixed for the particular machine. Possible to simulate k tape cells with a single tape cell, by increasing the size of the tape alphabet
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 4 / 14 This limitation makes the LBA a somewhat more accurate model of computers that actually exist than a Turing machine, whose definition assumes unlimited tape.
LBA
An equivalent definition of an LBA is that it uses only k times the amount of space occupied by the input string, where k is a constant fixed for the particular machine. Possible to simulate k tape cells with a single tape cell, by increasing the size of the tape alphabet
Examples: {anbncn|n ≥ 0}; counting number of a’s
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 4 / 14 LBA
An equivalent definition of an LBA is that it uses only k times the amount of space occupied by the input string, where k is a constant fixed for the particular machine. Possible to simulate k tape cells with a single tape cell, by increasing the size of the tape alphabet
Examples: {anbncn|n ≥ 0}; counting number of a’s
This limitation makes the LBA a somewhat more accurate model of computers that actually exist than a Turing machine, whose definition assumes unlimited tape.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 4 / 14 In 1960, Myhill introduced an automaton model today known as deterministic linear bounded automaton. Shortly thereafter, Landweber proved that the languages accepted by a deterministic LBA are always context-sensitive. In 1964, Kuroda introduced the more general model of (nondeterministic) linear bounded automata, and showed that the languages accepted by them are precisely the context-sensitive languages.
History
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 5 / 14 Shortly thereafter, Landweber proved that the languages accepted by a deterministic LBA are always context-sensitive. In 1964, Kuroda introduced the more general model of (nondeterministic) linear bounded automata, and showed that the languages accepted by them are precisely the context-sensitive languages.
History
In 1960, Myhill introduced an automaton model today known as deterministic linear bounded automaton.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 5 / 14 In 1964, Kuroda introduced the more general model of (nondeterministic) linear bounded automata, and showed that the languages accepted by them are precisely the context-sensitive languages.
History
In 1960, Myhill introduced an automaton model today known as deterministic linear bounded automaton. Shortly thereafter, Landweber proved that the languages accepted by a deterministic LBA are always context-sensitive.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 5 / 14 History
In 1960, Myhill introduced an automaton model today known as deterministic linear bounded automaton. Shortly thereafter, Landweber proved that the languages accepted by a deterministic LBA are always context-sensitive. In 1964, Kuroda introduced the more general model of (nondeterministic) linear bounded automata, and showed that the languages accepted by them are precisely the context-sensitive languages.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 5 / 14 Number of configurations
Suppose that a given LBA M has q states, m characters in the tape alphabet , and the input length is n. Then M can be in at most
Tapecontents Headposition State z}|{ α(n) = mn ∗ z}|{n ∗ z}|{q
configurations.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 6 / 14 Membership problem The membership problem is solvable for linear bounded automata.
ALBA = {< M, w > |M is an LBA and M accepts w} is decidable.
Results about LBA
Halting Problem The halting problem is solvable for linear bounded automata.
HaltLBA = {< M, w > |M is an LBA and M halts on w} is decidable. An LBA that stops on input w must stop in at most α(|w|) steps
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 7 / 14 Results about LBA
Halting Problem The halting problem is solvable for linear bounded automata.
HaltLBA = {< M, w > |M is an LBA and M halts on w} is decidable. An LBA that stops on input w must stop in at most α(|w|) steps
Membership problem The membership problem is solvable for linear bounded automata.
ALBA = {< M, w > |M is an LBA and M accepts w} is decidable.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 7 / 14 Results about LBA
Emptiness Problem The emptiness problem is unsolvable for linear bounded automata.
For every Turing machine there is a linear bounded automaton which accepts the set of strings which are valid halting computations for the Turing machine.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 8 / 14 1 Is the class of languages accepted by LBA equal to the class of languages accepted by deterministic LBA? Open Problem! 2 Is the class of languages accepted by LBA closed under complement? Yes. (Immerman Szelepcsenyi Theorem)
LBA Problems
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 9 / 14 Open Problem! 2 Is the class of languages accepted by LBA closed under complement? Yes. (Immerman Szelepcsenyi Theorem)
LBA Problems
1 Is the class of languages accepted by LBA equal to the class of languages accepted by deterministic LBA?
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 9 / 14 2 Is the class of languages accepted by LBA closed under complement? Yes. (Immerman Szelepcsenyi Theorem)
LBA Problems
1 Is the class of languages accepted by LBA equal to the class of languages accepted by deterministic LBA? Open Problem!
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 9 / 14 Yes. (Immerman Szelepcsenyi Theorem)
LBA Problems
1 Is the class of languages accepted by LBA equal to the class of languages accepted by deterministic LBA? Open Problem! 2 Is the class of languages accepted by LBA closed under complement?
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 9 / 14 LBA Problems
1 Is the class of languages accepted by LBA equal to the class of languages accepted by deterministic LBA? Open Problem! 2 Is the class of languages accepted by LBA closed under complement? Yes. (Immerman Szelepcsenyi Theorem)
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 9 / 14 LBAs and CSLs
Theorem(Landweber-Kuroda) A language is accepted by an LBA iff it is context sensitive.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 10 / 14 Proof
⇐ If L is a CSL, then L is accepted by some LBA.
Let G = (N, Σ, S, P) be the given grammar such that L(G) = L. Construct LBA M with tape alphabet Σ × {N ∪ Σ}(2- track machine) First track holds input string w Second track holds a sentential form α of G, initialized to S.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 11 / 14 Proof...
If w = , M halts without accepting. Repeat : 1 Non-deterministically select a position i in α. 2 Non-deterministically select a production β → γ of G. 3 If β appears beginning in position i of α, replace β by γ there. If the sentential form is longer than w, LBA halts without accepting. 4 Compare the resulting sentential form with w on track 1. If they match, accept. If not go to step 1.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 12 / 14 Sketch of proof : Derivation simulates moves of LBA Three types of productions 1 Productions that can generate two copies of a string in Σ∗, along with some symbols that act as markers to keep the two copies separate. 2 Productions that can simulate a sequence of moves of M. During this portion of a derivation, one of the two copies of the original string is left unchanged; the other, representing the input tape to M, is modified accordingly. 3 Productions that can erase everything but the unmodified copy of the string, provided that the simulated moves of M applied to the other copy cause M to accept.
Proof...
⇒ If there is a linear bounded automaton M accepting the language L, then there is a context sensitive grammar generating L − {}.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 13 / 14 Three types of productions 1 Productions that can generate two copies of a string in Σ∗, along with some symbols that act as markers to keep the two copies separate. 2 Productions that can simulate a sequence of moves of M. During this portion of a derivation, one of the two copies of the original string is left unchanged; the other, representing the input tape to M, is modified accordingly. 3 Productions that can erase everything but the unmodified copy of the string, provided that the simulated moves of M applied to the other copy cause M to accept.
Proof...
⇒ If there is a linear bounded automaton M accepting the language L, then there is a context sensitive grammar generating L − {}.
Sketch of proof : Derivation simulates moves of LBA
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 13 / 14 Proof...
⇒ If there is a linear bounded automaton M accepting the language L, then there is a context sensitive grammar generating L − {}.
Sketch of proof : Derivation simulates moves of LBA Three types of productions 1 Productions that can generate two copies of a string in Σ∗, along with some symbols that act as markers to keep the two copies separate. 2 Productions that can simulate a sequence of moves of M. During this portion of a derivation, one of the two copies of the original string is left unchanged; the other, representing the input tape to M, is modified accordingly. 3 Productions that can erase everything but the unmodified copy of the string, provided that the simulated moves of M applied to the other copy cause M to accept.
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 13 / 14 References
John Martin, ”Introduction to Languages and the Theory of Computation” , Tata McGraw-Hill, Third Edition.
John Hopcroft, Jeffery Ullman, ”Introduction to Automata Theory, Languages and Computation”.
http://www.cs.uky.edu/~lewis/texts/theory/automata/lb-auto.pdf
http://en.wikipedia.org/wiki/Linear_bounded_automaton
http://www.fit.vutbr.cz/~janousek/vyuka/vsl2/newer/class19.pdf
Indu John (Department of CSA) Linear Bounded Automata December 1, 2011 14 / 14