760 likes | 797 Views
Pushdown Automata PDAs. Pushdown Automaton -- PDA. Input String. Stack. States. Initial Stack Symbol. Stack. Stack. stack head. top. bottom. special symbol. Appears at time 0. The States. Pop symbol. Input symbol. Push symbol. input. stack. top. Replace. input. stack.
E N D
Pushdown AutomataPDAs Costas Busch - LSU
Pushdown Automaton -- PDA Input String Stack States Costas Busch - LSU
Initial Stack Symbol Stack Stack stack head top bottom special symbol Appears at time 0 Costas Busch - LSU
The States Pop symbol Input symbol Push symbol Costas Busch - LSU
input stack top Replace Costas Busch - LSU
input stack top Push Costas Busch - LSU
input stack top Pop Costas Busch - LSU
input stack top No Change Costas Busch - LSU
Non-Determinism PDAs are non-deterministic Allowed non-deterministic transitions Costas Busch - LSU
Example PDA PDA : Costas Busch - LSU
Basic Idea: • Push the a’s on the stack 2. Match the b’s on input with a’s on stack 3. Match found Costas Busch - LSU
Execution Example: Time 0 Input Stack current state Costas Busch - LSU
Time 1 Input Stack Costas Busch - LSU
Time 2 Input Stack Costas Busch - LSU
Time 3 Input Stack Costas Busch - LSU
Time 4 Input Stack Costas Busch - LSU
Time 5 Input Stack Costas Busch - LSU
Time 6 Input Stack Costas Busch - LSU
Time 7 Input Stack Costas Busch - LSU
Time 8 Input Stack accept Costas Busch - LSU
A string is accepted if there is a computation such that: All the input is consumed AND The last state is an accepting state we do not care about the stack contents at the end of the accepting computation Costas Busch - LSU
Rejection Example: Time 0 Input Stack current state Costas Busch - LSU
Rejection Example: Time 1 Input Stack current state Costas Busch - LSU
Rejection Example: Time 2 Input Stack current state Costas Busch - LSU
Rejection Example: Time 3 Input Stack current state Costas Busch - LSU
Rejection Example: Time 4 Input Stack current state Costas Busch - LSU
Rejection Example: Time 4 Input Stack reject current state Costas Busch - LSU
There is no accepting computation for The string is rejected by the PDA Costas Busch - LSU
Another PDA example PDA : Costas Busch - LSU
Basic Idea: • Push v on stack 3. Match on input with v on stack 2. Guess middle of input 4. Match found Costas Busch - LSU
Execution Example: Time 0 Input Stack Costas Busch - LSU
Time 1 Input Stack Costas Busch - LSU
Time 2 Input Stack Costas Busch - LSU
Time 3 Input Guess the middle of string Stack Costas Busch - LSU
Time 4 Input Stack Costas Busch - LSU
Time 5 Input Stack Costas Busch - LSU
Time 6 Input Stack accept Costas Busch - LSU
Rejection Example: Time 0 Input Stack Costas Busch - LSU
Time 1 Input Stack Costas Busch - LSU
Time 2 Input Stack Costas Busch - LSU
Time 3 Input Guess the middle of string Stack Costas Busch - LSU
Time 4 Input Stack Costas Busch - LSU
Time 5 There is no possible transition. Input Input is not consumed Stack Costas Busch - LSU
Another computation on same string: Input Time 0 Stack Costas Busch - LSU
Time 1 Input Stack Costas Busch - LSU
Time 2 Input Stack Costas Busch - LSU
Time 3 Input Stack Costas Busch - LSU
Time 4 Input Stack Costas Busch - LSU
Time 5 Input No accept state is reached Stack Costas Busch - LSU
There is no computation that accepts string Costas Busch - LSU