Pushdown Automata PDAs Fall 2005 Costas Busch RPI
Pushdown Automata PDAs Fall 2005 Costas Busch - RPI 1
Pushdown Automaton -- PDA Input String Stack States Fall 2005 Costas Busch - RPI 2
Initial Stack Symbol Stack stack head top bottom special symbol Appears at time 0 Fall 2005 Costas Busch - RPI 3
The States Input symbol Fall 2005 Pop symbol Costas Busch - RPI Push symbol 4
input stack top Fall 2005 Replace Costas Busch - RPI 5
input stack top Fall 2005 Push Costas Busch - RPI 6
input stack top Fall 2005 Pop Costas Busch - RPI 7
input stack top Fall 2005 No Change Costas Busch - RPI 8
Empty Stack input stack top Pop empty When the stack gets empty, the automaton HALTS (no more transitions after ) Fall 2005 Costas Busch - RPI 9
A Possible Transition input stack Fall 2005 top Pop Costas Busch - RPI 10
Non-Determinism PDAs are non-deterministic Allowed non-deterministic transitions Fall 2005 Costas Busch - RPI 11
Example PDA Fall 2005 : Costas Busch - RPI 12
Basic Idea: 1. Push the a’s 2. on the stack 2. Match the b’s on input with a’s on stack 3. Match found Fall 2005 Costas Busch - RPI 13
Execution Example: Time 0 Input Stack current state Fall 2005 Costas Busch - RPI 14
Time 1 Input Stack Fall 2005 Costas Busch - RPI 15
Time 2 Input Stack Fall 2005 Costas Busch - RPI 16
Time 3 Input Stack Fall 2005 Costas Busch - RPI 17
Time 4 Input Stack Fall 2005 Costas Busch - RPI 18
Time 5 Input Stack Fall 2005 Costas Busch - RPI 19
Time 6 Input Stack Fall 2005 Costas Busch - RPI 20
Time 7 Input Stack Fall 2005 Costas Busch - RPI 21
Time 8 Input Stack accept Fall 2005 Costas Busch - RPI 22
A string is accepted if there is a computation such that: All the input is consumed AND The last state is an accepting state At the end of the computation, we do not care about the stack contents (the stack can be empty at the last state) Fall 2005 Costas Busch - RPI 23
The input string is accepted by the PDA: Fall 2005 Costas Busch - RPI 24
In general, is the language accepted by the PDA: Fall 2005 Costas Busch - RPI 25
Rejection Example: Time 0 Input Stack current state Fall 2005 Costas Busch - RPI 26
Rejection Example: Time 1 Input Stack current state Fall 2005 Costas Busch - RPI 27
Rejection Example: Time 2 Input Stack current state Fall 2005 Costas Busch - RPI 28
Rejection Example: Time 3 Input Stack current state Fall 2005 Costas Busch - RPI 29
Rejection Example: Time 4 Input Stack current state Fall 2005 Costas Busch - RPI 30
Rejection Example: Time 4 Input reject Stack current state Fall 2005 Costas Busch - RPI 31
The input string is rejected by the PDA: Fall 2005 Costas Busch - RPI 32
A string is rejected if there is no computation such that: All the input is consumed AND The last state is an accept state At the end of the computation, we do not care about the stack contents Fall 2005 Costas Busch - RPI 33
Another PDA example PDA Fall 2005 : Costas Busch - RPI 34
Basic Idea: 1. Push v 2. Guess 2. on stack middle of input 3. Match on input with v on stack 4. Match found Fall 2005 Costas Busch - RPI 35
Execution Example: Time 0 Input Stack Fall 2005 Costas Busch - RPI 36
Time 1 Input Stack Fall 2005 Costas Busch - RPI 37
Time 2 Input Stack Fall 2005 Costas Busch - RPI 38
Time 3 Input Guess the middle of string Stack Fall 2005 Costas Busch - RPI 39
Time 4 Input Stack Fall 2005 Costas Busch - RPI 40
Time 5 Input Stack Fall 2005 Costas Busch - RPI 41
Time 6 Input Stack accept Fall 2005 Costas Busch - RPI 42
Rejection Example: Time 0 Input Stack Fall 2005 Costas Busch - RPI 43
Time 1 Input Stack Fall 2005 Costas Busch - RPI 44
Time 2 Input Stack Fall 2005 Costas Busch - RPI 45
Time 3 Input Guess the middle of string Stack Fall 2005 Costas Busch - RPI 46
Time 4 Input Stack Fall 2005 Costas Busch - RPI 47
Input Time 5 There is no possible transition. Input is not consumed Stack Fall 2005 Costas Busch - RPI 48
Another computation on same string: Input Time 0 Stack Fall 2005 Costas Busch - RPI 49
Time 1 Input Stack Fall 2005 Costas Busch - RPI 50
Time 2 Input Stack Fall 2005 Costas Busch - RPI 51
Time 3 Input Stack Fall 2005 Costas Busch - RPI 52
Time 4 Input Stack Fall 2005 Costas Busch - RPI 53
Time 5 Input No final state is reached Stack Fall 2005 Costas Busch - RPI 54
There is no computation that accepts string Fall 2005 Costas Busch - RPI 55
Another PDA example PDA Fall 2005 Costas Busch - RPI 56
Execution Example: Time 0 Input Stack Fall 2005 Costas Busch - RPI 57
Time 1 Input Stack Fall 2005 Costas Busch - RPI 58
Time 2 Input Stack Fall 2005 Costas Busch - RPI 59
Time 3 Input Stack accept Fall 2005 Costas Busch - RPI 60
Rejection example: Time 0 Input Stack Fall 2005 Costas Busch - RPI 61
Time 1 Input Stack Fall 2005 Costas Busch - RPI 62
Time 2 Input Stack Fall 2005 Costas Busch - RPI 63
Time 3 Input Stack Fall 2005 Costas Busch - RPI 64
Time 4 Input Stack Halt and Reject Fall 2005 Costas Busch - RPI 65
Pushing Strings Input symbol Fall 2005 Pop symbol Costas Busch - RPI Push string 66
Example: input stack Fall 2005 top pushed string Push Costas Busch - RPI 67
Another PDA example PDA Fall 2005 Costas Busch - RPI 68
Execution Example: Time 0 Input Stack current state Fall 2005 Costas Busch - RPI 69
Time 1 Input Stack Fall 2005 Costas Busch - RPI 70
Time 3 Input Stack Fall 2005 Costas Busch - RPI 71
Time 4 Input Stack Fall 2005 Costas Busch - RPI 72
Time 5 Input Stack Fall 2005 Costas Busch - RPI 73
Time 6 Input Stack Fall 2005 Costas Busch - RPI 74
Time 7 Input Stack Fall 2005 Costas Busch - RPI 75
Time 8 Input Stack accept Fall 2005 Costas Busch - RPI 76
Formalities for PDAs Fall 2005 Costas Busch - RPI 77
Transition function: Fall 2005 Costas Busch - RPI 78
Transition function: Fall 2005 Costas Busch - RPI 79
Formal Definition Pushdown Automaton (PDA) Accept states States Input alphabet Transition Initial Stack function state alphabet Fall 2005 Costas Busch - RPI Stack start symbol 80
Instantaneous Description Current state Fall 2005 Remaining input Costas Busch - RPI Current stack contents 81
Example: Instantaneous Description Time 4: Input Stack Fall 2005 Costas Busch - RPI 82
Example: Instantaneous Description Time 5: Input Stack Fall 2005 Costas Busch - RPI 83
We write: Time 4 Fall 2005 Time 5 Costas Busch - RPI 84
A computation: Fall 2005 Costas Busch - RPI 85
For convenience we write: Fall 2005 Costas Busch - RPI 86
Formal Definition Language accepted by PDA Initial state Fall 2005 Costas Busch - RPI : Accept state 87
Example: PDA Fall 2005 : Costas Busch - RPI 88
PDA Fall 2005 : Costas Busch - RPI 89
Therefore: PDA Fall 2005 : Costas Busch - RPI 90
- Slides: 90