Pushdown Automata - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Pushdown Automata

Description:

Pushdown Automata. There are context-free languages that are not regular. ... Non-deterministic Pushdown Automata (NPDA) M = (Q, , , , q0, z, F) ... – PowerPoint PPT presentation

Number of Views:710
Avg rating:3.0/5.0
Slides: 42
Provided by: TruHoa3
Category:

less

Transcript and Presenter's Notes

Title: Pushdown Automata


1
Pushdown Automata
  • There are context-free languages that are not
    regular.
  • Finite automata cannot recognize all context-free
    languages.

2
Pushdown Automata
  • a, b is regular.
  • akbk k is a constant is regular.
  • anbn n ? 0 is not regular.

3
Finite Automata
Input file
Control unit q0
yes/no
4
Pushdown Automata
Input file
Control unit q0
Stack
yes/no
5
Non-deterministic Pushdown Automata (NPDA)
  • M (Q, ?, ?, ?, q0, z, F)
  • Q finite set of internal states
  • ? finite set of symbols - input alphabet
  • ? finite set of symbols - stack alphabet
  • ? Q ? (???) ? ? ? finite subsets of Q ? ?
    transition function
  • q0 ? Q initial state
  • z ? ? stack start symbol
  • F ? Q set of final states

6
Non-deterministic Pushdown Automata (NPDA)
  • ? Q ? (???) ? ? ? finite subsets of Q ? ?

stack top
stack top replacement
7
Example
  • ?(q1, a, b) (q2, cd), (q3, ?)

c
d
q2
b
q1
q3
8
Example
  • M (Q, ?, ?, ?, q0, z, F)
  • Q q0, q1, q2, q3 ?(q0, a, 0) (q1, 10),
    (q3, ?)
  • ? a, b ?(q0, ?, 0) (q3, ?)
  • ? 0, 1 ?(q1, a, 1) (q1, 11)
  • z 0 ?(q1, b, 1) (q2, ?)
  • F q3 ?(q2, b, 1) (q2, ?)
  • ?(q2, ?, 0) (q3, ?)

9
Instantaneous Description
  • (q, w, u)
  • current state unread part of stack contents
  • input string

10
Instantaneous Description
  • move (q1, aw, bx) ? (q2, w, yx)
  • iff (q2, y) ? ?(q1, a, b)

11
Instantaneous Description
  • (q1, x, y) ?M (q2, u, v)
  • (q1, x, y) ?M (q2, u, v)

12
Language accepted by NPDA
  • Let M (Q, ?, ?, ?, q0, z, F) be an NPDA.
  • L(M) w ? ? (q0, w, z) ?M (qf, ?, u), qf ?
    F, u ? ?

13
Example
  • L w ? a, b na(w) nb(w)
  • M (Q, ?, ?, ?, q0, z, F) ?

14
Example
  • L w ? a, b na(w) nb(w)
  • M (Q, ?, ?, ?, q0, z, F)
  • Q q0, qf ?(q0, ?, z) (qf, z)
  • ? a, b ?(q0, a, z) (q0, 0z)
  • ? 0, 1, z ?(q0, b, z) (q0, 1z)
  • F qf ?(q0, a, 0) (q0, 00)
  • ?(q0, b, 0) (q0, ?)
  • ?(q0, a, 1) (q0, ?)
  • ?(q0, b, 1) (q0, 11)

15
Example
  • L wwR w ? a, b
  • M (Q, ?, ?, ?, q0, z, F) ?

16
Example
  • L wwR w ? a, b
  • M (Q, ?, ?, ?, q0, z, F)
  • Q q0, q1, q2 ? a, b ? a, b, z F
    q2
  • ?(q0, a, a) (q0, aa) ?(q0, ?, a) (q1,
    a)
  • ?(q0, b, a) (q0, ba) ?(q0, ?, b) (q1,
    b)
  • ?(q0, a, b) (q0, ab)
  • ?(q0, b, b) (q0, bb) ?(q1, a, a) (q1,
    ?)
  • ?(q0, a, z) (q0, az) ?(q1, b, b) (q1,
    ?)
  • ?(q0, b, z) (q0, bz) ?(q1, ?, z) (q2,
    z)

