Title: Finite Automata
1Finite Automata Formal Languages (FAFL)Push
Down Automata Properties of CFG - Revision
- Jibi AbrahamAsst. Professor, Dept of CSEM S
Ramaiah Institute of TechnologyBangalore. Email
jibiabraham_at_msrit.edu
2Set Difference
- L1 and L2 are CFLs. L1 - L2 is not necessarily a
CFL - Proof
- L1 ? - L
- ? is regular and is also CFL
- But ? - L LC
- If CFLs were closed under set difference, then
? - L LC would always be a CFL. - But CFLs are not closed under complementation
3Inverse homomorphism
- To recall If h is a homomorphism, and L is any
language, then h-1(L), called an inverse
homomorphism, is the set of all strings w such
that h(w)?L - The CFLs are closed under inverse homomorphism.
- Theorem If L is a CFL and h is a homomorphism,
then h-1(L) is a CFL
4Inverse homomorphism proof
5Proof Contd...
- After input a is read, h(a) is placed in a
buffer. - Symbols of h(a) are used one at a time and fed to
PDA being simulated. - Only when the buffer is empty does the PDA read
another of its input symbol and apply
homomorphism to it.
6Proof Contd...
- Suppose h applies to symbols of alphabet S and
produces strings in T. - Let PDA P (Q, T, G, d, q0, Z0, F) that accept
CFL L by final state. - Construct a new PDA P? (Q?, S, G, d?, (q0, ?),
Z0, F X ?) to simulate language of h-1(L),
where - Q? is the set of pairs (q, x) such that
- q is a state in Q
- x is a suffix of some string h(a) for some input
string a in S
7Proof Contd...
- d? is defined by
- d?((q, ?), a, X) ((q, h(a)),a,X)
- If d(q, b, X) (p, ?) where b?T or b ? then
d?((q, bx), ?, X) ((p, x), ?) - The start state of P is (q0, ?)
- The accepting state of P? is (q, ?), where q is
an accepting state of P. - (q0,h(w),Z0)-P (p,?,?) iff ((q0,?),w,Z0) -P?
((p, ?), ?, ?) - P accepts h(w) if and only if P? accepts w,
because of the way the accepting states of P? are
defined. Â - Thus L(P?)h-1(L(P))
8Revision
- Based on previous question papers
- Construction of PDA
- Convert CFG to PDA
- Simplification of CFG
- Conversion to CNF
- Pumping lemma of CFL
- Closure properties of CFL
9Revision -Construction of PDA
- To accept the language L aibjck i j k i
? 0, j ? 0 (Feb/Mar 2004 model question paper) - Solution PDA M (q0, q1, q2, q3, a, b, c,
a, b, Z0, d, q0, Z0, q3), where d is defined
by following rules - Â d(q0, a, Z0) (q0, aZ0), d(q0, a, a)
(q0, aa) - d(q0, b, a) (q1, ba), d(q0, b, Z0)
(q1, bZ0) - d(q0, c, a) (q2, ?), d(q1, b, b)
(q1, bb) - d(q1, c, b) (q2, ?), d(q2, c, b)
(q2, ?) - d(q2, c, a) (q2, ?), d(q2, ?, Z0)
(q3, ?) - d(q0, ?, Z0) (q3, ?),
- d(q, x, Y) ? for all other possibilities
10Revision -Construction of PDA Contd
- To accept the language L anb2n a, b ? S, n ?
1, by final State (Jul/Aug 2004, Jan/Feb 2005
new scheme) - Solution PDA M (q0, q1, q2, a, b, a,
Z0, d, q0, Z0, q2), where d is defined by
following rules - d(q0, a, Z0) (q0, aaZ0), d(q0, a, a) (q0,
aaa) - d(q0, b, a) (q1, ?), d(q1, b, a) (q1, ?)
- d(q1, ?, Z0) (q2, ?)
- d(q, x, Y) ? for all other possibilities
11Revision -Construction of PDA Contd
- Construct a PDA to accept strings containing
equal number of as and bs. (Jan/Feb 2005 old
scheme) - Design PDAs to accept by final scheme and by
empty stack 0n1n n ?1(July/Aug 2005)
12Revision - Convert CFG to PDA
- July/Aug 2004
- I ?a b, S ?aA, A ?aABC bB a, B ?b, C ?cÂ
- Solution PDA accepted by empty stack M (q,
a, b, c, a, b, c, S, A, B, C, I, d q, S),
where transition functions d are given below - d(q, ?, I) (q, a), (q, b)
- d(q, ?, S) (q, aA)
- d(q, ?, A) (q, aABC), (q, bB), (q, a)
- d(q, ?, B) (q, b),
d(q, ?, C) (q, c) - d(q, a, a) (q, ?),
d(q, b, b) (q, ?) - d(q, c, c) (q, ?)
13Revision - Convert CFG to PDA Contd
- Jan/Feb 2005 old scheme
- S ? aBB, B ? bS c
- Solution PDA accepted by empty stack M (q,
a, b, c, a, b, c, S, B, d, q, S), where
transition functions d are given below - d(q, ?, S) (q, aBB)
- d(q, ?, B) (q, bS), (q, c)
- d(q, a, a) (q, ?), d(q, b, b) (q, ?)
- d(q, c, c) (q, ?)
14Revision simplification of CFG
- Eliminate unit production from the grammar below
(July/Aug 2004)Â - S ? Aa B, B ? A bb, A ? a bc B
- Solution
- Unit productions are S ? B, B ? A, and A ? B
- A, B and S are derivable
- Eliminating B in the A production gives A ? a
bc bb. - Eliminating A in the B production gives B ? a
bc bb. - Eliminating B in the S production gives S ? Aa
a bc bb
15Revisionsimplification of CFG Contd
- The final set of productions after eliminating
unit productions are given below - S ? Aa a bc bb
- B ? a bc bb
- A ? a bc bb
16Revisionsimplification of CFG Contd
- Eliminate useless symbols and productions from
the following grammar (Jul/Aug 2004 old scheme)Â - S ?ABa BC, A ?aC BCC, C ?a, B ?bcc,
- D ?E, E ?d, F ?e
- Solution
- Â Step 1 Eliminate non-generating symbols All
variables are generating - Step 2 Elimination of non-reachable variables
 Draw the dependency graph
