• Tidak ada hasil yang ditemukan

MODUL 5: Nondeterministic Finite Automata dengan

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL 5: Nondeterministic Finite Automata dengan"

Copied!
41
0
0

Teks penuh

(1)

MODUL 5:

Nondeterministic Finite Automata dengan Transisi-Λ (NFA-ΛΛ Λ)

(2)

Dengan konsep nondeterministisme dari suatu

ekspresi regular suatu NFA yang dapat menerima bahasa ybs dapat langsung dilakukan.

Namun, masih terdapat kasus-kasus dimana hal ini tidak dapat dilakukan secara sederhana.

(3)

Contoh: 0*(01)* dapat dipandang sebagai sebagai konkatenasi dua ekspresi regular 0* dan (01)*. Bahasa-bahasa dari ekspresi-ekspresi tsb diterima oleh FA-FA sebagai berikut.

r2 q1 q2 0,1 0 1 1 0 0 q0 r1 0,1 1

(4)

Bahasa dari ekspresi regular 0*(01)* dapat

dikenal oleh NFA yang dibentuk dari kedua FA di atas sebagai berikut ini.

Transisi dari q0 ke q1 diperlukan untuk menerima 0* sementara transisi dari q0 ke q2 diperlukan untuk menerima (01)*. 0 q0 r2 q1 q2 0,1 0 1 1 0 0 0 r1 0,1 1

(5)

• Aturan penambahan transisi yang melengkapi “konkatenasi” kedua FA semula tidaklah bisa dengan sederhama dijelaskan.

• Dalam konkatenasi lain bahkan bisa lebih rumit apabila status menerima FA pertama berjumlah cukup banyak.

(6)

Seandainya NFA bisa memiliki transisi tanpa simbol masukan (kita sebut transisi-Λ) maka Λ kontatenasi tersebut dapat dilakukan hanya seperti pada diagram berikut ini.

0 q0 r2 q1 q2 0,1 0 1 1 0 Λ r1 0,1 1

(7)

• Diagram ini bukanlah NFA, tetapi NFA-Λ.

• NFA-Λ ini dapat mengenali bahasa yang sama dengan bahasa yang dikenali oleh NFA

sebelumnya

• struktur yang lebih sederhana dan lebih mencerminkan konkatenasi kedua FA asal melalui transisi Λ.

(8)

Definisi: suatu NFA dengan transisi-Λ (disingkat NFA-Λ) merupakan 5-tuple (Q, Σ, q0, A, δ)

dimana Q dan Σ merupakan

himpunan-himpunana terbatas, qo Q dan A Q, serta δ terdefinisi sebagai pemetaan sbb.

δ: Q × (Σ ∪ Λ)→ 2Q

Perhatikan: domain dari δ adalah Σ dan Λ. NFA δ: Q × Σ → 2Q

(9)

Fungsi perluasan transisi δδ*

Karena adanya transisi-Λ, jumlah transisi yang diaplikasikan pada δ* bisa lebih besar dari

panjang string.

Contoh: string 01 akan dikenali sebagai 0ΛΛ1Λ seolah sejumlah “simbol palsu Λ” disisipkan

pada string.

(10)

Λ

Λ-closure dari Himpunan Status S atau ΛΛ(S) Untuk memahami definisi δ* akan diperkenalkan konsep Λ-closure (lingkupan-Λ) sbb.

Λ(S) adalah seluruh status dalam S tersebut

beserta status-status lain yang dapat tercapai oleh masing-masing status dalam S melalui satu atau beberapa transisi Λ (Jadi S ⊆ Λ(S)).

(11)

Definisi Λ(S) Λ

Pada suatu NFA- Λ M = (Q, Σ, q0, A, δ) dan S

Q, suatu fungsi Λ(S) didefinisikan sebagai berikut:

Setiap anggota S merupakan anggota Λ(S).

Untuk setiap q ∈ Λ(S), setiap anggota δ(q, Λ) adalah anggota Λ(S).

• Tidak ada anggota lain dari Q yang anggota

(12)

Algoritma Pencarian Λ(S) Λ

Inisialisasi T1 = S.

Lakukan iterasi dari i =1, 2, 3,… , dan pada iterasi ke-i:

