Automata Chomsky Hierarchy

Chomsky Hierarchy

Formal languages: A language with precise syntax and semantics are called formal languages.

Noam Chomsky has defined the Chomsky hierarchy in 1956. He is an American scientist and philosopher, and gave the mathematical model of grammar which is effective & efficient for writing computer languages.

The Chomsky hierarchy is a collection of various formal grammars. With the use of this formal grammar we can generate some formal languages.

The Chomsky hierarchy contains 4 types of grammar, which are listed below:

  • Unrestricted grammar
  • Context sensitive grammar
  • Context free grammar
  • Regular grammar

The power of all machines are in the form FA<PDA<LBA<TM

Automata Chomsky Hierarchy

The above diagram shows the relationship between languages and their corresponding relation.

Unrestricted Grammar:

It is more powerful than other types of grammar in Chomsky hierarchy. It is also called unrestricted grammar or phrase grammar or semi-Thue grammar. The language generated by unrestricted grammar is recognized by Turing machine. The relationship of unrestricted grammar and Turing machine is shown below:

Automata Chomsky Hierarchy

A grammar with no restrictions on the production rules is called unrestricted grammar.

An unrestricted grammar or type 0 grammar G consists of 4 tuples (V, T, P, S):

V: - It is a finite set of variables also called non-terminals.

T: - It is a collection of finite set of symbols called terminals in every production rule.

S: - It is called the start symbol of every production rule.

P: - It is a finite set of rules called production rules. Production rules are in the form:

P: ? -> ?

Context Sensitive Grammar:

Context sensitive grammar is also called Type -1 grammar. Type -1 grammar defines the language called context sensitive language, which are accepted by Linear Bounded Automata. The relationship of context sensitive grammar and linear bounded automata is shown below:

Automata Chomsky Hierarchy

Context sensitive grammar or type 1 grammar consists of 4 tuples or elements (V, T, P, S):

V: - It is a finite set of variables also called non-terminals.

T: - It is a collection of finite set of symbols called terminals in every production rule.

S: - It is called the start symbol of every production rule.

P: - It is a finite set of rules called production rules .Production rules are in the form:

P: ?A? -> ???

Example of context sensitive language are:

L = { anbncn : n>=1 }

Context free Grammar:

In Context Free Grammar, production rules have condition that on the left-hand side of each rule there must be a single variable and on the right-hand side of production rules there may be combination of variables and terminals, and can also include empty string i.e. ?.

Context Free grammar also called type -2 grammar. It defines the language that is accepted by Push down Automata.

The relationship of context free grammar and push down automata is shown below:

Automata Chomsky Hierarchy

A Context Free Grammar or type 2 grammar G consists of 4 tuples (V, T, P, S):

V: - It is a finite set of variables also called non-terminals.

T: - It is a collection of finite set of symbols called terminals in every production rule.

S: - It is called the start symbol of each production rule.

P: - It is a finite set of rules called production. Production rules Production rules are in the form:

P: ? -> ?

Consider the example of Context free Grammar:

S -> 0S1

S -> 1S1

S-> ?

This grammar can also be written as:

S -> 0S1|1S1| ?

Regular Grammar

Regular grammar is also called Type -3 grammar.

A regular grammar defines the language called regular language that are accepted by finite Automata.

The relationship of regular grammar and finite automata is shown below:

Automata Chomsky Hierarchy

A Regular Grammar or type 3 grammar G consists of 4 tuples (V, T, P, S):

V: - It is a finite set of variables also called non-terminals.

T: - It is a collection of finite set of symbols called terminals in every production rule.

S: - It is called the start symbol of each production rule.

P: It isa finite set of rules called production rules. Production rules are in the form:

P: A -> a or

 A -> aB

Example:

L = { an b2m | n>=0,m>=0 } is a regular language


Related Topics

Conversion from Mealy Machine to Moore Machine

Conversion from Mealy Machine to Moore Machine In this topic, we will see different ways that are used for the conversion of Mealy Machine to Moore Machine. Moore Machine The output of Moore...

4 minutes read.

Undecidable Problem of Turing Machine

