• Tidak ada hasil yang ditemukan

Bahasa Formal PDA yang Diterima Bahasa Bebas Konteks. Pertemuan Ke-13. Sri Handayaningsih, S.T., M.T. Teknik Informatika

N/A
N/A
Protected

Academic year: 2021

Membagikan "Bahasa Formal PDA yang Diterima Bahasa Bebas Konteks. Pertemuan Ke-13. Sri Handayaningsih, S.T., M.T. Teknik Informatika"

Copied!
71
0
0

Teks penuh

(1)

Bahasa Formal

PDA yang Diterima Bahasa Bebas Konteks

Pertemuan Ke-13

Sri Handayaningsih, S.T., M.T. Email : [email protected]

(2)

TIU & TIK

Memahami konsep PDA yang diterima oleh CFG antara lain :

1. PDA untuk CFG

2. Deterministik PDA

(3)

Bahasa bebas konteks (Gramer) Bahasa yg diterima Oleh PDA Teorema: 3

(4)

Bahasa bebas konteks (Gramer) Bahasa yg diterima Oleh PDA Pembuktian - langkah 1: 4

Konversikan gramer bebas konteks Pada PDA dengan

G

(5)

Bahasa bebas konteks (Gramer) Bahasa yg diterima Oleh PDA Pembuktian - langkah 2: 5

Konversikan PDA ke grammer bebas konteks

G

dengan :

M

)

(

)

(

G

L

M

L

(6)

Konversikan

Grammer bebas konteks

ke

Pembuktian - langkah 1

6

ke

PDA

(7)

Bahasa bebas konteks (Gramer) Bahasa yg diterima Oleh PDA 7

Konversikan grammer bebas konteks Pada PDA dengan

G

(8)

Ke PDA

M

sebagai berikut : Konversi grammer

G

8

M

Simulasi menggunakan derivasi kiri Pada

G

(9)

Produksi pada

w

A

Terminal pada

a

G

G

Konversi grammer

G

ke PDA

M

9

q

0

,

S

q

1

, $

$

q

2

w

A

,

a

,

a

(10)

S   Grammer Derivasi kiri $) , , ( ,$) , ( 1 1 1 1 1 0         S q q n k k n k k          Komputasi PDA Simulasi grammer Derivasi kiri 10 n k k m k X X            1 1 1 1     ,$) , ( $) , , ( 2 1 1 1    q X X q k n m       Variabel kiri

(11)

Grammer PDA

b

S

aSTb

S

,

,

T

Ta

T

b

S

aSTb

S

Contoh

11

q

0

,

S

q

1

, $

$

q

2

T

Ta

T

b

S

,

,

,

T

b

b

a

a

,

,

(12)

abTb

aSTb

S

$) , , ( $) , , ( $) , , ( $) , , ( ,$) , ( 1 1 1 0 Tb ab q bTb bab q STb bab q S abab q abab q    

Derivsi Grammer Komputasi PDA

12

abab

abTab

,$) , ( ,$) , ( $) , , ( $) , , ( $) , , ( $) , , ( 2 1 1 1 1 1   q q b b q ab ab q Tab ab q Tb ab q      

(13)

b

S

aSTb

S

,

,

Input Stack

$

a

b

a

Time 0

b

Derivasi: 13 0

q

,

S

q

1

, $

$

q

2

T

Ta

T

b

S

,

,

,

b

b

a

a

,

,

Stack

(14)

b

S

aSTb

S

,

,

Input Stack

$

a

b

a

b

S

Time 0 Derivasi: S 14

q

0

,

S

q

1

, $

$

q

2

T

Ta

T

b

S

,

,

,

b

b

a

a

,

,

Stack

(15)

b

S

aSTb

S

,

,

Input Stack

$

a

b

a

b

a

b

S

T

Time 1 Derivasi: SaSTb 15

q

0

,

S

, $

$

q

2

T

Ta

T

b

S

,

,

,

b

b

a

a

,

,

Stack

q

1

(16)

b

S

aSTb

S

,

,

Input Stack

$

a

b

a

b

a

b

S

T

Time 2 aSTb S  Derivasi: 16

q

0

,

S

, $

$

q

2

T

Ta

T

b

S

,

,

,

b

b

a

a

,

,

Stack

q

1

(17)

b

S

aSTb

S

,

,

Input Stack

$

a

b

a

b

b

T

b

Time 3

Derivasi : SaSTbabTb

17

q

0

,

S

, $

$

q

2

T

Ta

T

b

S

,

,

,

b

b

a

a

,

,

Stack

q

1

(18)

b

S

aSTb

S

,

,

Input Stack

$

a

b

a

b

b

T

b

Time 4

Derivasi: SaSTbabTb

18

q

0

,

S

, $

$

q

2

T

Ta

T

b

S

,

,

,

b

b

a

a

,

,

Stack

q

1

(19)

b

S

aSTb

S

,

,

Input Stack

$

a

b

a

b

b

T

a

Time 5

Derivasi: SaSTbabTbabTab

19

q

0

,

S

, $

$

q

2

T

Ta

T

b

S

,

,

,

b

b

a

a

,

,

Stack

q

1

(20)

b

S

aSTb

S

,

,

Input Stack

$

a

b

a

b

b

T

a

Time 6

Derivasi: SaSTbabTbabTababab

20

q

0

,

S

, $

$

q

2

T

Ta

T

b

S

,

,

,

b

b

a

a

,

,

Stack

q

1

(21)

b

S

aSTb

S

,

,

Input Stack

$

a

b

a

b

b

a

Time 7

Derivasi: SaSTbabTbabTababab

21

q

0

,

S

, $

$

q

2

T

Ta

T

b

S

,

,

,

b

b

a

a

,

,

Stack

q

1

(22)

b

S

aSTb

S

,

,

Input Stack

$

a

b

a

b

b

Time 8

Derivasi: SaSTbabTbabTababab

22

q

0

,

S

, $

$

q

2

T

Ta

T

b

S

,

,

,

b

b

a

a

,

,

Stack

q

1

(23)

b

S

aSTb

S

,

,

Input Stack

$

a

b

a

b

Time 9

Derivasi: SaSTbabTbabTababab

23

q

0

,

S

q

1

, $

$

q

2

T

Ta

T

b

S

,

,

,

b

b

a

a

,

,

Stack diterima

(24)

Grammer dgn string

G

PDA menerima

M

Secara Umum, dapat dilihat :

w

Jika dan

w

Hanya jika 24

w

S

*

(

q

0

,

w

,$)

(

q

2

,

,$)

Hanya jika sehingga

L

(

G

)

L

(

M

)

(25)

Kesimpulan :

Untuk setiap bahasa bebas konteks maka PDA dapat menerima

L

L

25 Bahasa bebas konteks (Gramer) Bahasa yg diterima Oleh PDA

(26)

Konversi

PDA

ke

Pembuktian - langkah 2 26

ke

(27)

Bahasa bebas konteks (Gramer) Bahasa yg diterima Oleh PDA 27

Konversika PDA ke grammer bebas konteks

G

dengan

M

)

