• Tidak ada hasil yang ditemukan

romi-rm-01-pengantar-july2014 - RomiSatriaWahono.Net

N/A
N/A
Protected

Academic year: 2023

Membagikan "romi-rm-01-pengantar-july2014 - RomiSatriaWahono.Net"

Copied!
95
0
0

Teks penuh

(1)

Theory of Computation

5. Pushdown Automata

Romi Satria Wahono

[email protected] http://romisatriawahono.net/tc

Mobile: +6281586220090

1

(2)

Romi Satria Wahono

SD Sompok Semarang (1987)

SMPN 8 Semarang (1990)

SMA Taruna Nusantara Magelang (1993)

B.Eng, M.Eng and Ph.D in Software Engineering from Saitama University Japan (1994-2004)

Universiti Teknikal Malaysia Melaka (2014)

Research Interests: Software Engineering, Machine Learning

Founder dan Koordinator IlmuKomputer.Com

Peneliti LIPI (2004-2007)

Founder dan CEO PT Brainmatics Cipta Informatika

2

(3)

Course Outline

1. Introduction

2. Math Fundamental 1: Set, Sequence, Function 3. Math Fundamental 2: Graph, String, Logic

4. Finite Automata

5. Pushdown Automata 6. Turing Machines

3

(4)

5. Context-Free Langu ages

5.1 Context-Free Grammars 5.2 Push Down Automata

4

(5)

5.1 Context-Free Grammars

5

(6)

Recap: Models of Computation

Model Language

Recognition Memory

Management Implementation

Finite

Automata Regular

Languages No temporary memory

Elevators, Vending

Machines, Traffic Light, Neural Network

(small computing power) Pushdown

Automata Context-free

Languages Stack Compilers for Programming Languages

(medium computing power)

Turing machine

Unrestricted Grammar,

Lambda Calculus (Computable Languages)

Random access

memory Any Algorithm

(highest computing power)

6

(7)

• A Context Free Grammar is a “machine” that creates a language

• A language created by a CF grammar is called A Context Free Language (CFL)

• The class of Context Free Languages Properl y Contains the class of Regular Languages

Introduction and Motivation

7

(8)

• Consider grammar :

• A CFL consists of substitution rules called Productions

• The capital letters (I) are the Variables

• The string consists of variables and other symbols call ed the Terminals

Context Free Grammar - Example

8

G

1

I

aIb

I

(9)

• Consider grammar :

• The grammar generates the language

called the language of , denoted by

Context Free Grammar - Example

9

| 0

a b n

B

n n

G

1

I

aIb I

G

1

G

1

L   G

1

(10)

• Consider grammar :

• This is a Derivation of the word by :

• On each step, a single rule is activated

• This mechanism is nondeterministic

Context Free Grammar - Example

10

aaabbb aaaIbbb

aaIbb aIb

I    

G

1

I

aIb I

G

1

aaabbb

(11)

This is A Parse Tree of the word by :

Context Free Grammar - Example

11

G

1

aaabbb

I I I

b b

b a

a

a

I

(12)

Each internal node of the tree is associated with a single production

Context Free Grammar - Example

12

b b

b a

a

a

I I I I

aIb I

I

(13)

Context Free Grammar (CFG) - Examp le

Example of a context-free grammar, which we call G3

A → 0A1 A → B B → #

For example, grammar G3 generates the string 000#111

The sequence of substitutions to obtain a string is called a derivation. A derivation of string 000#111 in grammar G3 is

A 0A1 00A11 000A111 000B111 000#111

We abbreviate several rules with the same left-hand variable, using the symbol “

| ” as an “or”

A → 0A1 and A → B

A → 0A1 | B

We may also represent the same information pictorially with a parse tree

13

(14)

Parse Tree for 000#111 in Grammar G

3

14

(15)

Grammar G2 has:

10 variables (the capitalized grammatical terms written inside brackets)

27 terminals (the standard English alphabet plus a space character)

18 rules

Strings in L(G2) include:

a boy sees

the boy sees a flower

a girl with a flower likes the boy

Each of these strings has a derivation in grammar G2

15

CFG – Example of English Langua

ge

(16)

Derivation of the First String

16

(17)

A Context Free Grammar is a 4-tupple where:

