Presentation is loading. Please wait.

Presentation is loading. Please wait.

Courtesy Costas Busch - RPI1 Pushdown Automata PDAs.

Similar presentations


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

1 Courtesy Costas Busch - RPI1 Pushdown Automata PDAs

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

3 Courtesy Costas Busch - RPI3 Initial Stack Symbol Stack bottom special symbol stack head top

4 Courtesy Costas Busch - RPI4 The States Input symbol Pop symbol Push symbol Alternatively

5 Courtesy Costas Busch - RPI5 top input stack Replace

6 Courtesy Costas Busch - RPI6 Push top input stack

7 Courtesy Costas Busch - RPI7 Pop top input stack

8 Courtesy Costas Busch - RPI8 No Change top input stack

9 Courtesy Costas Busch - RPI9 Pop top input stack A Possible Transition empty

10 Courtesy Costas Busch - RPI10 input A Bad Transition The automaton Halts in state and Rejects the input string Empty stack HALT

11 Courtesy Costas Busch - RPI11 input A Bad Transition The automaton Halts in state and Rejects the input string Empty stack HALT

12 Courtesy Costas Busch - RPI12 No transition is allowed to be followed When the stack is empty Empty stack

13 Courtesy Costas Busch - RPI13 Pop top input stack A Good Transition

14 Courtesy Costas Busch - RPI14 Non-Determinism These are allowed transitions in a Non-deterministic PDA (NPDA)

15 Courtesy Costas Busch - RPI15 NPDA: Non-Deterministic PDA Example:

16 Courtesy Costas Busch - RPI16 Execution Example: Input current state Time 0 Stack

17 Courtesy Costas Busch - RPI17 Input Time 1 Stack

18 Courtesy Costas Busch - RPI18 Input Stack Time 2

19 Courtesy Costas Busch - RPI19 Input Stack Time 3

20 Courtesy Costas Busch - RPI20 Input Stack Time 4

21 Courtesy Costas Busch - RPI21 Input Stack Time 5

22 Courtesy Costas Busch - RPI22 Input Stack Time 6

23 Courtesy Costas Busch - RPI23 Input Stack Time 7

24 Courtesy Costas Busch - RPI24 Input Time 8 accept Stack

25 Courtesy Costas Busch - RPI25 A string is accepted if there is a computation such that: All the input is consumed AND The last state is a final state At the end of the computation, we do not care about the stack contents

26 Courtesy Costas Busch - RPI26 The input string is accepted by the NPDA:

27 Courtesy Costas Busch - RPI27 is the language accepted by the NPDA: In general,

28 Courtesy Costas Busch - RPI28 Another NPDA example NPDA

29 Courtesy Costas Busch - RPI29 Execution Example: Input Time 0 Stack

30 Courtesy Costas Busch - RPI30 Input Time 1 Stack

31 Courtesy Costas Busch - RPI31 Input Time 2 Stack

32 Courtesy Costas Busch - RPI32 Input Time 3 Stack Guess the middle of string

33 Courtesy Costas Busch - RPI33 Input Time 4 Stack

34 Courtesy Costas Busch - RPI34 Input Time 5 Stack

35 Courtesy Costas Busch - RPI35 Input Time 6 Stack accept

36 Courtesy Costas Busch - RPI36 Rejection Example: Input Time 0 Stack

37 Courtesy Costas Busch - RPI37 Input Time 1 Stack

38 Courtesy Costas Busch - RPI38 Input Time 2 Stack

39 Courtesy Costas Busch - RPI39 Input Time 3 Stack Guess the middle of string

40 Courtesy Costas Busch - RPI40 Input Time 4 Stack

41 Courtesy Costas Busch - RPI41 Input Time 5 Stack There is no possible transition. Input is not consumed

42 Courtesy Costas Busch - RPI42 Another computation on same string: Input Time 0 Stack