(

)

(

G

L

M

L

(28)

Konversikan PDA

M

ke

Grammer bebas konteks

G

sbg berikut:

Komputasikan Simulasi dari

28

M

Komputasikan Simulasi dari

Dengan derivasi kiri

(29)

Beberapa Modifikasi Penting

1. stack tdk pernah kosong selama komputasi 2. Jika hanya ada satu state yg diterima

dan stack kosong ketika stack menerima string

29

(30)

1. stack tdk pernah kosong selama komputasi Stack 30

$

a

OK

$

OK NOT OK

(31)

$

a

$

Penyelesain :

Perkebalkan simbol baru utk menandai Stack paling bawah

#

31

$

a

#

$

#

#

(32)

PDA asli

Menambahkan

#

pada awal PDA

initial state baru 32 $# ,$   asli initial state baru

(33)

i

q

,

s

q

j

Konversikan seluruh transisi

setelah popping pada automata yg

tdk selesai

$

} {#    x pop

$

33 i

q

,

s

q

j halting state

x

x

,

x{#} pop

$

(34)

PDA

,

x

Stack kosong } {#    x

2. Modifikasi PDA pada akhir stack dgn stack kosong dan

menerima state yg unik

34

f

q

,

x

menerima states lama

 ,#

Menerima State

(35)

3. Modifikasikan PDA yg tidak ada transisi popping : i

q

,  y

q

j

35 i

q

,  y

q

j

}

{#

(36)

a

, $

0$

b

, $

1$

)}

(

)

(

:

}

,