1. is a finite set called the variables

2. is a finite set, disjoint from V called the terminals 3. is a set of rules, where a rule is a variable and a stri

ng of variables and terminals, and 4. is the start variable

CF Grammar – A Formal Definition

17

V ,, R, S

V

R

V S

(18)

A word is a string of terminals

A derivation of a word w from a context Free Grammar

is a sequence of strings

over , where:

1. is the start variable of G

2. For each , is obtained by activating a single production (rule) of G on one of the variables of

A Derivation – A Formal Definitio n

18

V R S

G  ,, ,

l i

 1

S s0

w s

s s

S

0

1

 ... 

l

V

s

i

1

s

i

(19)

• A word w is in the Language of grammar G, denote d by , if there exists a derivation whos e rightmost string is w

• Thus,

CF Grammar – A Formal Definition

19

  G

L w

   G w w G

L  | can be derived from

(20)

Grammar :

Rules:

1.

2.

3.

Example2: Arithmetical EXPS

20



TERM TERM FACTOR | FACTOR



EXPR EXPR TERM | TERM

 EXPR S

EXP TERM FACTOR

V , ,

EXPR

a b

FACTOR    | |

, ,,,(,)

a b G2

(21)

Derivation of by Grammar :

input

Example2: Arithmetical EXPS

21

EXPR

G2

a b a

(22)

Derivation of by Grammar :

input rule

Example2: Arithmetical EXPS

22

EXPR

G2

a b a



EXPR TERM

(23)

Derivation of by Grammar :

input output rule

Example2: Arithmetical EXPS

23



EXPR TERM

G2

a b a



EXPR TERM

(24)

Derivation of by Grammar :

input

Example2: Arithmetical EXPS

24



EXPR TERM

G2

a b a

(25)

Derivation of by Grammar :

input rule

Example2: Arithmetical EXPS

25



EXPR TERM

G2

a b a



TERM TERM FACTOR

(26)

Derivation of by Grammar :

input output rule

Example2: Arithmetical EXPS

26





EXPR TERM TERM FACTOR G2

a b a



TERM TERM FACTOR

(27)

Derivation of by Grammar :

input

Example2: Arithmetical EXPS

27





EXPR TERM TERM FACTOR G2

a b a

(28)

Derivation of by Grammar :

input rule

Example2: Arithmetical EXPS

28





EXPR TERM TERM FACTOR G2

a b a

a FACTOR 

(29)

Derivation of by Grammar :

input output

rule

Example2: Arithmetical EXPS

29





EXPR TERM TERM FACTOR G2

a b a

a FACTOR 

a TERM



(30)

Derivation of by Grammar :

input

Example2: Arithmetical EXPS

30





EXPR TERM TERM FACTOR G2

a b a

a TERM



(31)

Derivation of by Grammar :

input

rule

Example2: Arithmetical EXPS

31





EXPR TERM TERM FACTOR G2

a b a

a TERM





TERM FACTOR

(32)

Derivation of by Grammar :

input output rule

Example2: Arithmetical EXPS

32

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a



TERM FACTOR

(33)

Derivation of by Grammar :

input

Example2: Arithmetical EXPS

33

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a

(34)

Derivation of by Grammar :

input rule

Example2: Arithmetical EXPS

34

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a



FACTOR EXPR

(35)

Derivation of by Grammar :

input output rule

Example2: Arithmetical EXPS

35

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a



FACTOR EXPR

EXPR

a

(36)

Derivation of by Grammar :

input

Example2: Arithmetical EXPS

36

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a

EXPR

a

(37)

Derivation of by Grammar :

input rule

Example2: Arithmetical EXPS

37

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a

EXPR

a



EXPR EXPR TERM

(38)

Derivation of by Grammar :

input output rule

Example2: Arithmetical EXPS

38

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a



EXPR EXPR TERM

(39)

Derivation of by Grammar :

input

Example2: Arithmetical EXPS

39

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a

(40)

Derivation of by Grammar :

input input

Example2: Arithmetical EXPS

40

EXPR

a

EXPR TERM

a

TERM  a  FACTOR  a







EXPR TERM TERM FACTOR G2

a b a



EXPR TERM

(41)

Derivation of by Grammar :

input output rule

Example2: Arithmetical EXPS

