Lecture 11 UofH - COSC 3340 - Dr. Verma1
COSC 3340: Introduction to Theory of Computation
University of Houston
Dr. Verma
Lecture 11
Lecture 11 UofH - COSC 3340 - Dr. Verma2
Push Down Automaton (PDA)
Language Acceptor Model for CFLs It is an NFA with a stack.
Finite State
controlInput
Stack
Accept/Reject
Lecture 11 UofH - COSC 3340 - Dr. Verma3
PDA (contd.)
In one move the PDA can :– change state,– consume a symbol from the input tape or ignore it– pop a symbol from the stack or ignore it– push a symbol onto the stack or not
A string is accepted provided the machine when started in the start state consumes the string and reaches a final state.
Lecture 11 UofH - COSC 3340 - Dr. Verma4
PDA (contd.)
If PDA in state q can consume u, pop x from stack, change state to p, and push w on stack we show it as
q0
u, x w
q1
u, x ; w In JFLAP
Lecture 11 UofH - COSC 3340 - Dr. Verma5
Example of a PDA
PDA L = {anbn |n 0}
Push S to the stack in the beginning and then pop it at the end before accepting.
Lecture 11 UofH - COSC 3340 - Dr. Verma6
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma7
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma8
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma9
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma10
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma11
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma12
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma13
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma14
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma15
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma16
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma17
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma18
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma19
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma20
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma21
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma22
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma23
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma24
JFLAP Simulation
Lecture 11 UofH - COSC 3340 - Dr. Verma25
Definition of PDA
Formally, a PDA M = (K, , , , s, F), where– K -- finite set of states -- is the input alphabet -- is the tape alphabet– s K -- is the start state– F K -- is the set of final states (K X X ) X (K X )
Lecture 11 UofH - COSC 3340 - Dr. Verma26
Definition of L(M)
Define * as:(1) *(q, w, x) = {(q, w, x)} {(p, w, x) | ((q, , ), (p, )) }
(2) *(q, uv, xy) = U {*(p, v, wy) | ((q, u, x), (p, w)) } [at least one of u, x, w is not equal to ]
– i.e., first compute * for all successor configurations and then take the union of all those sets
M accepts w if (f, , x) in *(s, w, ) Alternative: if (f, , ) in *(s, w, ) [we use] L(M) = {w * | M accepts w}
Lecture 11 UofH - COSC 3340 - Dr. Verma27
Example
What is L(M)?
Push S to the stack in the beginning and then pop it at the end before accepting.