0% found this document useful (0 votes)
170 views5 pages

Chomsky Normal Form

The document discusses Chomsky normal form, which is a way to standardize context-free grammars. Chomsky normal form restricts productions to be either of the form A → BC, where A, B, and C are nonterminals, or A → a, where A is a nonterminal and a is a terminal. The document provides an example grammar in Chomsky normal form and outlines the steps to convert a grammar into Chomsky normal form, which involve introducing new nonterminals to split productions with more than two symbols on the right-hand side.

Uploaded by

Sinan Ahmed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
170 views5 pages

Chomsky Normal Form

The document discusses Chomsky normal form, which is a way to standardize context-free grammars. Chomsky normal form restricts productions to be either of the form A → BC, where A, B, and C are nonterminals, or A → a, where A is a nonterminal and a is a terminal. The document provides an example grammar in Chomsky normal form and outlines the steps to convert a grammar into Chomsky normal form, which involve introducing new nonterminals to split productions with more than two symbols on the right-hand side.

Uploaded by

Sinan Ahmed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Chomsky Normal Form | Normal Forms

in Automata
Normal Forms-

Normalization is performed in order to standardize the grammar.

• By reducing the grammar, the grammar gets minimized but does not gets
standardized.
• This is because the RHS of productions have no specific format.
• In order to standardize the grammar, normalization is performed using normal forms.

Types of Normal Forms-

The most frequently used normal forms are-

1. Chomsky Normal Form (CNF)


2. Greibach Normal Form (GNF)

In this article, we will discuss about Chomsky Normal Form.


Chomsky Normal Form-

A context free grammar is said to be in chomsky normal form (CNF) if all its productions are of the
form-
A → BC or A → a
where A, B, C are non-terminals and a is a terminal.

From here, we infer-


• To be in CNF, all the productions must derive either two non-terminals or a single
terminal.
• CNF restricts the number of symbols on the right side of a production to be two.
• The two symbols must be non-terminals or a single terminal.

Example-

S → AB
A→a
B→b

This context free grammar is in chomsky normal form.

Steps-

The following steps are followed to standardize the grammar using CNF-

Rule-01:

Reduce the grammar completely by-


• Eliminating ∈ productions
• Eliminating unit productions
• Eliminating useless productions

Rule-02:

Replace each production of the form A → B1B2B3….Bn where n > 2 with A → B1C where
C → B2B3….Bn.
Repeat this step for all the productions having more than two variables on RHS.

Rule-03:

Replace each production of the form A → aB with A → XB and X → a.


Repeat this step for all the productions having the form A → aB.

PRACTICE PROBLEMS BASED ON CHOMSKY


NORMAL FORM-

Problem-01:

Convert the given grammar to CNF-


S → aAD
A → aB / bAB
B→b
D→d

Solution-

Step-01:

The given grammar is already completely reduced.


Step-02:

The productions already in chomsky normal form are-


B→b ………..(1)
D→d ………..(2)
These productions will remain as they are.

The productions not in chomsky normal form are-


S → aAD ………..(3)
A → aB / bAB ………..(4)
We will convert these productions in chomsky normal form.

Step-03:

Replace the terminal symbols a and b by new variables Ca and Cb.

This is done by introducing the following two new productions in the grammar-
Ca → a ………..(5)
Cb → b ………..(6)

Now, the productions (3) and (4) modifies to-


S → CaAD ………..(7)
A → CaB / CbAB ………..(8)

Step-04:

Replace AD and AB by new variables CAD and CAB respectively.

This is done by introducing the following two new productions in the grammar-
CAD → AD ………..(9)
CAB → AB ………..(10)

Now, the productions (7) and (8) modifies to-


S → CaCAD ………..(11)
A → CaB / CbCAB ………..(12)

Step-05:

From (1), (2), (5), (6), (9), (10), (11) and (12), the resultant grammar is-

S → CaCAD
A → CaB / CbCAB
B→b
D→d
Ca → a
Cb → b
CAD → AD
CAB → AB

This grammar is in chomsky normal form.

You might also like