41

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     

      

EXPR TERM TERM FACTOR2

a b a

G



EXPR TERM

TERM TERM

a

(42)

Derivation of by Grammar :

input

Example2: Arithmetical EXPS

42

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a

TERM TERM

a

(43)

Derivation of by Grammar :

input

rule

Example2: Arithmetical EXPS

43

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a

TERM TERM

a



TERM FACTOR

(44)

Derivation of by Grammar :

output rule

Example2: Arithmetical EXPS

44

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a

TERM TERM

a



TERM FACTOR

FACTOR FACTOR

a

(45)

Derivation of by Grammar :

input

Example2: Arithmetical EXPS

45

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a

TERM TERM

a

FACTOR FACTOR

a

(46)

Derivation of by Grammar :

input

rule

Example2: Arithmetical EXPS

46

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a

TERM TERM

a

a FACTOR 

FACTOR FACTOR

a

(47)

Derivation of by Grammar :

output rule

Example2: Arithmetical EXPS

47

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a

TERM TERM

a

a FACTOR 

FACTOR FACTOR

a

a FACTOR

a

(48)

Derivation of by Grammar :

input

Example2: Arithmetical EXPS

48





EXPR TERM TERM FACTOR

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     



G2

a b a

TERM TERM

a

FACTOR FACTOR

a

a FACTOR

a

(49)

Derivation of by Grammar :

input rule

Example2: Arithmetical EXPS

49

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR2

a b a

G

TERM TERM

a

b FACTOR 

FACTOR FACTOR

a

a FACTOR

a

(50)

Derivation of by Grammar :

Example2: Arithmetical EXPS

50

EXPR

a

EXPR TERM

a

a FACTOR

a

TERM     







EXPR TERM TERM FACTOR G2

a b a

TERM TERM

a

FACTOR FACTOR

a

a FACTOR

a

a b

a

(51)

Derivation of by Grammar :

Example2: Arithmetical EXPS

Note: There is more than one derivation

51





EXPR EXPR TERM

G2



 TERM TERM FACTOR TERM



a TERM a TERM FACTOR

a FACTOR FACTOR

a b FACTOR a

b a  

a b

a  

(52)

• We already saw that a word may have more then a single derivation from the same grammar

• A Leftmost Derivation is a derivation in which rules are applied in order left to right

• A grammar is ambiguous if it has Two parse trees

Reminder: Two parse trees are equal if they are eq ual as trees and if all productions corresponding to i nner nodes are also equal

Ambiguity

52

(53)

Grammar :

Rules:

Example4: Similar to Arith. EXPS

53



EXPR EXPR EXPR

 EXPR S

EXP TERM FACTOR

V , ,

, ,,,(,)

a b

G4



EXPR EXPR EXPR a

EXPR 

(54)

Example4: 1

st

Parse Tree for______

54

a b

a  

EXPR

EXPR

EXPREXPR

EXPR a b

a  



EXPR EXPR EXPR

(55)

Example4: 2

nd

Parse Tree for_____

55

a b

a  

EXPR

EXPR

EXPREXPR

EXPR

a b

a  



EXPR EXPR EXPR

(56)

Note: Some ambiguous grammars may have an una mbiguous equivalent grammar

But: There exist Inherently Ambiguous Grammars, i.

e. an ambiguous grammar that does not have an eq uivalent unambiguous one

Ambiguity

56

(57)

Q: From a computational point of view, how strong are context free languages?

A: Since the language is not re

gular and it is CF, we conclude that

Q: Can one prove ? A: Yes

Discussion

57

| 0

a b n

B

n n

RL CFL

RL

CFL

(58)

Q: A language is regular if it is recognized by a DFA (or NF A). Does there exist a type of machine that characteriz es CFL?

A: Yes, those are the Push-Down Automata (Next Lecture) Q: Can one prove a language not to be CFL ?

A: Yes, by the Pumping Lemma for CFL-s . For example:

is not CFL

Discussion

58

| 0

a b c n

L

n n n

(59)

5.2 Push Down Automata

59

(60)

• In this lecture we introduce Pushdown Automata, a computational model equivalent to context free lan guages

• A pushdown automata is an NFA augmented with a n infinitely large stack

• The additional memory enables recognition of som e non regular languages

