23

Click here to load reader

Teori Bahasa dan Automata

  • Upload
    kerryn

  • View
    254

  • Download
    13

Embed Size (px)

DESCRIPTION

Teori Bahasa dan Automata. Finite State Automata & Non Finite State Automata. Finite State Automata. Model matematika suatu sistem yang menerima input dan output diskrit Mesin automata dari bahasa Regular - PowerPoint PPT Presentation

Citation preview

Page 1: Teori Bahasa dan  Automata

Finite State Automata & Non Finite State Automata

Page 2: Teori Bahasa dan  Automata

Model matematika suatu sistem yang menerima input dan output diskrit

Mesin automata dari bahasa Regular

Tidak memiliki tempat penyimpanan sehingga kemampuan mengingat terbatas (contoh: elevator/lift)

Aplikatif - berguna untuk merancang sistem nyata.

Aplikasi meliputi : analisis leksikal, text-editor, protokol komunikasi jaringan (kermit) dan parity checker (pengecek parity).

Teori Bahasa dan Automata

Page 3: Teori Bahasa dan  Automata

FSA atau AH (Automata Hingga) didefinisikan sebagai pasangan 5 tupel M = (Q, ∑, δ, S,

F).

Q : himpunan hingga state ∑ : himpunan hingga simbol input (alfabet)δ : fungsi transisi, menggambarkan transisi state FSA akibat

pembacaan simbol input.

Fungsi transisi ini biasanya diberikan dalam bentuk tabel.S Q : state AWALF Q : himpunan state AKHIR 

Teori Bahasa dan Automata

Page 4: Teori Bahasa dan  Automata

Contoh : seorang petani dengan seekor serigala, kambing dan seikat

rumput berada pada suatu sisi sungai. Tersedia hanya sebuah perahu kecil yang hanya dapat dimuati dengan petani tersebut dengan salah satu serigala, kambing atau rumput. Petani tersebut harus menyeberangkan ketiga bawaannya kesisi lain sungai. Tetapi jika petani meninggalkan serigala dan kambing pada suatu saat, maka kambing akan dimakan serigala. Begitu pula jika kambing ditinggalkan dengan rumput, maka rumput akan dimakan oleh kambing. Mungkinkah ditemukan suatu cara untuk melintasi sungai tanpa menyebabkan kambing atau rumput dimakan.

Teori Bahasa dan Automata

Page 5: Teori Bahasa dan  Automata

Teori Bahasa dan Automata

Sisi kiri Sisi Kanan Simbol State

PSKR Ø PSKR – Ø

SR PK SR – PK

SK PR SK – PR

KR PS KR – PS

PSR K PSR – K

PSK R PSK – R

PKR S PKR – SPK SR PK – SRPR SK PR – SKPS KR PS – KRK PSR K – PSRR PSK R – PSKS PKR S – PKR

SKR P SKR – P

P SKR P – SKR

Ø PSKR Ø – PSKR

Sisi kiri Sisi Kanan Simbol State

PSKR Ø PSKR – Ø

SR PK SR – PK

PSR K PSR – K

PSK R PSK – R

PKR S PKR – S

PK SR PK – SR

K PSR K – PSR

R PSK R – PSK

S PKR S – PKR

Ø PSKR Ø – PSKR

Dari 16 kemungkinan kombinasi state , hanya 10 state yang memenuhi syarat.

16 kemungkinan kombinasi state

Page 6: Teori Bahasa dan  Automata

Teori Bahasa dan Automata

PKSR - Ø SR - PK PSR - K

R - PKS S- PKR

PKR - SPKS - R

K - PSR

PK - SR

Ø - PKSR

PK

PK P

P

PS

PS

PR

PR

PK PKPK

PK

PS

PSPRPR

P

P

PK PK

Diagram Transisi

Page 7: Teori Bahasa dan  Automata

Ada dua jenis FSA :

Deterministic finite automata (DFA) Non deterministik finite automata.(NFA)

DFA : transisi state FSA akibat pembacaan sebuah simbol bersifat tertentu.

NFA : transisi state FSA akibat pembacaan sebuah simbol bersifat tak tentu.

Teori Bahasa dan Automata

Page 8: Teori Bahasa dan  Automata

Teori Bahasa dan Automata

Deterministic finite automata (DFA) M = (Q, ∑, δ, S, F), dimana :

Q : himpunan state/kedudukan ∑ : himpunan simbol input∂ : fungsi transisi, dimana ∂ Q x ∑ QS : State awal (initial state)F : himpunan state akhir (Final State)