Automata Undecidable Problem of Turing Machine Undecidable problems areproblems which cannot be solved by any Turing machine. Example: Post Correspondence Problem is the type of undecidable Problem. Post Correspondence Problem Post Correspondence problem is...

7 minutes read.

Pumping Lemma for Context Free Languages

Pumping Lemma for Context Free Languages The Pumping Lemma is made up of two words, in which, the word pumping is used to generate many input strings by pushing the symbol...

3 minutes read.

Recursive Language and Recursive Enumerable Language

Recursive Language and Recursive Enumerable Language Before discussing Recursive language and Recursive Enumerable language, let us see what Turing machine responds for some input string. If we have the Turing machine T...

4 minutes read.

Automata Greibach Normal Form

Greibach Normal Form In Greibach Normal Form, there is restriction on the position, in which, terminals and variables can appear on right-hand side of production rules. In Greibach Normal Form, every...

4 minutes read.

Automata Chomsky Hierarchy

Chomsky Hierarchy Formal languages: A language with precise syntax and semantics are called formal languages. Noam Chomsky has defined the Chomsky hierarchy in 1956. He is an American scientist and philosopher, and...

3 minutes read.

Equivalence of Regular Grammar and Finite Automata

Equivalence of Regular Grammar and Finite Automata Regular Grammar / type -3 grammar A regular grammar or type-3 defines the language called regular language that is accepted by finite Automata.A Regular Grammar...

3 minutes read.

Minimization of Finite Automata

Minimization of Finite Automata The term minimization refers to the construction of finite automata with a minimum number of states, which is equivalent to the given finite automata. The number of...

4 minutes read.

Finite Automata with Output

Finite Automata with Output The Finite State machine is similar to Finite Automata, except that it has the additional capacity of producing output. Finite State machine = Finite Automata + Output Capabilities Types...

3 minutes read.

Finite Automata

Finite Automata Finite state Automata or Finite State Machine is the simplest model used in Automata. Finite state automata accepts regular language. In this, the term finite means it has a...

4 minutes read.

Chomsky's Normal Form - Automata

Chomsky's Normal Form (CNF) In context free grammar, the left-hand side of production rules contains only one variable, and right side may contain any number of variables or terminals in production...

4 minutes read.

Pumping Lemma for Regular Languages - Automata

Pumping Lemma for Regular Languages The language accepted by the finite automata is called Regular Language. If we are given a language L and asked whether it is regular or not?...

4 minutes read.

Automata Regular Expressions

Regular Expressions Regular expressions are also referred as rational expressions, which are used to describe the algebraic description of regular languages. It is generally a sequence of characters that is used...

3 minutes read.

Ambiguity in Context Free Grammar - Automata

Ambiguity in Context Free Grammar? Context Free Grammar Context Free Grammar has one condition for production rules, which is, on the left-hand side of each rule, there must be only single variable,...

4 minutes read.

Conversion from NFA to DFA

Conversion from NFA to DFA A Non-deterministic Finite Automata (NFA) is a finite state machine, in which, the move from one state to another is not fully deterministic, i.e., for a...

4 minutes read.

Simplification of Context Free Grammar - Automata

Simplification of Context Free Grammar Context Free Grammar has recursive structure. The languages that are accepted with Context Free Grammar are called Context Free Languages. Context Free Grammar has one condition...

3 minutes read.

Automata Tutorial

What is Automata? Automata is a mathematical model and abstract model, which is used to detect string in various languages. In Automata, Regular language is recognized by Finite state AutomataContext Free language...

4 minutes read.

Converting Finite Automata to Regular Expression using Arden’s Theorem

Converting Finite Automata to Regular Expression using Arden’s Theorem The Arden’s Theorem can be applied to find the regular expression recognized by the given transition diagram. This theorem can be applied...

4 minutes read.

What is Automata Theory?

What is Automata Theory? Automata theory is used to study the abstract machine and automata (the self-acting machine).  Abstract machine is a theoretical model of a computer used in Automata theory. Automata...

4 minutes read.

Derivation Tree of Context Free Grammar - Automata

Derivation Tree of Context Free Grammar Derivation tree gives a way to show how a string can be derived from context free grammar. It is also called as parse tree, production...

3 minutes read.