pertemuan 12 - push down automata [compatibi · push-down automata sri handayaningsih, s.t., m.t....

Post on 09-May-2019

226 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Push-Down Automata

Sri Handayaningsih, S.T., M.T.Email : ning_s12@yahoo.com

Teknik Informatika

Pertemuan Ke - 12

TIU & TIK

1. Mahasiswa memahami konsep pushdown automata serta mampu merancangPDA untuk mengenali suatu bahasa yangdiberikan

2

Pushdown Automaton -- PDAInput String

Stack

3

States

Simbol Stack awal

Stack Stack

4

$ z

Simbol spesial di bawah

stackkepala top

kelihatan pada waktu ke 0

State

simbolInput

simbolPop

SimbolPush

5

q1 q2a, b c

q1 q2a, b c

a input

a

6

b top

stack

Ganti tempateh

$eh

$

c

q1 q2a, c

a a input

7

Tambah/pushb

eh

$eh

$

bc

top

stack

q1 q2a, b

a a input

8

Ambil/popb

eh

$eh

$

top

stack

q1 q2a,

a a input

9

Tdk adaperubahan

b

eh

$eh

$

btop

stack

q1 q2$,a

a a input

Stack Kosong

10

Pop$ topstack kosong

automata tdk bisa digunakanTdk mungkin ada transisi setelah q2

q1 q2ba $,

a a input

Transisi yg mungkin

11

Pop$ topstack

b

Non-Determinan

q2a, b c

PDAs merupakan non-determinan

Transisi yg mengikuti non-deterministic

12

q1

a, b c

q3a, b c

q1 q2, b c

transisi

Contoh PDA: ide dasarPDA M

}0:{)( nbaML nn

13

,

a, a

b, aq0 q1 q2 q3

b, a

, $ $

}0:{)( nbaML nn

Ide dasar:

1. Push a padastack

2. Sesuaikan inputan bdgn a pada stack

3. penyesuaian

14

,

a, a

b, aq0 q1 q2 q3

b, a

, $ $

3. penyesuaianditemukan

Contoh 1 Eksekusi :

Input

a a a b b b

Time 0

Stack

$

15

a, a

b, a0q q1 q2 q3

StateSaat ini

b, a

, , $ $

Input

a a a b b b

Time 1

Stack

$

16

a, a

b, aq0 q1 q2 q3

b, a

, , $ $

Input

Stack

a a a b b b$a

Time 2

17

a, a

b, aq0 q1 q2 q3

Stack

b, a

, , $ $

Input

Stack

a a a b b b$aa

Time 3

18

a, a

b, aq0 q1 q2 q3

b, a

, , $ $

Input

Stack

a a a b b b

$aaa

Time 4

19

a, a

b, aq0 q1 q2 q3

Stack

b, a

, , $ $

Input

a a a b b b

Stack

$aaa

Time 5

20

a, a

b, aq0 q1 q2 q3

Stack

b, a

, , $ $

Input

a a a b b b$a

Stack

Time 6

a

21

a, a

b, aq0 q1 q2 q3

Stack

b, a

, , $ $

Input

a a a b b b$

Stack

Time 7

a

22

a, a

b, aq0 q1 q2 q3

b, a

, , $ $

Input

a a a b b b

Time 8

$

Stack

23

a, a

b, aq0 q1 q2 q3

b, aditerima

, , $ $

Sebuah string diterima jika :

Seluruh inputan dapat diselesaikanDAN

menuju ke state terakhir.

24

menuju ke state terakhir.

Pada akhir komputasi,tidak mempedulikan susunan isi pada stack

input stringApakah diterima oleh PDA:

aaabbb

25

a, a

b, aq0 q1 q2 q3

b, a

, , $ $

}0:{ nbaL nn

Apakah bahasa diterima oleh PDA:

Secara general,

26

a, a

b, aq0 q1 q2 q3

b, a

, , $ $

Contoh yang ditolak:

Input

a a b

Time 0

Stack

$

27

0q

a, a

b, aq1 q2 q3

StateSaat ini

b, a

, , $ $

Contoh yang ditolak :

Input

a a b

Time 1

Stack

$

28

0q

a, a

b, aq1 q2 q3

StateSaat ini

b, a

, , $ $

Contoh yang ditolak :

Input

a a b

Time 2

Stack

$

a

29

0q

a, a

b, aq1 q2 q3

StateSaat ini

b, a

, , $ $

Contoh yang ditolak :

Input

a a b

Time 3

Stack

$

aa

30

0q

a, a

b, aq1 q2 q3

StateSaat ini

b, a

, , $ $

Contoh yang ditolak :

Input

a a b

Time 4

Stack

$

aa

31

0q

a, a

b, aq1 q2 q3

StateSaat ini

b, a

, , $ $

Contoh yang ditolak :

Input

a a b

Time 4

Stack

$

aa

ditolak

32

0q

a, a

b, aq1 q2 q3

StateSaat ini

b, a

, , $ $

ditolak

Input stringDitolak oleh PDA:

aab

33

a, a

b, aq0 q1 q2 q3

b, a

, , $ $

Sebuah string ditolak jika :

Seluruh inputan tidak terselesaikanDAN

Tidak sampai ke state akhir

34

Tidak sampai ke state akhir

Pada akhir komputasi,Tidak dipedulikan isi kontens stack

Contoh PDA lain :Apakah bahasanya?

PDA M

35, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

}},{:{)( bavvvML RIde Dasar:

1. Push vpd stack 2. Input utk

pindah state

3. sesuaikan pd inputdgn v pada stack

Rv

36, $ $q1 q2

bbaa

,,

, q0

bbaa

,, 4. Penyesuain

ditemukan

Contoh 2 Eksekusi :

Input

Time 0

Stack

$

a ab b

37

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

a ab

Time 1

Stack

$ab

38

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 2

Stack

$aa ab bb

39

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 3

Stack

$aa ab bb

perpindahan

40

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 4

Stack

$aa ab bb

41

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 5

Stack

$

a ab b a

42

Stack

, $ $1q q2

bbaa

,,

, q0

bbaa

,,

Input

Time 6

Stack

$

a ab b

43

Stack

, $ $q1

bbaa

,,

, q0

bbaa

,,

diterima

q2

Contoh yg ditolak:

Input

Time 0

Stack

$

a b b b

44

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 1

Stack

$aa b b b

45

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 2

Stack

$ab

a b b b

46

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 3

Stack

$ab

perpindahan

a b b b

47

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 4

Stack

$ab

a b b b

48

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 5

Stack

$aa b b b

Transisi tidak mungkin

Inputan tdk

terselesaikan

49

Stack

, $ $1q q2

bbaa

,,

, q0

bbaa

,,

Komputasi lain pada string yg sama :

Input Time 0

Stack

$

a b b b

50

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 1

Stack

$aa b b b

51

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 2

Stack

$ab

a b b b

52

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 3

Stack

$ab

a b b b

b

53

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 4

Stack

a b b b

$abbb

54

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Input

Time 5

Stack

a b b b

$abbb

Tdk sampaiState akhir

55

Stack

, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Tdk ada komputasiYg menerima string abbb

)(MLabbb

56, $ $q1 q2

bbaa

,,

, q0

bbaa

,,

Teori Tentang“Pushing Strings”

Input Popsymbol

Push

57

q1 q2a, b w

Inputsymbol symbol

Pushstring

q1 q2a, b cdf

a input

a

Contoh 1:

58

b topstack

Push

eh h

e

cdf

StringYg di push

$ $

Contoh 2

a, $ 0$ b, $1$

PDA M

)}()(:},{{)( * wnwnbawML ba

59

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $1$b, 111b, 0

Time 0Input

a ab b b a

$a, $ 0$ b, $1$

Eksekusi untuk string abbbaa :

60

StateSaat ini

Stack

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $1$b, 111b, 0

Time 1Input

a ab b b a

$Stack

0

a, $ 0$ b, $1$

61

Stack

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $1$b, 111b, 0

Time 3Input

a bb b a

$Stack

a

$a, $ 0$ b, $1$

0

62

Stack

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $1$b, 111b, 0

Time 4Input

a bb b a

$Stack

a1

a, $ 0$ b, $1$

63

Stack

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $1$b, 111b, 0

Time 5Input

a bb b a

$Stack

a11

a, $ 0$ b, $1$

64

Stack

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $1$b, 111b, 0

Time 6Input

a bb b a

$Stack

a1

a, $ 0$ b, $1$

1

65

Stack

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $1$b, 111b, 0

Time 7Input

a bb b a

$Stack

a1

a, $ 0$ b, $1$

66

Stack

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $1$b, 111b, 0

Time 8Input

a bb b a a

$a, $ 0$ b, $1$

67

Stack

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $1$b, 111b, 0

diterima

PDAs: Definisi Formal

68

q1 q2a, b w

Fungsi Transisi:

69

)},{(),,( 21 wqbaq

Fungsi Transisi:

q1

q2wba ,

q3wba ,

70

q3wba ,

)},(),,{(),,( 321 wqwqbaq

Fungsi transisi:

Formal DefinitionPushdown Automaton (PDA)

),,,δ,Γ,Σ,( 0 FzqQM

States

Stateakhir

71

States

Inputalphabet

Stackalphabet

Fungsitransisi

SimbolMulaiStackState

awal

Diskripsi Instan

),,( suq

State Isi stack

72

StateSaat ini Input

tersisa

Isi stackSaat ini

Input

a a a b b b aaTime 4:

Contoh : Diskripsi instan

$),,( 1 aaabbbqa

73

a, a

b, aq0 q1 q2 q3

Stack

$

b, a

, , $ $

Input

a a a b b b aaTime 5:

Contoh : Diskripsi instan

$),,( 2 aabbqa

74

a, a

b, aq0 q1 q2 q3

Stack

$

b, a

, , $ $

Penulisan :

$),,($),,( 21 aabbqaaabbbq

75

Time 4 Time 5

,$),(,$),($),,($),,(

$),,($),,($),,(

,$),(,$),(

3222

111

10

qqabqaabbq

aaabbbqaaabbbqaaabbbq

aaabbbqaaabbbq

Komputasi :

76

a, a

b, aq0 q1 q2 q3

b, a

, , $ $

,$),(,$),($),,($),,(

$),,($),,($),,(

,$),(,$),(

3222

111

10

qqabqaabbq

aaabbbqaaabbbqaaabbbq

aaabbbqaaabbbq

77

Penulisan akhir :

,$),(,$),( 30 qaaabbbq

Formal Definisibahasa pada PDA :M

)}',,(),,(:{)( 0 sqswqwML f

)(ML

78

State awal State akhir

Contoh :,$),(,$),( 30 qaaabbbq

PDA :M

)(MLaaabbb

79

a, a

b, aq0 q1 q2 q3

b, a

, , $ $

PDA :

,$),(,$),( 30 qbaq nn

)(MLba nn

PDA :M

80

a, a

b, aq0 q1 q2 q3

b, a

, , $ $

PDA :

PDA :M

}0:{)( nbaML nnKemudian :

81

a, a

b, aq0 q1 q2 q3

b, a

, , $ $

PDA :

Latihandiketahui sebuah PDA M sebagai berikut :

aa,

)}()(,prefixsetiaputk:},{{)( *

vnvnvbawML

ba

82

abaa

,,

q0

PDA M Apakah string aabtermasuk dalambahasa L(M) ?

Pustaka1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata,

Teknik Informatika UAD, 20052. Hopcroft John E., Rajeev Motwani, Jeffrey D. Ullman,

Introduction to Automata Theory, Languages, andComputation, 2rd, Addison-Wesley,2000

3. Martin C. John, Introduction to Languages and Theory ofComputation, McGraw-Hill Internatioanal edition,1991

TEORI BAHASA OTOMATA83

3. Martin C. John, Introduction to Languages and Theory ofComputation, McGraw-Hill Internatioanal edition,1991

4. Linz Peter,Introduction to Formal Languages & Automata,DC Heath and Company, 1990

5. Dulimarta Hans, Sudiana, Catatan Kuliah MatematikaInformatika, Magister Teknik Informatika ITB, 1998

6. Hinrich Schütze, IMS, Uni Stuttgart, WS 2006/07,Slides based on RPI CSCI 2400

top related