Language L(M) : (x| ∂(S,x) di dalam F)

Page 9: Teori Bahasa dan  Automata

Teori Bahasa dan Automata

∑= {a, b} δ a b

S = q0 q0 q0 q1

F = {q0, q1} q1 q0 q2

q2 q2 q2

DFA :Q = {q0, q1, q2} δ diberikan dalam tabel berikut :

q0 q1 q2

ab

a b

a

b

L(M) ={abababaa, aaaabab,aabababa,…}

Page 10: Teori Bahasa dan  Automata

Teori Bahasa dan Automata

Telusurilah, apakah kalimat-kalimat berikut diterima DFA di atas :

abababaa, aaaabab , aaabbaba

Jawab :

δ (q0,abababaa) δ (q0,bababaa) δ (q1,ababaa) δ (q0,babaa) δ (q1,abaa) δ (q0,baa) δ (q1,aa) δ (q0,a) q0

Tracing berakhir di q0 (state AKHIR) kalimat abababaa diterima

Kesimpulan : Sebuah kalimat diterima oleh DFA di atas jika tracingnya berakhir di salah satu state AKHIR.

Page 11: Teori Bahasa dan  Automata

Teori Bahasa dan Automata

Non Deterministic finite automata (NFA) M = (Q, ∑, δ, S, F),

dimana :

Q : himpunan state/kedudukan ∑ : himpunan simbol input∂ : fungsi transisi, dimana ∂ Q x (∑ ⋃ ) P(Q)

P(Q) : set of all subsets of QS : State awal (initial state)F : himpunan state akhir (Final State)

Language L(M) : (x| ∂(S,x) di dalam F)

Page 12: Teori Bahasa dan  Automata

Teori Bahasa dan Automata

∑= {a, b,c} δ a b c

S = q0 Q 0 {q0 , q 1} {q0 , q2 } {q0 , q3 }

F = {q4} q 1 {q1 , q4 } {q1 } {q 1}

q 2 {q2 } {q 2, q4 } {q 2}

q3 {q3 } {q3 } {q 3, q4 }

q 4

0001020341141122242333

Berikut ini sebuah contoh NFA (Q, ∑, δ, S, F). dimana :Q = {q 0, q1 , q2 ,q3 , q4 }

δ diberikan dalam tabel berikut :

Page 13: Teori Bahasa dan  Automata

Teori Bahasa dan Automata

∑= {a, b,c} δ a b c

S = q0 q 0 {q0 , q 1} {q0 , q2 } {q0 , q3 }

F = {q4 } q 1 {q1 , q4 } {q1 } {q 1}

q 2 {q2 } {q 2, q4 } {q 2}

q3 {q3 } {q3 } {q 3, q4 }

q 4

q1

q4

a,b,c

a

a,b,c

c

b

ac

b

a,b,c a,b,c

L(M) = {aabb,…}q1q0

q3 q2

Page 14: Teori Bahasa dan  Automata

Sebuah kalimat di terima NFA jika :  Salah satu tracing-nya berakhir di state AKHIR, atau himpunan state setelah membaca string tersebut mengandung state

AKHIR

Telusurilah, apakah kalimat-kalimat berikut diterima NFA di atas : ab, abc, aabc, aabb

Jawab:δ(q0 ,ab) δ(q0,b) δ(q1 ,b) {q0, q2} {q1 } = {q0 , q1 , q2}Himpunan state TIDAK mengandung state AKHIR kalimat ab tidak

diterima δ(q0 ,abc) δ(q0 ,bc) δ(q1 ,bc) { δ(q0 ,c) δ(q2 ,c)}δ(q1 , c)

{{ q0 , q3 }{ q2 }}{ q1 } = {q0 , q1 , q2 ,q3 }Himpunan state TIDAK mengandung state AKHIR kalimat abc tidak

diterima 

Teori Bahasa dan Automata

Page 15: Teori Bahasa dan  Automata

Teori Bahasa dan Automata

Page 16: Teori Bahasa dan  Automata

Dua DFA M1 dan M2 dinyatakan ekivalen apabila L(M1) = L(M2)

Teori Bahasa dan Automata

q1q0

q0

M2

M1

0

0

0

Page 17: Teori Bahasa dan  Automata

Reduksi dilakukan untuk mengurangi jumlah state tanpa mengurangi kemampuan untuk menerima suatu bahasa seperti semula (efisiensi)

State pada FSA dapat direduksi apabila terdapat useless state

Hasil dari FSA yang direduksi merupakan ekivalensi dari FSA semula