43 Courtesy Costas Busch - RPI43 Input Time 1 Stack

44 Courtesy Costas Busch - RPI44 Input Time 2 Stack

45 Courtesy Costas Busch - RPI45 Input Time 3 Stack

46 Courtesy Costas Busch - RPI46 Input Time 4 Stack

47 Courtesy Costas Busch - RPI47 Input Time 5 Stack No final state is reached

48 Courtesy Costas Busch - RPI48 There is no computation that accepts string

49 Courtesy Costas Busch - RPI49 A string is rejected if there is no computation such that: All the input is consumed AND The last state is a final state At the end of the computation, we do not care about the stack contents

50 Courtesy Costas Busch - RPI50 In other words, a string is rejected if in every computation with this string: The input cannot be consumed OR The input is consumed and the last state is not a final state OR The stack head moves below the bottom of the stack

51 Courtesy Costas Busch - RPI51 Another NPDA example NPDA

52 Courtesy Costas Busch - RPI52 Execution Example: Input Time 0 Stack

53 Courtesy Costas Busch - RPI53 Input Time 1 Stack

54 Courtesy Costas Busch - RPI54 Input Time 2 Stack

55 Courtesy Costas Busch - RPI55 Input Time 3 Stack accept

56 Courtesy Costas Busch - RPI56 Rejection example: Input Time 0 Stack

57 Courtesy Costas Busch - RPI57 Input Time 1 Stack

58 Courtesy Costas Busch - RPI58 Input Time 2 Stack

59 Courtesy Costas Busch - RPI59 Input Time 3 Stack

60 Courtesy Costas Busch - RPI60 Input Time 4 Stack Halt and Reject

61 Courtesy Costas Busch - RPI61 Pushing Strings Input symbol Pop symbol Push string

62 Courtesy Costas Busch - RPI62 top input stack Push pushed string Example:

63 Courtesy Costas Busch - RPI63 Another NPDA example NPDA

64 Courtesy Costas Busch - RPI64 Time 0 Input current state Stack Execution Example:

65 Courtesy Costas Busch - RPI65 Time 1 Input Stack

66 Courtesy Costas Busch - RPI66 Time 3 Input Stack

67 Courtesy Costas Busch - RPI67 Time 4 Input Stack

68 Courtesy Costas Busch - RPI68 Time 5 Input Stack

69 Courtesy Costas Busch - RPI69 Time 6 Input Stack

70 Courtesy Costas Busch - RPI70 Time 7 Input Stack

71 Courtesy Costas Busch - RPI71 Time 8 Input Stack accept

72 Courtesy Costas Busch - RPI72 Formalities for NPDAs

73 Courtesy Costas Busch - RPI73 Transition function:

74 Courtesy Costas Busch - RPI74 Transition function:

75 Courtesy Costas Busch - RPI75 Formal Definition Non-Deterministic Pushdown Automaton NPDA States Input alphabet Stack alphabet Transition function Final states Stack start symbol Initial state

76 Courtesy Costas Busch - RPI76 Instantaneous Description Current state Remaining input Current stack contents

77 Courtesy Costas Busch - RPI77 Input Stack Time 4: Example:Instantaneous Description

78 Courtesy Costas Busch - RPI78 Input Stack Time 5: Example:Instantaneous Description

79 Courtesy Costas Busch - RPI79 We write: Time 4 Time 5

80 Courtesy Costas Busch - RPI80 A computation:

81 Courtesy Costas Busch - RPI81 For convenience we write:

82 Courtesy Costas Busch - RPI82 Formal Definition Language of NPDA : Initial state Final state

83 Courtesy Costas Busch - RPI83 Example: NPDA :

84 Courtesy Costas Busch - RPI84 NPDA :

85 Courtesy Costas Busch - RPI85 NPDA : Therefore:


Download ppt "Courtesy Costas Busch - RPI1 Pushdown Automata PDAs."

Similar presentations


Ads by Google