17Revisionsimplification of CFG Contd
- Â
- D, E and F are non reachable from S
- After Removing useless symbols
- S ? ABa BC
- A ? aC BCC
- C ? a
- B ? bcc
18Revisionsimplification of CFG Contd
- Eliminate useless symbols and productions from
the following grammar G (V, T, P, S) where V
S, A, B, C, T a,b and productions P given
below (July/Aug 2005) - S ? ab A C, A ? a, B ? ac, C ? aCb
19Revision Conversion to CNF
- Feb / Mar 2004 model question paper
- S ? ASB ?, A ? aAS a, B ? SbS A bb
- SolutionÂ
- Step 1 Simplify the grammar with productions P
- Step 1a Eliminate ? - productions to obtain P1
- P1 S ? ASB AB, A ? aAS a aA, B ? SbS
A bb Sb bS b - Step 1b Eliminate unit productions to obtain P2
- P2 S ? ASB AB, A ? aAS a aA, B ? SbS
bb Sb bS b aAS a aA
20Revision Conversion to CNF Contd
- Step 1cEliminate useless symbols to obtain P3
- All variables are generating and all are
reachable. - Simplified grammar is G? (S, A, B, a, b,
S ? ASB AB, A ? aAS a aA, B ? SbS bb
Sb bS b aAS a aA , S) - Step 2 Convert G? to CNF
- Â Step 2a Add productions of the form A ?BC, A ?a
- P?? S ? AB, A ? a, B ? b aÂ
21Revision Conversion to CNF Contd
- Step 2b Eliminate terminals from RHS of the
other productions - A ? aAS to A ? CaAS and Ca ? a
- A ? aA to A ? CaA
- B ? SbS to B ? SCbS and Cb? b
- B ? bb to B ? CbCb
- B ? bS to B ? CbS
- B ? Sb to B ? SCb
- B ? aAS to B ? CaAS
- B ? aA to B ? CaA
- Add productions in the CNF form to P?? S
?AB, A ?a CaA, B ?CbCb CbSSCbCaA b a, Ca ?a
, Cb?b
22Revision Conversion to CNF Contd
- Step 2c Reduce the RHS of the productions with
more than 2 variables to the form of A ?BC - A ? CaAS to A ? CaC1 and C1 ? AS
- B ? SCbS to B ? SC2 and C2 ? CbS
- B ? CaAS to B ? Ca C3 and C3 ? AS
- Adding these productions to P?? S ? AB, A
? a CaA CaC1, B ? CbCb CbS SCb CaA
SC2 CaC3 b a, Ca ? a , Cb? b , C1 ? AS, C2 ?
CbS, C3 ? AS
23Revision Conversion to CNF Contd
- The grammar in CNF form G?? (V??, a, b, P??,
S) - V?? S, A, B, Ca, Cb, C1, C2, C3
- P?? S ? AB, A ? a CaA CaC1, B ? CbCb
CbS SCb CaA SC2 CaC3 b a, Ca ? a , Cb?
b , C1 ? AS, C2 ? CbS, C3 ? AS
24Revision Conversion to CNF Contd
- Jul / Aug 2004 old scheme
- Â S ? abAB, A ? bAB ?, B ? BAa A ?
- Jan / Feb 2005 old scheme
- S ? S T T R, T ? T a b, R ? R a
- Jul / Aug 2005 old scheme
- Â S ? ABa, A ? aab, B ? AC
- Jan / Feb 2005 new scheme
- Â S ? ASB ?, A ? aAS a, B ? AbA A bb
25Revision Pumping Lemma of CFL
- State and prove pumping lemma for CFL (Jul / Aug
2004 old scheme and new scheme), (Jan/Feb 2005
old scheme) - Show that L an bn cn n ?1 is not a CFL (Jul
/ Aug 2004 old scheme), (Jan/Feb 2005 old scheme)
26Revision Closure Properties of CFL
- Show that the family of CFL is not closed under
intersection and complementation (Jul / Aug 2005) - Show that the family of CFL is closed under
union, concatenation and star closure (Jul / Aug
2004 old scheme), (Jan/Feb 2005 new scheme),
(Jan/Feb 2005 old scheme)
27Q AContact Email jibiabraham_at_msrit.edu