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 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

Type Language productions Device 3 Regular A → aB, A → a Finite Automaton 2 CFL A → α 1 CSL α → β,|β| ≥ |α| 0 RE α → β A,B→ Nonterminals α,β→ string of terminals and nonterminals a→ terminal symbol

Aparna S Vijayan (CSA) CSG December 2, 2011 11 / 12 References

Introduction to Languages and Computation by ”JOHN E HOPCROFT”,”JEFFERY D.ULLMAN”.

Introduction to Languages and the ”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 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