Draw DFA for L={e} - PowerPoint PPT Presentation

About This Presentation
Title:

Draw DFA for L={e}

Description:

Title: PowerPoint Presentation Author: FIT Last modified by: Debasis Mitra Created Date: 1/17/2001 2:58:09 PM Document presentation format: On-screen Show (4:3) – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 30
Provided by: fit
Learn more at: https://cs.fit.edu
Category:
Tags: dfa | draw | exercise | machine

less

Transcript and Presenter's Notes

Title: Draw DFA for L={e}


1
Properties of Regular Languages
Draw DFA for Le for a regular language, Le,
01 for the r.l., Le, 01, 0011 for the r.l.,
Le, 01, 0011, 000111 now, try for the
r.l., L0k1k 0k infinity
2
  • Example
  • 0n1n 0ltn is not regular, but
  • 0n1n 0?n?k, for some fixed k is regular,
    for any fixed k.
  • For k3
  • L e, 01, 0011, 000111

0
0
0
q1
q2
q3
1
1
1
1
0/1
1
1
q7
q5
q4
0/1
0
0
0
3
Pumping Lemma for Regular Languages
  • Pumping Lemma relates the size of string accepted
  • with the number of states in a DFA
  • What is the largest string accepted by a DFA with
    n states,
  • presuming there is no loop?
  • Now, if there is a loop,
  • what type of strings are accepted via the
    loop(s)?

4
Pumping Lemma for Regular Languages
  • Lemma (the pumping lemma)
  • Let M be a DFA with Q n states.
  • If there exists a string x in L(M), such that
    x ? n,
  • then there exists a way to write it as x uvw,
  • where u,v, and w are all in S and
  • 1? uv ? n
  • v ? 1
  • AND, all the strings uviw are also in L(M), for
    all i ? 0

5
Pumping Lemma for Regular Languages
  • Proof
  • Let x a1a2 am where m ? n, x is in L(M), and
    d(q0, a1a2 ap) qjp
  • a1 a2 a3 am
  • qj0 qj1 qj2 qj3 qjm m ? n and qj0 is q0
  • Consider the first n symbols, and first n1
    states on the above path
  • a1 a2 a3 an
  • qj0 qj1 qj2 qj3 qjn
  • Since Q n, it follows from the pigeon-hole
    principle that js jt for some 0 ? sltt ? n,
    i.e., some state appears on this path twice
    (perhaps many states appear more than once, but
    at least one does).

6
  • n
  • same state
  • so, loop gt 1

7
  • Let
  • u a1as
  • v as1at
  • Since 0 ? sltt ? n and uv a1at it follows that
  • 1 ? v and therefore 1 ? uv
  • uv ? n and therefore 1 ? uv ? n
  • In addition, let
  • w at1am
  • It follows that uviw a1as(as1at)iat1am is
    in L(M), for all i ? 0.
  • In other words, when processing the accepted
    string x, the loop was traversed once, but could
    have been traversed as many times as desired, and
    the corresponding strings would be accepted.
    AND, as many times gt 0

8
  • Example
  • n 5
  • x 0001000 is in L(M)
  • 0 0 0 1 0 0 0
  • q0 q1 q2 q3 q1 q2 q3 q4
  • first n1 states
  • u 0
  • v 001
  • w 000 uviw is in L(M), i.e., 0(001)i000 is
    in L(M), for all i ? 0

9
  • Note that this does not mean that every string
    accepted by the DFA has this form
  • 001 is in L(M) but is not of the form 0(001)i000
  • Similarly, this does not mean that every long
    string accepted by the DFA has this form
  • 0011111 is in L(M), is very long, but is not of
    the form 0(001)i000
  • Note, however, in this latter case 0011111 could
    be similarly decomposed.

10
  • Note It may be the case that no x in L(M) has
    x ? n.

11
  • Example

  • n 4
  • x bbbab is in L(M) b b b a
    b
  • x 5
    q0 q0 q0 q0 q1 q3
  • u e u b u bb
  • v b or v b v b
  • w bbab w bab w ab
  • (b)ibbab is in L(M), for all i ? 0 b(b)ibab is
    in L(M), for all i ? 0

a
b
a
q0
q1
b
b
a
q2
a/b
12
Non-Regular Language Example
  • Theorem The language
  • L 0k1k k ? 0 (1)
  • is not regular.
  • Proof (by contradiction) Suppose that L is
    regular. Then there exists a DFA M such that
  • L L(M) (2)
  • We will show that M accepts some strings not in
    L, contradicting (2).
  • Suppose that M has n states, and consider a
    string x0m1m, where mgtgtn.
  • By (1), x is in L.
  • By (2), x is also in L(M), note that the machine
    accepts a language not just a string