{

{

)

(

M

w

a

b

*

n

w

n

w

L

a

b Contoh :

(modifikasi yg tidak perlu)

36

,

$

0

q

q

f

a

, 0

00

a

, 1

b

, 1

11

b

, 0

(37)

Kontruksi Grammer

A

Pada grammer

G

:

Terminal :

simbols stack PDA

Variabel :

a

simbols input PDA

37

Terminal :

a

simbols input PDA

(38)

q

a

,

A

q

1 transisi PDA

38

(39)

transisi PDA

q

a

,

A

B

1

B

2

B

m

q

1

39

(40)

S   Derivasi Grammer kiri ,$) , (q11kk 1n      Komputasi PDA 40 n k k m k X X            1 1 1 1     ) , , ( ) , , ( 2 1 1 1     q X X q k n m       Variabel kiri

(41)

Contoh PDA:

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

41 0

q

q

f Grammer:

$

a

0

$

00

0

a

a

1

$

1

$

b

11

1

b

b  0

$

(42)

a

0

$

$

Derivasi Kiri Grammer : Komputasi PDA:

$)

0

,

,

(

,$)

,

(

0 0

bba

q

abba

q

42

abba

abba

abb

ab

$

$

1

$

)

,

,

(

,$)

,

(

$)

1

,

,

(

,$)

,

(

0 0 0

f

q

q

a

q

ba

q

(43)

a

, $

0$

b

, $

1$

$ Derivasi:

a

b b

a

Time 0 43

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

(44)

a

, $

0$

b

, $

1$

$ Derivasi:

a

b b

a

Time 1

0

$ 0 a 44

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

Stack

$

(45)

a

, $

0$

b

, $

1$

$ Derivasi:

a

b b

a

Time 2

a0$

ab$ 45

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

Stack

$

(46)

a

, $

0$

b

, $

1$

$ Derivasi:

a

b b

a

Time 3

a0$

ab$

1

$ 1 abb

46

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

Stack

$

(47)

a

, $

0$

b

, $

1$

Derivasi:

a

b b

a

Time 4 $

a0$

ab$

abb1$ $ abba 47

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

Stack

$

(48)

a

, $

0$

b

, $

1$

Derivasi:

a

b b

a

Time 5 kosong

abba $

a0$

ab$

abb1$ $ abba 48

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

Stack kosong

(49)

Bagaimanapun juga, konversi grammer Tdk dpt bekerja pada seluruh PDAs:

A

b

,

$

$

,

A

a

$

,

A

A

a

49 0

q

b

,

A

q

1

,

$

q

f

}

1

:

{

)

(

M

a

b

n

L

n n

(50)

A

b

,

0

q

q

f

$

$

,

A

a

$

,

A

A

a

A

b

,

1

q

,

$

50 Grammer:

$

$

aA

A

aA

$

b

A

$

(51)

Derivasi yg buruk:

)

(

$

$

$

aaA

aab

aab

L

M

aA

S

51 Grammer:

$

$

aA

A

aA

$

b

A

$

(52)

Kontruksi Grammer Yg Benar

)

(

q

i

Aq

j

Pada grammer

G

:

simbol stack PDA

Variabel:

52 Terminals: simbol input pada PDA

(53)

q

a

,

A

q

1 Transisi PDA

53

(54)

Transisi PDA

q

a, AB1B2 Bm

q

1 54 Produksi Grammer

)

(

)

)(

(

)

(

qAq

m

a

q

1

B

1

q

2

q

2

B

2

q

3

q

m

B

m

q

m1

Utk seluruh state yg mungkin

pada PDA 2 1

,

,

q

m

q

(55)

Variabel awal :

(

q

o

Zq

f

)

Simbol stack bawah

#

or

$

55

(56)

Contoh ::

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

56

,

$

0

q

q

f

a

q

q

1

)

(

0 0 Produksi Grammar:

(57)

Contoh :

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

57

,

$

0

q

q

f

)

$

)(

1

(

|

)

$

)(

1

(

)

$

(

)

$

)(

1

(

|

)

$

)(

1

(

)

$

(

0 0 0 0 0 0 0 0 0 0 0 0 0 f f f f f f f

q

q

q

q

b

q

q

q

q

b

q

q

q

q

q

q

b

q

q

q

q

b

q

q

Produksi Grammer :

(58)

Contoh:

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

58

,

$

0

q

q

f Produksi Grammer:

(

q

0

$

q

f

)

(59)

)

$

)(

1

(

|

)

$

)(

1

(

)

$

(

)

$

)(

1

(

|

)

$

)(

1

(

)

$

(

0 0 0 0 0 0 0 0 0 0 0 0 0 f f f f f f f

q

q

q

q

b

q

q

q

q

b

q

q

q

q

q

q

b

q

q

q

q

b

q

q

)

1

)(

1

(

|

)

1

)(

1

(

)

1

(

q

0

q

0

b

q

0

q

0

q

0

q

0

b

q

0

q

f

q

f

q

0

Kesimpulan Grammer:

(

q

0

$

q

f

)

:

start vari

able

59

)

1

)(

1

(

|

)

1

)(

1

(

)

1

(

)

1

)(

1

(

|

)

1

)(

1

(

)

1

(

0 0 0 0 0 0 0 0 0 0 0 0 0 f f f f f f f

q

q

q

q

b

q

q

q

q

b

q

q

q

q

q

q

b

q

q

q

q

b

q

q

)

$

)(

0

(

|

)

$

)(

0

(

)

$

(

)

$

)(

0

(

|

)

$

)(

0

(

)

$

(

0 0 0 0 0 0 0 0 0 0 0 0 0 f f f f f f f

q

q

q

q

a

q

q

q

q

a

q

q

q

q

q

q

a

q

q

q

q

a

q

q

(60)

)

0

)(

0

(

|

)

0

)(

0

(

)

0

(

)

0

)(

0

(

|

)

0

)(

0

(

)

0

(

0 0 0 0 0 0 0 0 0 0 0 0 0 f f f f f f f

q

q

q

q

a

q

q

q

q

a

q

q

q

q

q

q

a

q

q

q

q

a

q

q

b

q

q

a

q

q

)

0

(

)

1

(

0 0 0 0 60

b

q

q

0

)

(

0 0

)

$

(

q

0

q

f

(61)

)

$

(

q

0

q

f

)

$

)(

0

(

q

0

q

0

q

0

q

f

a

)

$

(

q

q

ab

(

,

,$)

$)

0

,

,

(

,$)

,

(

0 0

ba

q

bba

q

abba

q

Derivasi Grammar Kiri Komputasi PDA 61

)

$

(

q

0

q

f

ab

)

$

)(

1

(

q

0

q

0

q

0

q

f

abb

)

$

(

q

0

q

f

abba

abba

(

,

,

)

,$)

,

(

$)

1

,

,

(

,$)

,

(

0 0 0

f

q

q

a

q

ba

q

(62)

a

, $

0$

b

, $

1$

) $ (q0 q f Derivasi:

a

b b

a

Time 0 62

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

(63)

a

, $

0$

b

, $

1$

) $ (q0 q f Derivasi:

a

b b

a

Time 1

0

) $ )( 0 (q0 q0 q0 q f a 63

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

Stack

$

(64)

a

, $

0$

b

, $

1$

) $ (q0 q f Derivasi:

a

b b

a

Time 2

a(q00q0)(q0$q f )

(

$

)

0

q

f

q

ab

64

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

Stack

$

(65)

a

, $

0$

b

, $

1$

) $ (q0 q f Derivasi:

a

b b

a

Time 3

a(q00q0)(q0$q f )

(

$

)

0

q

f

q

ab

1

) $ )( 1 (q0 q0 q0 q f abb

65

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

Stack

$

(66)

a

, $

0$

b

, $

1$

) $ (q0 q f Derivasi:

a

b b

a

Time 4

a(q00q0)(q0$q f )

(

$

)

0

q

f

q

ab

) $ )( 1 (q0 q0 q0 q f abb

abba(q0 $qf ) 66

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

Stack

$

(67)

a

, $

0$

b

, $

1$

) $ (q0 q f Derivasi:

a

b b

a

Time 5

a(q00q0)(q0$q f )

(

$

)

0

q

f

q

ab

) $ )( 1 (q0 q0 q0 q f abb

abba(q0 $qf )

abba

kosong 67

,

$

0

q

q

f

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

Stack kosong

(68)

Secara Umum:

wB

Aq

q

)

(

Jika dan Hanya Grammer PDA

)

,

,

(

)

,

,

(

q

w

A

q

B

68

wB

Aq

q

i j

)

(

Hanyajika

(

q

i

,

w

,

A

)

(

q

j

,

,

B

)

(69)

Thus:

Jika dan Hanya Grammer dg

general PDA menerima

)

,

,

(

,$)

,

(

q

w

q

w

w

69

w

q

q

f

)

$

(

0 Hanya jika

(

q

0

,

w

,$)

(

q

f

,

,

)

(70)

sehingga:

Untuk setiap PDA

Merupakan grammer bebas kontek Akan menerima bahasa yg sama

70 Bahasa Bebas konteks (Grammer) bahasa diterima Oleh PDA

(71)

Pustaka

1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata, Teknik Informatika UAD, 2005

2. Hopcroft John E., Rajeev Motwani, Jeffrey D. Ullman,

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

3. Martin C. John, Introduction to Languages and Theory of Computation, McGraw-Hill Internatioanal edition,1991 4. Linz Peter,Introduction to Formal Languages &

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

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

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

Referensi

Dokumen terkait