17
NPDA and Context-Free Languages
  • Greibach NF
  • ?(q0, ?, z) (q1, Sz)
  • S ? aSA a ?(q1, a, S) (q1, SA), (q0, ?)
  • A ? bB ?(q1, b, A) (q1, B)
  • B ? b ?(q1, b, B) (q1, ?)
  • ?(q1, ?, z) (q2, ?)

18
Theorem
  • For any context-free language L not containing ?,
    there exists
  • an NPDA M such that L L(M).

19
Theorem
  • Proof
  • G (V, T, S, P)
  • M (q0, q1, qf, T, V?z, ?, q0, z, qf) z ?
    V
  • ?(q0, ?, z) (q1, Sz)
  • (q1, u) ? ?(q1, a, A) iff A ? au ? P
  • ?(q1, ?, z) (qf, z)

20
Example
  • Greibach NF
  • ?(q0, ?, z) (q1, Sz)
  • S ? aA ?(q1, a, S) (q1, A)
  • A ? aABC bB a ?(q1, a, A) (q1, ABC),
    (q1, ?)
  • ?(q1, b, A) (q1, B)
  • B ? b ?(q1, b, B) (q1, ?)
  • C ? c ?(q1, c, C) (q1, ?)
  • ?(q1, ?, z) (q2, ?)

21
Context-Free Grammars for NPDA
  • M (Q, ?, ?, ?, q0, z, F)
  • G (V, T, S, P)
  • L(G) L(M)

22
Context-Free Grammars for NPDA
  • M (Q, ?, ?, ?, q0, z, F)
  • M Single final state
  • Final state entered iff the stack is empty
  • ?(qi, a, A) c1, c2, ..., cn
  • ci (qj, ?) ci (qj, BC)

23
Context-Free Grammars for NPDA
  • ?(qi, a, A) (qj, ?), ... ?

24
Context-Free Grammars for NPDA
  • ?(qi, a, A) (qj, ?), ... ?
  • At qi erase A and move to qj if receiving a

25
Context-Free Grammars for NPDA
  • ?(qi, a, A) (qj, BC), ... ?

26
Context-Free Grammars for NPDA
  • ?(qi, a, A) (qj, BC), ... ?
  • At qi erase A and move to qk if receiving a and
  • at qj erase BC and move to qk

27
Context-Free Grammars for NPDA
  • ?(qi, a, A) (qj, BC), ... ?
  • At qi erase A and move to qk if receiving a and
  • at qj erase BC and move to qk
  • At qi erase A and move to qk if receiving a and
  • at qj erase B and move to qm and
  • at qm erase C and move to qk

28
Context-Free Grammars for NPDA
  • ?(qi, a, A) (qj, ?), ...
  • At qi erase A and move to qj if receiving a
  • (qiAqj) ? a

29
Context-Free Grammars for NPDA
  • ?(qi, a, A) (qj, BC), ...
  • At qi erase A and move to qk if receiving a and
  • at qj erase B and move to qm and
  • at qm erase C and move to qk
  • (qiAqk) ? a(qjBqm)(qmCqk)

30
Context-Free Grammars for NPDA
  • Start symbol (q0zqf)

31
Example
  • M (Q, ?, ?, ?, q0, z, F)
  • Q q0, q1, q2 ? a ? A, z F q2
  • ?(q0, a, z) (q0, Az)
  • ?(q0, a, A) (q0, A)
  • ?(q0, b, A) (q1, ?)
  • ?(q1, ?, z) (q2, ?)