Ti+1 = Ti

Untuk setiap q Ti, gabungkan δ(q, Λ) ke dalam Ti+1.

Iterasi berhenti saat Ti+1 = Ti (artinya tidak ada status baru yang bergabung dalam T).

(13)

Λ Λ Λ Λ S Λ(S) Λ Λ Λ Λ Λ Λ Λ

(14)

Definisi δδ* untuk NFA-Λ Λ

Pada setiap NFA-Λ M = (Q, Σ, q0, A, δ) fungsi δ*:

Q × (Σ* ∪ Λ) → 2Q didefinisikan sbb.

Untuk setiap q Q maka δ*(q, Λ) = Λ({q}).

Dan untuk setiap y ∈ Σ*, a ∈ Σ, dan q Q

        Λ = ∈

U

( , ) * * ) , ( ) , ( y q p a p ya q δ δ δ

(15)

Algoritma untuk mendapatkan δ*(q, ya):

• menentukan δ*(q, y)

• mendapatkan himpunan gabungan dari setiap

δ(p, a) untuk setiap p δ*

(q, y)

• menentukan Λ( ) dari himpunan gabungan tersebut.

Selanjutnya δ*(q, y) dicari dengan cara yang sama dengan di atas dimana y = xb.

(16)

q y a a a a δ* (q,y) δ * (q,ya) Λ Λ Λ Λ Λ Λ Λ ya

(17)

NFA-Λ M Sebagai Mesin Pengenal Bahasa Λ Untuk suatu NFA-Λ M = (Q, Σ, q0, A, δ)

String x diterima oleh M bila δ*(q0, x) A ≠ ∅

Bahasa yang dikenali oleh M adalah L(M) yaitu semua string yang diterima oleh M.

(18)

Contoh: suatu NFA-Λ ditunjukkan pada gambar berikut ini. w 1 q0 p t r u s v 0 0 1 0 0 1 0 Λ Λ Λ Λ Λ

(19)

Mencari Λ({s}):

Mula-mula T = {s},

setelah iterasi pertama, T = {s, w},

setelah iterasi kedua menjadi{s, w, q0},

setelah iterasi ketiga menjadi {s, w, q0, p, t}, setelah iterasi keempat berhenti karena T tidak berubah lagi.

(20)

Mencari δ*(q0, 010):

Untuk mencari δ*(q0, 010) perlu diketahui δ*(q0, 01), lalu untuk mencari δ*(q0, 01) perlu diketahui

δ*

(q0, 0), dan untuk mencari δ*(q0, 0) perlu diketahui δ*(q0, Λ), sbb. δ* (q0, Λ) = Λ({q0}) = {q0, p, t} δ* (q0, 0) = Λ(δ(q0,0) ∪ δ(p,0) δ(t,0)) = Λ(∅ ∪ {p} {u}) = Λ({p, u}) = {p, u} δ* (q0, 01) = Λ(δ(p,1) δ(u,1)) = Λ({r}) = {r} δ* (q0, 010) = Λ(δ(r,0)) = Λ({s}) = {s, w, q0, p, t}

(21)

Apakah 010 diterima?

Karena δ*(q0, 010) berisi w A maka 010 diterima.

Dalam hal ini transisi yang terjadi akibat string

Λ010Λ adalah

(22)

Kompatibilitas NFA-Λ dengan NFA Λ Sebelumnya telah ditunjukkan bahwa NFA tidak lebih powerful dari FA dalam kemampuannya mengenali bahasa.

Dari setiap NFA dapat ditemukan suatu FA. Bagaimana dengan NFA-Λ terhadap NFA atau FA? Apakah juga tidak lebih powerful?

(23)

Teorema: Bila L ⊆ Σ* suatu bahasa yang

diterima NFA-Λ M = (Q, Σ, q0, A, δ), maka akan terdapat suatu NFA M1 = (Q1, Σ, q1, A1, δ1) yang juga menerima L.

Transisi-Λ adalah jenis lain dr nondeterminisme. Misalnya dalam M terdapat transisi

p q r

Simbol 0 dapat membawa M dari p ke q atau r.

(24)

Maka suatu NFA M1 dapat dibuat dari M dengan menghapus transisi-Λ dan menggantikannya

dengan transisi dari p ke r dengan masukan simbol 0.

Dalam konversi ini himpunan status Q tidak

berubah, demikian pula status inisialnya. Secara lebih formal dijabarkan dalam:

• Menentukan δ1 dari δ

(25)

Menentukan δδ1

Perubahan yang terjadi pada fungsi transisi δ menjadi δ1 adalah karena adanya tambahan transisi-transisi yang menggantikan transisi-Λ tsb.

Untuk setiap q Q dan a ∈ Σ,

δ1(q, a) = δ * (q, a)         Λ =         Λ = Λ = Λ ∈ Λ ∈

U

( , )

U

({ }) * ) , ( ) , ( ) , ( * p q q p a p a p a q δ δ δ δ

(26)

q Sejumlah transisi-Λ a a a a δ* (q,y) δ1(q, a) U }) ({ ) , ( q p a p Λ ∈ δ Λ Λ Λ Λ    

(27)

Pendefinisian δ1 seperti itu dimaksudkan agar

δ1 *

(q, a) dari NFA M1 adalah semua status yang dapat tercapai oleh NFA-Λ M dari status q

berdasarkan masukan string tak-kosong x

(termasuk setiap kemungkinan transisi-Λ). Dpl., untuk membuktikan bahwa

δ1 *

(q, x) = δ*(q, x)

Secara induksi struktural matematis akan

(28)

δ1(q, a) = δ *

(q, a) = δ*(q, x) Dengan hipotesis bahwa δ1*(q, x) = δ*(q, x), untuk x = ya, dengan y

∈ Σ*

, |y|1 dan a ∈ Σ, maka

U

U

U

) , ( * ) , ( 1 ) , ( 1 * * * * 1 1 ) , ( ) , ( ) , ( ) , ( y q p y q p y q p a p a p ya p ya q δ δ δ δ δ δ δ ∈ ∈ ∈ = = =

(29)

Karena setiap δ*(p, a) adalah Λ-closure maka setelah digabungkan juga Λ-closure. Jadi Λ -closure dari himpunan yang dihasilkan ruas terakhir tersebut sama dengan himpunan itu sendiri, sbb. ya q a p a p y q p y q p , ( ) , ( ) , ( * ) , ( * ) , ( * * * δ δ δ δ δ =         Λ = ∈ ∈

U

U

)

(30)

Menentukan A1 dari A

A1 bisa berbeda dari A. Suatu status inisial q0 yang bukan status menerima akan menjadi status menerima apabila di dalam Λ({q0}) terdapat status menerima. Dituliskan secara formal sbb.

   ∪ Λ ∩ ≠ = lainnya dalam }) ({ jika } { 0 0 1 A M A q q A A E

(31)

Teorema: Untuk suatu alfabet Σ, setiapa bahasa

L ⊂ Σ*, ketiga pernyataan berikut ini adalah ekivalen (jika salah satu benar maka kedua lainnya juga benar):

1.L dapat dikenali oleh suatu FA. 2.L dapat dikenali oleh suatu NFA. 3.L dapat dikenali oleh suatu NFA-Λ.

(32)

Bukti: Teorema-teorema sebelumnya menyatakan bahwa pernyataan ketiga

berimplikasi pernyataan kedua dan pernyataan kedua berimplikasi pernyataan pertama. Jadi untuk membuktikan teorema di atas cukup

dengan membuktikan bahwa pernyataan pertama berimplikasi pernyataan ketiga.

Jika suatu bahasa L diterima oleh FA M = {Q, Σ,

(33)

dapat dibentuk untuk menerima L sebagai berikut.

δ1: Q × (Σ ∪ {Λ}) → 2

Q

didefinisikan dengan formula (untuk setiap q

Q, dan setiap a ∈ Σ).

δ1(q, Λ) = ∅

δ1(q, a) = {δ (q,a)}

Formula pertama menyatakan dalam M1 tidak ada transisi-Λ, dan yang kedua menyatakan fungsi

(34)

transisi δ1 dan δ adalah identik kecuali jika δ memetakan ke suatu status, δ1 memetakan ke

himpunan yang hanya berisi status tersebut. Jadi, dalam hal ini, NFA-Λ M1 tidak ada

nondeterminisme.

Berikut ini beberapa contoh mengeliminasi transisi-Λ dari NFA-Λ menjadi NFA, dan mengkonversinya menjadi FA.

(35)

Contoh: berikut ini, M adalah NFA-Λ yang menerima bahasa {0}*{01}*{0}*.

Fungsi transisi digambarkan dalam tabel transisi serta harga-harga δ*(q, 0) dan δ*(q, 1) misalnya.

A B D C 0 Λ Λ 1 0 0         Λ = Λ ∈

U

({ }) * ) 0 , ( ) 0 , ( A p p A δ δ

(36)

Dengan fungsi transisi δ1 (p, a) = δ*(p, a) untuk semua status p dan simbol a diperoleh tabel sbb.

q δ (q, ΛΛ) δ (q, 0) δ (q, 1) δ*(q, 0) δ* (q, 1)

A {B} {A} {A,B,C,D}

B {D} {C} {C,D}

C ∅ ∅ {B} {B,D}

D {D} {D}

Status A menjadi status menerima karena dalam

M status D dapat dicapai dari A dengan duakali

(37)

0 0 0 1 1 1 1 1 0,1 0 A D CD BD ABCD 0

Dengan demikian NFA

M1 yang diperoleh adalah sebagai di samping ini.

Dan Konversi NFA ke FA yang telah dibahas

pada topik NFA menghasilkan FA M2 berikut ini. 0 A B D C 0 0 0 1 0 0 10

(38)

Contoh: NFA disamping ini ini mengenali bahasa {0}*({01}*{1}∪{1}*{0}). A B E C 0 Λ 1 0 0 D 1 Λ 1

(39)

Tabel transisi berikut harga δ*(q, 0) dan δ*(q, 1) adalah.

q δ (q, ΛΛ) δ (q, 0) δ (q, 1) δ*(q, 0) δ* (q, 1)

A {B,D} {A} {A,B,C,D,E} {D,E}

B {C} {E} {C } {E}

C ∅ ∅ {B} {B}

D {E} {D} {E} {D}

(40)

NFA yang diperoleh adalah sebagai berikut. A B E C 0 0 1 0 0 D 1 0,1 1 0,1 0

(41)

Dari NFA di atas kemudian diperoleh FA sebagai berikut ini. 0 0 0 1 1 1 1 1 0,1 0 A DE E CE BD E ABCDE 0 D D D ∅ 0 0 0 1 1 0,1 0,1

Gambar

Tabel transisi berikut harga  δ * (q, 0) dan  δ * (q, 1)  adalah.

Referensi

Dokumen terkait

Penelitian ini bertujuan untuk mengetahui pertumbuhan populasi Daphnia spp.yang dibudidayakan dalam media yang diberi pupuk yang berasal dari limbah budidaya

a. Konsultasi secara berkesinambungan dengan guru pembimbing sangat diperlukan demi kelancaran pelaksanaan mengajar. Beberapa hal yang biasa dikonsultasikan dengan guru

Tujuan penelitian ini adalah untuk mengetahui pengaruh jenis pakan terhadap pertambahan bobot benih dan kelulushidupan benih ikan mas (Cyprinus carpio L.) strain punten.. Metode

Pola asuh authoritative yang memiliki kecenderungan pada sikap “acceptance” dan kontrol yang tinggi, bersikap responsif terhadap kebutuhan anak, mendorong anak untuk

Berdasarkan pengamatan yang dilakukan terhadap penggilingan beras HR di desa Kutagandok, dapat dibandingkan besarnya rendemen dan susut penggilingan untuk varietas padi

Fungsi koordinasi sebagaimana dimaksud dalam Pasal 11 huruf a, merupakan fungsi koordinasi Unsur Pelaksana BPBD, dilakanakan melalui koordinasi dengan satuan kerja

Dari 5 partisipan, 2 orang mengatakan bahwa RA disebabkan karena udara dingin. Hal tersebut terungkap berikut ini. Tapi ya mungkin karena udara dingin mbak). Sub Tema

Abstrak, Penelitian ini berjudul "Peran jejaring komunikasi dalam membangun kohesivitas kelompok tani tanaman obat di Jawa Barat". Penelitian ini