Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fall 2006Costas Busch - RPI1 Pushdown Automata PDAs.

Similar presentations


Presentation on theme: "Fall 2006Costas Busch - RPI1 Pushdown Automata PDAs."— Presentation transcript:

1 Fall 2006Costas Busch - RPI1 Pushdown Automata PDAs

2 Fall 2006Costas Busch - RPI2 Pushdown Automaton -- PDA Input String Stack States

3 Fall 2006Costas Busch - RPI3 Initial Stack Symbol Stack bottomspecial symbol stack head top Appears at time 0

4 Fall 2006Costas Busch - RPI4 The States Input symbol Pop symbol Push symbol

5 Fall 2006Costas Busch - RPI5 top input stack Replace

6 Fall 2006Costas Busch - RPI6 Push top input stack

7 Fall 2006Costas Busch - RPI7 Pop top input stack

8 Fall 2006Costas Busch - RPI8 No Change top input stack

9 Fall 2006Costas Busch - RPI9 Pop top input stack Pop from Empty Stack Automaton halts! If the automaton attempts to pop from empty stack then it halts and rejects input

10 Fall 2006Costas Busch - RPI10 Non-Determinism PDAs are non-deterministic Allowed non-deterministic transitions

11 Fall 2006Costas Busch - RPI11 Example PDA PDA :

12 Fall 2006Costas Busch - RPI12 Basic Idea: 1.Push the a’s on the stack 2. Match the b’s on input with a’s on stack 3. Match found

13 Fall 2006Costas Busch - RPI13 Execution Example: Input current state Time 0 Stack

14 Fall 2006Costas Busch - RPI14 Input Time 1 Stack

15 Fall 2006Costas Busch - RPI15 Input Stack Time 2

16 Fall 2006Costas Busch - RPI16 Input Stack Time 3

17 Fall 2006Costas Busch - RPI17 Input Stack Time 4

18 Fall 2006Costas Busch - RPI18 Input Stack Time 5

19 Fall 2006Costas Busch - RPI19 Input Stack Time 6

20 Fall 2006Costas Busch - RPI20 Input Stack Time 7

21 Fall 2006Costas Busch - RPI21 Input Time 8 accept Stack

22 Fall 2006Costas Busch - RPI22 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

23 Fall 2006Costas Busch - RPI23 Rejection Example: Input current state Time 0 Stack

24 Fall 2006Costas Busch - RPI24 Rejection Example: Input current state Time 1 Stack

25 Fall 2006Costas Busch - RPI25 Rejection Example: Input current state Time 2 Stack

26 Fall 2006Costas Busch - RPI26 Rejection Example: Input current state Time 3 Stack

27 Fall 2006Costas Busch - RPI27 Rejection Example: Input current state Time 4 Stack

28 Fall 2006Costas Busch - RPI28 Rejection Example: Input current state Time 4 Stack reject

29 Fall 2006Costas Busch - RPI29 The string is rejected by the PDA There is no accepting computation for

30 Fall 2006Costas Busch - RPI30 Another PDA example PDA :

31 Fall 2006Costas Busch - RPI31 Basic Idea: 1.Push v on stack 2. Guess middle of input 3. Match on input with v on stack 4. Match found

32 Fall 2006Costas Busch - RPI32 Execution Example: Input Time 0 Stack

33 Fall 2006Costas Busch - RPI33 Input Time 1 Stack

34 Fall 2006Costas Busch - RPI34 Input Time 2 Stack

35 Fall 2006Costas Busch - RPI35 Input Time 3 Stack Guess the middle of string

36 Fall 2006Costas Busch - RPI36 Input Time 4 Stack

37 Fall 2006Costas Busch - RPI37 Input Time 5 Stack

38 Fall 2006Costas Busch - RPI38 Input Time 6 Stack accept

39 Fall 2006Costas Busch - RPI39 Rejection Example: Input Time 0 Stack

40 Fall 2006Costas Busch - RPI40 Input Time 1 Stack

41 Fall 2006Costas Busch - RPI41 Input Time 2 Stack

42 Fall 2006Costas Busch - RPI42 Input Time 3 Stack Guess the middle of string

43 Fall 2006Costas Busch - RPI43 Input Time 4 Stack

44 Fall 2006Costas Busch - RPI44 Input Time 5 Stack There is no possible transition. Input is not consumed

45 Fall 2006Costas Busch - RPI45 Another computation on same string: Input Time 0 Stack

46 Fall 2006Costas Busch - RPI46 Input Time 1 Stack

47 Fall 2006Costas Busch - RPI47 Input Time 2 Stack

48 Fall 2006Costas Busch - RPI48 Input Time 3 Stack

49 Fall 2006Costas Busch - RPI49 Input Time 4 Stack

50 Fall 2006Costas Busch - RPI50 Input Time 5 Stack No accept state is reached

51 Fall 2006Costas Busch - RPI51 There is no computation that accepts string

52 Fall 2006Costas Busch - RPI52 Pushing & Popping Strings Input symbol Push string Pop string

53 Fall 2006Costas Busch - RPI53 top input stack Replace push string Example: pop string top

54 Fall 2006Costas Busch - RPI54 pop push Equivalent transitions

55 Fall 2006Costas Busch - RPI55 Another PDA example PDA

56 Fall 2006Costas Busch - RPI56 Time 0 Input current state Stack Execution Example:

57 Fall 2006Costas Busch - RPI57 Time 1 Input Stack

58 Fall 2006Costas Busch - RPI58 Time 3 Input Stack

59 Fall 2006Costas Busch - RPI59 Time 4 Input Stack

60 Fall 2006Costas Busch - RPI60 Time 5 Input Stack

61 Fall 2006Costas Busch - RPI61 Time 6 Input Stack

62 Fall 2006Costas Busch - RPI62 Time 7 Input Stack

63 Fall 2006Costas Busch - RPI63 Time 8 Input Stack accept

64 Fall 2006Costas Busch - RPI64 Formalities for PDAs

65 Fall 2006Costas Busch - RPI65 Transition function:

66 Fall 2006Costas Busch - RPI66 Transition function:

67 Fall 2006Costas Busch - RPI67 Formal Definition Pushdown Automaton (PDA) States Input alphabet Stack alphabet Transition function Accept states Stack start symbol Initial state

68 Fall 2006Costas Busch - RPI68 Instantaneous Description Current state Remaining input Current stack contents

69 Fall 2006Costas Busch - RPI69 Input Stack Time 4: Example:Instantaneous Description

70 Fall 2006Costas Busch - RPI70 Input Stack Time 5: Example:Instantaneous Description

71 Fall 2006Costas Busch - RPI71 We write: Time 4 Time 5

72 Fall 2006Costas Busch - RPI72 A computation:

73 Fall 2006Costas Busch - RPI73 For convenience we write:

74 Fall 2006Costas Busch - RPI74 Language of PDA Language accepted by PDA : Initial state Accept state

75 Fall 2006Costas Busch - RPI75 Example: PDA :

76 Fall 2006Costas Busch - RPI76 PDA :

77 Fall 2006Costas Busch - RPI77 PDA : Therefore:


Download ppt "Fall 2006Costas Busch - RPI1 Pushdown Automata PDAs."

Similar presentations


Ads by Google