Teori Bahasa dan Automata

Page 18: Teori Bahasa dan  Automata

Pasangan State dapat dikelompokkan berdasarkan:

Distinguishable State (dapat dibedakan)Dua state p dan q dari suatu DFA dikatakan indistinguishable apabila:

δ(q,w) F dan δ(p,w) F atau δ(q,w) ∉ F dan δ(p,w) ∉ F untuk semua w S*

Indistinguishable State ( tidak dapat dibedakan)Dua state p dan q dari suatu DFA dikatakan distinguishable jika ada string w S* hingga:

δ(q,w) F dan δ(p,w) ∉ F

Teori Bahasa dan Automata

Page 19: Teori Bahasa dan  Automata

Pasangan dua buah state memiliki salah satu kemungkinan : distinguishable atau indistinguishable tetapi tidak kedua-duanya. Dalam hal ini terdapat sebuah relasi :

Jika p dan q indistinguishable, dan q dan r indistinguishable maka p, r indistinguishable dan

p,q,r indistinguishable

Dalam melakukan eveluasi state, didefinisikan suatu relasi : Untuk Q yg merupakan himpunan semua state

◦ D adalah himpunan state-state distinguishable, dimana D Q ◦ N adalah himpunan state-state indistinguishable, dimana N Q◦ maka x N jika x Q dan x D

Teori Bahasa dan Automata

Page 20: Teori Bahasa dan  Automata

Hapuslah semua state yg tidak dapat dicapai dari state awal (useless state)

Buatlah semua pasangan state (p, q) yang distinguishable, dimana p F dan q F. Catat semua pasangan-pasangan state tersebut.

Cari state lain yang distinguishable dengan aturan: “Untuk semua (p, q) dan semua a ∑, hitunglah δ (p, a) = pa dan δ

(q, a) = qa . Jika pasangan (pa, qa) adalah pasangan state yang distinguishable maka pasangan (p, q) juga termasuk pasangan yang distinguishable.

Semua pasangan state yang tidak termasuk sebagai state yang distinguishable merupakanstate-state indistinguishable.

Beberapa state yang indistinguishable dapat digabungkan menjadi satu state.

Sesuaikan transisi dari state-state gabungan tersebut.

Teori Bahasa dan Automata

Page 21: Teori Bahasa dan  Automata

Teori Bahasa dan Automata

q2q0

q1

1

0

q4

1

1

0,1

q3

0

0

0

1

q5

0

1

Sebuah Mesin DFA

Lakukan Reduksi state pada DFA diatas?

Page 22: Teori Bahasa dan  Automata

State q5 tidak dapat dicapai dari state awal dengan jalan apapun (useless state). Hapus state q5

Catat state-state distinguishable, yaitu :q4 F sedang q0, q1, q2, q3 F sehingga pasangan (q0, q4) (q1, q4) (q2, q4) dan (q3, q4) adalah distinguishable.

Pasangan-pasangan state lain yang distinguishable diturunkan berdasarkan pasangan dari langkah 2, yaitu : ◦ Untuk pasangan (q0, q1)

δ(q0, 0) = q1 dan δ(q1, 0) = q2 belum teridentifikasi δ(q0, 1) = q3 dan δ(q1, 1) = q4 (q3, q4) distinguishable

maka (q0, q1) adalah distinguishable.◦ Untuk pasangan (q0, q2)

δ(q0, 0) = q1 dan δ(q2, 0) = q1 belum teridentifikasi δ(q0, 1) = q3 dan δ(q2, 1) = q4 (q3, q4) distinguishable

maka (q0, q2) adalah distinguishable.

Teori Bahasa dan Automata

Page 23: Teori Bahasa dan  Automata

Setelah diperiksa semua pasangan state maka terdapat state-state yang distinguishable : (q0,q1), (q0,q2), (q0,q3), (q0,q4), (q1,q4), (q2,q4), (q3,q4)Karena berdasarkan relasi-relasi yang ada, tidak dapat dibuktikan (q1, q2), (q1, q3) dan (q2, q3) distinguishable, sehingga disimpulkan pasangan-pasangan state tersebut indistinguishable.

Karena q1 indistinguishable dengan q2, q2 indistinguishable dengan q3, maka dapat disimpulkan q1, q2, q3 saling indistinguishable dan dapat dijadikan satu state.

Berdasarkan hasil diatas maka hasil dari DFA yang direduksi menjadi:

Teori Bahasa dan Automata

q1,2,3q0 q40 , 1

0

1

0 , 1