13
  • Since x m gtgt n, it follows from the pumping
    lemma that
  • x uvw
  • 1 ? uv ? n
  • 1 ? v, and
  • uviw is in L(M), for all i ? 0
  • Since 1 ? uv ? n and nltltm, it follows that 1 ?
    uv lt m.
  • Also, since x 0m1m it follows that uv is a
    substring of 0m.
  • In other words v0j, for some j ? 1.
  • Since uviw is in L(M), for all i ? 0, it follows
    that 0mcj1m is in L(M), for all c ? 1 (no. of
    loops), and j ? 1 (length of the loop)
  • But by (1) and (2), 0mcj1m is not in L(M), for
    any c ? 1, i.e., mcj gt m,
  • a contradiction.
  • Note that L basically corresponds to balanced
    parenthesis.

14
Non-Regularity Example
  • Theorem The language
  • L 0k1k2k k ? 0 (1)
  • is not regular.
  • Proof (by contradiction) Suppose that L is
    regular. Then there exists a DFA M such that
  • L L(M) (2)
  • We will show that M accepts some strings not in
    L, contradicting (2).
  • Suppose that M has n states, and consider a
    string x0m1m2m, where mgtgtn.
  • By (1), x is in L.
  • By (2), x is also in L(M), note that the machine
    accepts a language not just a string

15
  • Since x m gtgt n, it follows from the pumping
    lemma that
  • x uvw
  • 1 ? uv ? n
  • 1 ? v, and
  • uviw is in L(M), for all i ? 0
  • Since 1 ? uv ? n and nltltm, it follows that 1 ?
    uv ? m.
  • Also, since x 0m1m2m it follows that uv is a
    substring of 0m.
  • In other words v0j, for some j ? 1.
  • Since uviw is in L(M), for all i ? 0, it follows
    that 0mcj1m2m is in L(M), for all c ? 1 and j ?
    1.
  • But by (1) and (2), 0mcj1m2m is not in L(M),
    for any c ? 1, a contradiction.
  • Note that the above proof is almost identical to
    the previous proof.

16
NonRegularity Example
  • Theorem The language
  • L 0m1n2mn m,n ? 0 (1)
  • is not regular.
  • Proof (by contradiction) Suppose that L is
    regular. Then there exists a DFA M such that
  • L L(M) (2)
  • We will show that M accepts some strings not in
    L, contradicting (2).
  • Suppose that M has n states, and consider a
    string x0m1n2mn, where mgtgtn.
  • By (1), x is in L.
  • By (2), x is also in L(M).

17
  • Since x m gtgt n, it follows from the pumping
    lemma that
  • x uvw
  • 1 ? uv ? n
  • 1 ? v, and
  • uviw is in L(M), for all i ? 0
  • Since 1 ? uv ? n and nltltm, it follows that 1 ?
    uv ? m.
  • Also, since x 0m1n2mn it follows that uv is a
    substring of 0m.
  • In other words v0j, for some j ? 1.
  • Since uviw is in L(M), for all i ? 0, it follows
    that 0mcj1m2mn is in L(M), for all c ? 1. In
    other words v can be pumped as many times as we
    like, and we still get a string in L(M).
  • But by (1) and (2), 0mcj1n2mn is not in L(M),
    for any c ? 1, because the acceptable expression
    should be 0mcj1n2mcjn, a contradiction.
  • What about 0m1n m, n ? 0?

18
  • Theorem Let M (Q, S, d, q0, F) be a DFA. Then
    L(M) is finite iff x lt Q for all x in L(M).
  • Proof
  • (if) Suppose that x lt Q for all x in L(M).
    Since the number of states Q and the number of
    input symbols S are both fixed, it follows that
    there are at most a finite number of strings of
    length less than Q. It follows that L(M) is
    finite (Exercise provide an upper bound on the
    number of such strings).
  • (only if) By contradiction. Suppose that L(M) is
    finite, but that x ? Q for some x in L(M).
    From the pumping lemma it follows that xuvw, v
    ? 1 and uviw is in L(M) for all i ? 0. But then
    L(M) would be infinite, a contradiction.

19
  • Theorem Let M (Q, S, d, q0, F) be a DFA. Then
    L(M) is infinite iff there exists an x in L(M)
    such that x ? Q.
  • Proof
  • (if) Suppose there exists an x in L(M) such that
    x ? Q. From the pumping lemma it follows
    that xuvw, v ? 1 and uviw is in L(M) for all i
    ? 0. Therefore L(M) is infinite.
  • (only if) By contradiction. Suppose that L(M) is
    infinite, but that there is NO x in L(M) such
    that x ? Q. It follows that each x in L(M)
    has length less than Q. Since the number of
    states Q and the number of input symbols S
    are both fixed, it follows that there are at most
    a finite number of strings of length less than
    Q. It follows that L(M) is finite. A
    contradiction.
  • Note that the above also follows directly from
    the previous theorem.