Introduction and Motivation

60

(61)

Schematic of a Finite Automaton

Finite control

a a b a c

input

61

(62)

z

Schematic of a Pushdown Automaton

Finite control

b c c a a x

y

stack

input

62

(63)

• A Pushdown Automata (PDA) can write an unbound ed number of Stack Symbols on the stack and read these symbols later.

• Writing a symbol onto the stack is called pushing an d it pushes all symbols on the stack one stack cell d own.

Informal Description

63

(64)

• Removing a symbol off the stack is called popping a nd every symbol on the stack moves one stack cell up.

Note: A PDA can access only the stack’s topmost sy mbol (LIFO).

Informal Description

64

(65)

• This PDA reads symbols from the input.

• As each 0 is read, it is pushed onto the stack.

• As each 1 is read, a 0 is popped from the stack.

• If the stack becomes empty exactly when the last 1 is read – accept.

Otherwise – reject.

A PDA Recognizing_________

65

 

n n

L  0 1

(66)

• The definition of a PDA does not give a special way to check emptiness.

• One way to do it is to augment the stack alphabet wit h a special “emptiness” marker, the symbol $. (Note: T here is nothing special about $ any other symbol not i n the original can do.)

Checking Stack Emptiness

66

(67)

• The computation is started by an transition in which

$ is pushed on the stack.

• If the end marker $ is found on the stack at the end of the computation, it is popped by a single additional transition after which the automaton “knows” that th e stack is empty.

Checking Stack Emptiness

67

(68)

The label of each transition represents the input (left of arrow) and pushed stack symbol (right of the a rrow).

A PDA Recognizing_________

68

, $

1

q

q4 q3

 

n n

L  0 1

q2 0, 0

0

, 1

0

, 1

,$

(69)

The $ symbol, pushed onto the stack at the beginning of the computation, is used as an “empty” marke r.

A PDA Recognizing_________

69

,e $

1

q

q4 q3

 

n n

L  0 1

q2 0, 0

0

, 1

0

, 1

,$

(70)

The PDA accepts either if the input is empty, or if sca nning the input is completed and the PDA is at

A PDA Recognizing_________

70

,e $

1

q

q4 q3

 

n n

L  0 1

q2 0, 0

0

, 1

0

, 1

,$

q

4

(71)

• A Nondeterministic PDA allows nondeterministic tra nsitions.

• Nondeterministic PDA-s are strictly stronger then d eterministic PDA-s

• In this respect, the situation is not similar to the sit uation of DFA-s and NFA-s.

• Nondeterministic PDA-s are equivalent to CFL-s.

Nondeterministic PDAs

71

(72)

A pushdown automaton is a 6-tupple where:

1. is a finite set called the states.

2. is the input alphabet.

3. is the stack alphabet.

4. is the transition function.

5. is the start state, and

6. is the set of accepting states.

PDA – A Formal Definition

72

Q , , , , q

0

, F

Q

: Q     P Q, Q

q0

Q F

(73)

• Consider the expression :

• Recall that , and that .

• Assume that the PDA is in state , the next input s ymbol is , and the top stack symbol is

PDA - The Transition Function

73

: Q     P Q,

 

 

 

  Q

q

 

(74)

• The next transition may either depend on the input sy mbol and the stack symbol , or only on the input symbol , or only on the stack symbol , or on none of them.

• This choice is formally expressed by the argument of t he transition function as detailed in the next slides.

PDA - The Transition Function

74

 

(75)

• Each step of the automaton is atomic, meaning it is ex ecuted in a single indivisible time unit.

• For descriptive purposes only, each step is divided int o two separate sub-steps:

Sub-step1: A symbol may be read from the input, a symbol may be read and popped off the stack.

Sub-step2: A state transition is carried out and a stack sym bol may be pushed on the stack.

Transition Function Sub-steps

75

(76)

• If the transition depends both on and we write

. In this case is consumed and is remove d from the stack.

• If the transition depends only on we write

, is consumed and the stack does not chang e.

Transition Function – 1

st

Sub-step

76

q, ,

q, ,

(77)

• If the transition depends only on , we write

. In this case is not consumed and is removed from the stack.

• Finally, If the transition depends neither on , nor o n , we write . In this case is not consume d and the stack is not changed.

