|
|||||
![]() Theory of
Automata
(CS402)
Theory of
Automata
Lecture
N0. 36
Reading
Material
Introduction
to Computer Theory
Chapter
13,14
Summary
Chomsky
Normal Form, Theorem regarding
CNF, examples of converting
CFG to be in CNF, Example of
an
FA corresponding to
Regular CFG, Left most and
Right most derivations, New
format of FAs.
Chomsky
Normal Form (CNF)
If a CFG
has only productions of the
form
nonterminal
Æ
string of
two nonterminals
or
nonterminal
Æ
one
terminal
then
the CFG is said to be in
Chomsky Normal Form
(CNF).
Note
It is to be
noted that any CFG
can be converted to be in CNF, if
the null productions and
unit productions are
removed.
Also if a CFG contains
nullable productions as well, then
the corresponding new production
are also
to be
added. Which leads the
following theorem
Theorem
All
NONNULL words of the CFL
can be generated by the corresponding
CFG which is in CNF i.e.
the
grammar in
CNF will generate the
same language except the
null string.
Following
is an example showing that a
CFG in CNF generates all
nonnull words of corresponding
CFL.
Example
Consider
the following CFG
S Æ aSa|bSb|a|b|aa|bb
To
convert the above CFG to be
in CNF, introduce the new productions
as
A Æ a, B Æ b, then
the new CFG will
be
S Æ ASA|BSB|AA|BB|a|b
AÆa
BÆb
Introduce
nonterminals R1 and R2 so that
S Æ AR1|BR2|AA|BB|a|b
R1 Æ SA
R2 Æ SB
AÆa
BÆb
which is
in CNF.
It may be
observed that the above CFG
which is in CNF generates
the NONNULLPALINDROME, which
does
not
contain the null string.
Example
Consider
the following CFG
S Æ ABAB
A Æ a|L
B Æ b|L
Here S Æ ABAB is
nullable production and A Æ L, B Æ L are
null productions. Removing the
null productions
A Æ L and B
Æ
L,
and introducing the new
productions as
S Æ BAB|AAB|ABB|ABA|AA|AB|BA|BB|A|B
Now S
Æ
A|B
are unit productions to be eliminated as shown
below
S Æ A gives S
Æ
a (using
A Æ
a)
S Æ B gives S
Æ
b (using
B Æ
b)
Thus the
new resultant CFG takes
the form
107
![]() Theory of
Automata
(CS402)
S Æ BAB|AAB|ABB|ABA|AA|AB|BA|BB|a|b,
A Æ
a, B
Æ
b.
Introduce
the nonterminal C where C Æ AB, so
that
S Æ BAB|AAB|ABB|ABA|AA|AB|BA|BB|a|b
S Æ BC|AC|CB|CA|AA|C|BA|BB|a|b
AÆa
BÆb
C Æ AB
is the
CFG in CNF.
Example
To
construct an FA that accepts
the grammar
SÆabA
AÆbaB
BÆaA|bb
The
language can be identified by
the three words generated as
follows
fi abA
S
fi abbaB
(using AÆbaB)
(using BÆbb)
fi abba
bb
fi abA
S
fi abbaB
(using AÆbaB)
fi abbaaA
(using BÆ aA)
fi abbaabaB
(using AÆ baB)
fi abbaababb
(using BÆ bb)
fi abA
S
fi abbaB
(using AÆbaB)
fi abbaaA
(using BÆ aA)
fi abbaabaB
(using AÆ baB)
fi abbaabaaA
(using BÆ aA)
fi abbaabaabaB
(using AÆ baB)
fi abbaabaababb
(using BÆ bb)
which
shows that corresponding language
has RE abba(aba)*bb.
Thus the FA accepting the
given CFG may be
a
S-
A
B
+
a
b
b
a
b
b
a
a
b
b
a
a,b
Left
most derivation
a,b
Definition
The
derivation of a word w, generated by a
CFG, such that at each step,
a production is applied to the left
most
nonterminal
in the working string, is said to be
left
most derivation.
It is to be
noted that the nonterminal
that occurs first from
the left in the working
string, is said to be left
most
nonterminal.
Example
Consider
the following CFG
SÆXY
X Æ XX|a
YÆYY|b
then
following are the two
left most derivations of
aaabb
108
![]() Theory of
Automata
(CS402)
fi XY
S fi XY
S
fi XXY
fi XXY
fi aXY
fi XXXY
fi aXXY
fi aXXY
fi aaXY
fi aaXY
fi aaaY
fi aaaY
fi aaaYY
fi aaaYY
fi aaabY
fi aaabY
=
aaabb
=
aaabb
Theorem
Any
word that can be generated
by a certain CFG has also a
left most derivation.
It is to be
noted that the above
theorem can be stated for
right most derivation as
well.
Example
Consider
the following CFG
SÆYX
X Æ XX|b
YÆYY|a
Following
are the left most
and right most derivations
of abbbb
S fi YX
fi YX
S
fi aX
fi YXX
fi aXX
fi YXb
fi abX
fi YXXb
fi abXX
fi YXbb
fi abbX
fi YXXbb
fi abbXX
fi YXbbb
fi abbbX
fi Ybbbb
=
abbbb
=
abbbb
A new
format for FAs
A class
of machines (FAs) has been
discussed accepting the
regular language i.e.
corresponding to a
regular
language
there is a machine in this
class, accepting that
language and corresponding to a machine
of this class
there is
a regular language accepted by
this machine. It has also
been discussed that there is
a CFG
corresponding to
regular language and CFGs
also define some nonregular
languages, as well
There is
a question whether there is a class of
machines accepting the CFLs?
The answer is yes. The
new
machines
which are to be defined are
more powerful and can be
constructed with the help of
FAs with new
format.
To define
the new format of an FA,
some terms are defined in
the next lecture.
109
Table of Contents:
|
|||||