20
  • Theorem Let M (Q, S, d, q0, F) be a DFA. Then
    L(M) is non-empty iff there exists an x in L(M)
    such that x lt Q.
  • Proof
  • (if) Suppose there exists a string x in L(M)
    such that x lt Q. Then clearly L(M) is
    non-empty.
  • (only if) By contradiction. Suppose that L(M) is
    non-empty, but that there exists no string x in
    L(M) such that x lt Q. It follows that for all
    strings y in L(M), y is ? Q.
  • Let z be a string of shortest length in L(M).
    Then z ? n and, by the pumping lemma zuvw,
    v ? 1 and uviw is in L(M) for all i ? 0. But
    then uv0w uw is in L(M) and
  • uw z - v
  • ? z - 1
  • lt z
  • Since uw is in L(M), it follows that z is not a
    string of shortest length in L(M), a
    contradiction.

21
  • Corollary Let M (Q, S, d, q0, F) be a DFA.
    Then there is an algorithm to determine if L(M)
    is empty.
  • Proof
  • From the theorem it follows that if L(M) is
    non-empty then there exists a string x where x
    lt n and n Q such that M accepts x. We can
    try running M on each string of length lt n to see
    if any are accepted. If one is accepted then
    L(M) is non-empty, otherwise L(M) is empty. Since
    the number of states Q and the number of input
    symbols S are both fixed, it follows that there
    are at most a finite number of strings (of length
    less than Q) that need to be tested.

22
  • Theorem Let M (Q, S, d, q0, F) be a DFA and
    let n Q. Then L(M) is infinite iff there
    exists an x in L(M) such that n ? x lt 2n.
  • Proof (if part left as an exercise similar to
    the previous theorem).
  • (only if by Contradiction) Suppose there is no
    string of length between n and 2n in the language
    accepted by DFA M with n states.
  • Suppose a string z is the shortest string
    accepted by the machine M, such that z ? 2n.
    Since z gt n, by pumping lemma z uvw, and 1 ?
    v ? n, because uv ? n. Then zuw must be
    accepted by the machine M. So, z z - v
    cannot be lt n. As per assumption, z ? 2n is
    not possible as z is the shortest such string and
    zgtz. And we presumed that there is no
    string of size between n and 2n, so, n ? z ?
    2n cannot be true either. Contradiction.
  • Corollary Let M (Q, S, d, q0, F) be a DFA.
    Then there is an algorithm to determine if L(M)
    is infinite.
  • Proof (left as an exercise).

23
Closure Properties of Regular Languages
  • Consider various operations on languages
  • x x is in S and x is not in L
  • x x is in L1 or L2
  • x x is in L1 and L2
  • x x is in L1 but not in L2
  • L1L2 xy x is in L1 and y is in L2
  • L Li L0 U L1 U L2 U
  • L Li L1 U L2 U

24
  • Theorem Let M (Q, S, d, q0, F) be a DFA. Then
    M (Q, S, d, q0, Q-F) is a DFA where L(M)
    S - L(M).
  • Proof (left as an exercise).
  • Corollary The regular languages are closed under
    complementation, i.e., if L is a regular language
    then so is .
  • Does the above construction work for NFAs?

25
  • Theorem The regular languages are closed with
    respect to union, concatenation and Kleene
    closure.
  • Proof Let L1 and L2 be regular languages. By
    definition there exist regular expressions r1 and
    r2 such that L(r1) L1 and L(r2) L2. But then
    r1 r2 is a regular expression representing
    . Similarly for concatenation and Kleene
    closure.
  • Corollary L too it is LL

26
  • Lemma Let L1 and L2 be subsets of S. Then
    .
  • Theorem Let L1 and L2 be regular languages. Then
    is a regular language.
  • Proof Let L1 and L2 be regular languages. Then
  • is regular
  • is regular
  • is regular uses union regular languages is
    regular
  • is regular
  • But by the lemma in set theory


27
  • A direct construction of a DFA M such that
  • Let
  • M1 (Q1, S, d1,p0,F1), where Q1 p0, p1,
  • M2 (Q2, S, d2,q0,F2), where Q2 q0, q1,
  • where L(M1) L1 and L(M2) L2.
  • Construct M where
  • Q Q1 x Q2 Note that M has a state for each
  • p0, q0, p0, q1, p0, q2, pair of
    states in M1 and M2
  • S as with M1 and M2
  • F F1 x F2
  • start state p0, q0

28
  • Example
  • The construct gives
  • Q Q1 x Q2
  • p0, q0, p0, q1, p0, q2, p1, q0, p1,
    q1, p1, q2
  • S 0, 1
  • F p1, q2
  • start state p0, q0
  • d Some examples d(p0, q2, 0) d1(p0, 0),
    d2(q2, 0) p1, q2

1
0
q0
q1
1
0
0/1
29
  • Final Result
  • Question What if S1 does not equal S2?
  • Exercise Prove that
    is a regular language.

1
1
1
p0, q0
p0, q1
p0, q2
0
0
0
0
0
0
p1, q0
p1, q1
p1, q2
1
1
1
Write a Comment
User Comments (0)
About PowerShow.com