Transition Function – 1

st

Sub-step

77

q, ,

q, ,

 

(78)

• The range of the transition function is :

The power set of the Cartesian product of the set of P DA states and the stack alphabet.

• Using pairs means that determines:

1. The new state to which the PDA moves.

2. The new stack symbol pushed on the stack.

PDA - The Transition Function

78

Q,

P

(79)

• Using the power set means that the PDA is nondeter ministic: At any given situation, it may make a nondet erministic transition.

• Finally, the use of means that at each tran sition the PDA may either push a stack symbol onto th e stack or not (if the value is ).

PDA - The Transition Function

79

 

  

(80)

Theorem:

A language is CFL if and only if there exists a PDA acc epting it.

Lemma->

For any CFL L, there exists a PDA P such that .

CFLG-s and PDA-s are Equivalent

80

 

P

L L

(81)

• Since L is a CFL there exists a CFG G such that

. We will present a PDA P, that recognizes L.

• The PDA P starts with a word on its input.

• In order to decide whether , P simulates th e derivation of w.

Proof Idea

81

*

w

 

G

L L

 

G

L w

(82)

• Recall that a derivation is a sequence of strings, wh ere each string contains variables and terminals. Th e first string is always the start symbol of G and eac h string is obtained from the previous one by a singl e activation of some rule.

Proof Idea (cont.)

82

(83)

• A string may allow activation of several rules and th e PDA P non deterministically guesses the next rul e to be activated.

• The initial idea for the simulation is to store each in termediate string on the stack. Upon each producti on, the string on the stack before production is tran sformed to the string after production.

Proof Idea (cont.)

83

(84)

• Unfortunately, this idea does not quite work since a t any given moment, P can only access the top sym bol on the stack.

• To overcome this problem, the stack holds only a su ffix of each intermediate string where the top symb ol is the variable to be substituted during the next p roduction.

Proof Idea (cont.)

84

(85)

The Intermediate String aaSbb

Finite control

a a a b b

input

S b

stack

$

b b

85

(86)

Push the marker $ and the start symbol S on the stac k.

Repeat

If the top symbol is a variable V – Replace V by the ri ght hand side of some non deterministically chos en rule whose left hand side is V .

…..

Informal Description of P

86

(87)

Push the marker $ and the start symbol S on the stac k.

Repeat

…..

If the top symbol is a terminal compare it with the ne xt symbol on the input. If equal – advance the inp ut and pop the variable else – reject.

Informal Description of P

87

(88)

Push the marker $ and the start symbol S on the sta ck.

Repeat

…..

…..

If the top symbol is $ and the input is finished – acc ept else – reject

Informal Description of P

88

(89)

• We start by defining Extended Transitions:

• Assume that PDA P is in state q , it reads from th e input and pops from the stack and then moves to state r while pushing

onto the stack.

• This is denoted by .

• Next, extended transitions are implemented.

The Proof

89

a

s ul

u u

u 1, 2,...,

  

r,u q,a,s

(90)

Add states .

Set the transition function as follows:

Add to . Set , , ……

(see next slide)

Implementing Extended Trans.

90

1 2

1

, ,...,

q

l

q q

q1,ul

q,a,s

q1 ,,

 

q2 ,ul1

 

q2 ,,

 

q2 ,ul2

 

ql1 ,,

  

r,u1

(91)

This extended transition Is implemented by this

transition sequence

Implementing Extended Trans.

91

q2

q

 

a,s xyz

r

q

 

a,s z

r

q1

 

, x

 

, y

(92)

• Let G be an arbitrary CFG. Now we are ready to constr uct the PDA, P such that that

The states of P are a

where E contains all states needed to implement the extended transitions presented in the previous slide.

• The PDA P is presented on the next slide:

The Proof

92

   

P L G

L

q q q

E

Q start, loop, accept

(93)

This completes the Proof

The Result PDA

93

start

q

qloop

 

, $S

, A w for rule A w

accept

q

 

a,a for terminal a

 

,$

Referensi

Dokumen terkait

Pengukuran risiko apa yang akan menjadi faktor penyebab munculnya risiko operasional dan risiko turunan yang muncul akibat adanya risiko operasional yang dilakukan dengan metode