32
Example
  • M (Q, ?, ?, ?, q0, z, F)
  • Q q0, q1, q2 , q3 ? a ? A, z F
    q2
  • ?(q0, a, z) (q0, Az) ?(q0, a, z) (q0,
    Az)
  • ?(q0, a, A) (q0, A) ?(q0, a, A) (q3, ?)
  • ?(q0, b, A) (q1, ?) ?(q3, ?, z) (q3,
    Az)
  • ?(q1, ?, z) (q2, ?) ?(q0, b, A) (q1, ?)
  • ?(q1, ?, z) (q2, ?)

33
Example
  • M (Q, ?, ?, ?, q0, z, F)
  • Q q0, q1, q2 , q3 ? a ? A, z F
    q2
  • ?(q0, a, z) (q0, Az)
  • ?(q0, a, A) (q3, ?) (q0Aq3) ? a
  • ?(q3, ?, z) (q3, Az)
  • ?(q0, b, A) (q1, ?) (q0Aq1) ? b
  • ?(q1, ?, z) (q2, ?) (q1zq2) ? ?

34
Example
  • M (Q, ?, ?, ?, q0, z, F)
  • Q q0, q1, q2 , q3 ? a ? A, z F
    q2
  • ?(q0, a, z) (q0, Az) (q0zq0) ? ...
  • ?(q0, a, A) (q3, ?) (q0zq1) ? ...
  • ?(q3, ?, z) (q3, Az) (q0zq2) ? ...
  • ?(q0, b, A) (q1, ?) (q0zq3) ? ...
  • ?(q1, ?, z) (q2, ?)

35
Example
  • M (Q, ?, ?, ?, q0, z, F)
  • Q q0, q1, q2 , q3 ? a ? A, z F
    q2
  • ?(q0, a, z) (q0, Az) (q0zq0) ?
    a(q0Aq0)(q0zq0)
  • ?(q0, a, A) (q3, ?) a(q0Aq1)(q1zq0)
  • ?(q3, ?, z) (q3, Az) a(q0Aq2)(q2zq0)
  • ?(q0, b, A) (q1, ?) a(q0Aq3)(q3zq0)
  • ?(q1, ?, z) (q2, ?) ...

36
Theorem
  • If L L(M) for some NPDA M, then L is a
    context-free
  • language.

37
Theorem
  • Proof
  • M (Q, ?, ?, ?, q0, z, qf)
  • G (V, T, S, P)
  • T ?
  • V (qiAqj) A ? ? S (q0zqf)
  • P
  • (qiAqj) ? a iff (qj, ?) ? ?(qi, a, A)
  • (qiAqm) ? a(qiBqm)(qmCqj) iff (qj, BC) ?
    ?(qi, a, A)

38
Deterministic Pushdown Automata
  • A DPDA is a pushdown automaton that never has a
  • choice in its move
  • ?(q, a, b) contains at most one element.
  • if ?(q, ?, b) is not empty, then ?(q, a, b) must
    be empty for
  • every a ? ?.

39
Deterministic Context-Free Language
  • A language L is said to be a DCFL iff there
    exists a
  • DPDA M such that L L(M).

40
Example
  • M (Q, ?, ?, ?, q0, z, F)
  • Q q0, q1, q2 ?(q0, a, 0) (q1, 10)
  • ? a, b ?(q1, a, 1) (q1, 11)
  • ? 0, 1 ?(q1, b, 1) (q2, ?)
  • z 0 ?(q2, b, 1) (q2, ?)
  • F q0 ?(q2, ?, 0) (q0, ?)
  • L anbn n ? 0

41
Homework
  • Exercises 5, 10, 13 of Section 7.1 - Linzs
    book.
  • Exercises 1, 2, 4, 5, 8, 12 of Section 7.2 -
    Linzs book.
  • Exercises 1, 2, 3, 6, 7 of Section 7.2 - Linzs
    book.
  • Presentations Section 6.3 and Section 7.4.
Write a Comment
User Comments (0)
About PowerShow.com