Minggu, 18 Juni 2023

Blog Teori Bahasa Dan Otomata tentang NON-DETERMINISTIC FINITE STATE AUTOMATA (NFA) DENGAN ε-Move || Siti Nurul Maghfirah L_ 202131125

                                                                      Institute Teknologi PLN Jakarta

                                                       Dosen : Dine Tiara Kusuma S.T., M.Kom


NFA Dengan E-Move

Disini kita mempunya outomata yang baru yang disebut NFA dengan ε-move (ε disini bisa dianggap sebagai ‘empaty’ atau kosong). Pada NFA dengan ε-move , diperbolehkan untuk mengubah state tanpa membaca input, atau bisa disebut juga dengan himpunan kosong atau hanya sebagai jembatan atara state satu dengan lainnya.

ε - Clousure untuk suatu NFA dengan ε – move

Sekarang kita akan menambahkan sebuah pengertian yaitu ε-closure. ε-closure adalah himpunan state-state yang dapat didapat dari suat state tanpa membaca inputan. Kita dapat melihat ε-closure yang dapat dicapai pada state pada gambar dibawah ini :


Pada gambar diatas dapat kita ketahui bahwa ε-closure untuk setiap state adalah sebagai berikut :

ε-closure(qo) = {qo, q1, q3)

ε-closure(q1) = {q1, q3}

ε-closure(q2) = {q2,q4}

ε-closure(q3) = {q3}

ε-closure(q4) = {q4}

Catatan:

Perhatikan  bahwa  pada  suatu  state  yang  tidak  memiliki  transisi  e,  maka  e- closure-nya adalah state itu sendiri.

Ekuivalensi NFA dengan ε - Move ke NFA tanpa menggunakan ε – Move

Pada kali ini kita akan membahas bagi mana cara menghilangkan ε-move seperti yang telah kita ketahui diatas, seperti bagaimana menentukan ε-move dan ε-closure pada setiap state-state yang ada pada mesin NFA.

Dari sebuah NFA dengan ε-move kita dapat memperoleh NFA tampa ε-move yang ekuivalen. Seperti pada gamabar dibawah ini NFA dengan ε-move :

Dari model state diatas dapat kita peroleh sebuah mesin NFA tampa ε-move, tentu saja untuk membuat ke NFA tampa ε-move tadak sederhana, perlu melakukan beberapa tahapan yang harus di lewati seperti dengan cara sebagai berikut :

  • Buatlah tabel transisi dari NFA dengan ε-move semula

δ

a

b

qo

Ø

Ø

q1

q2

q3

q2

Ø

Ø

q3

Ø

Ø

  • Tentukan ε-closure untuk setiap state-state

ε_cl(qo) = {qoq1}

ε_cl(q1) = {q,}

ε_cl(q2) = {q2}

ε_cl(q3) = {q3}

  • Kemudian, carilah setiap fungsi transisi hasil perubahan dari NFA ε-move ke NFA tamapa ε-move (kita sebut saja dengan δ') dimana δ'  didapat dengan rumus : 

1. δ'(state,input) = ε-closure (δ (ε-closure (state),input))

δ'(q0, a)  = ε_closure( δ (ε_closure(q0), a))

= ε_closure( δ ({q0, q1}, a))

= ε_closure(q2)

= {q2}

 2.  δ'(q0, b) =  ε _closure( δ (ε _closure(qo), b))

    = ε _closure( δ ({q0, q1}, b))

    = ε _closure(q3)

    = {q3}

  3. δ'(q1, a)   = ε _closure( δ (e.closure(qo), a))

    = ε _closure( δ ({q1}, a) )

    = ε _closure(q2)

    = {q2} 

 4. δ'(q1, b)  =  ε _closure{ δ (ε.closure(q1), b))

    = ε _closure( δ {{q1}, b))

    = ε _closure(q3)

    = {q3} 

 5. δ'(q2, a)  =  ε _closure( 5 (ε_closure(q2), a))

    = ε _closure( 8 ({q2}, a))

    = ε _closure(0)

    = Ø

 6. δ'(q2, b) = ε closure( 8 (ε_closure(q2), b))

    = ε _closure( 8 ({q2}, b))

    = e_closure(0)

    = Ø

  7. δ'(q3, a) =      e_closure( 8 (e_closure{q3), a))

    = e_closure( 8 ({q3}, a))

    = e_closure(0)

    = Ø

8. δ'(q3, b) =      e_closure( δ (e_closure(q3), b))

    = e_closure( δ ({q3}, b))

    = e_closure(0)

    = Ø 

  •  Berdasarkan hasil diatas, kita dapat membuat tabel transisi diagram transisi dari NFA tampa ε_move yang ekuivaen dengan NFA dengan ε_move tersebut

δ'

a

b

qo

q2

q3

q1

q2

q3

q2

Ø

Ø

q3

Ø

Ø

Akhirnya kita tentuka himpunan state akhir untuk NFA tampa ε_move ini. Himpunan state akhit semula (q3). Karena tidak ada state lain yang ε_closure memuat q3 maa himpnan state akhir sekarang tetap q3.

Dapat kita lihat NFA tampa ε_move-nya sebagai berikut :

Minggu, 11 Juni 2023

Blog Teori Bahasa Dan Otomata tentang Ekuivalensi NFA Ke DFA || Siti Nurul Maghfirah L_ 202131125

                                                                   Institute Teknologi PLN Jakarta

                                                       Dosen : Dine Tiara Kusuma S.T., M.Kom

EKUIVALENSI NFA KE DFA

Ekuivalensi Non-Deterministic Finite Automata ke Deterministic Finite Automata

Dari sebuah mesin Non-deterministic Finite Automata dapat dibuat mesin Deterministic Finite Automata-nya yang ekuivalen. Ekuivalen disini artinya menerima bahasa yang sama. Meskipun yang satu adalah Non-deterministic dan yang satunya Deterministic namun keduanya menerima bahasa yang sama.

Contoh :

Sebagai contoh, akan dibuat Deterministic Finite Automata dari Non-Deterministic Finite Automata sebagai berikut :

diketahui Ʃ : {0,1}

Buatlah tabel transisinya

Kedua kita buat tupel dari tabel tersebut agar lebih detail

δ  = {q0 , q1}

Ʃ = {0 , 1}

s =  q0

f =  q1

Lalu kita mulai membuat DFA nya

Dimulai dari state awal q0

·                State {q0} bila memperoleh input 0 menjadi state {q0, q1}.

·                State {q0} bila memperoleh input 1 menjadi state {q1}.

Ekuivalensi Non-Deterministic Automata (NFA)  ke Deterministic Finite Automata (DFA)

·                State {q1} memperoleh input 0 menjadi state 

·                State {q1} bila memperoleh input 1 menjadi state {q0, q1}.

Pada state {q0,q1} awalnya belum mempunyai busur dan pada DFA,sebuah state harus mempunyai busur sebanyak himpunan inputnya,karena itu kita tentukan terlebih dahulu arah busurnya dan busurnya ada 2.

δ({q0,q1},0)  = {q0,0} ε {q1,0}

          = {q0,q1} ε Ø

          = {q0,q1}

δ({q0,q1},1) = {q0,1} ε {q1,1}

          = {q1} ε {q0,q1}

          = {q0,q1}

Jadi arah busur pada state {q0,q1} mengarah ke state itu sendiri.

Kemudian khusus pada state himpunan kosong (Ø) hanya menerima inputan dari statenya sendiri,jadi busur pada himpunan kosong mengarah ke state himpunan kosong.

Ekuivalensi Non-Deterministic Automata (NFA)  ke Deterministic Finite Automata (DFA)

Terakhir untuk menentukan final state pada DFA ini adalah dengan melihat NFA yang ekuivalen dengan DFA ini yaitu soal awal,

Kita ketahui Bahwa final state adalah q1,jadi pada DFA,final statenya adalah semua state yang ada hubungannya dengan q1 yaitu {q0,q1} dan {q1}

Ekuivalensi Non-Deterministic Automata (NFA)  ke Deterministic Finite Automata (DFA).


Selasa, 16 Mei 2023

Blog Teori Bahasa Dan Otomata tentang Ekuivalensi Antar Deterministic Finite Automata || Siti Nurul Maghfirah L_ 202131125


                                                                   Institute Teknologi PLN Jakarta

                                                            Dosen : Dine Tiara Kusuma S.T., M.Kom


EKUIVALENSI ANTAR DETERMINISTIC FINITE AUTOMATA

Sasaran kita disini adalah mengurangi jumlah state dari suatu Finite State Automata, dengan tidak mengurangi kemampuannya semula untuk menerima suatu bahasa. Ada dua istilah baru yang perlu kita ketahui yaitu :

1. Distinguishable, artinya berarti dapat dibedakan.

2. Indistinguishable, artinya berarti tidak dapat dibedakan.

Reduksi Jumlah State Pada FSA

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 ekuivalensi dari FSA semula.

Pasangan State dapat dikelompokkan berdasarkan :

1. 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*

2. 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

Reduksi Jumlah State Pada FSA – Relasi

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 evaluasi state, didefinisikan suatu relasi : Untuk Q yang 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

Contoh :

Lakukan Reduksi state pada DFA dibawah ini?



  1. State q5 tidak dapat dicapai dari state awal dengan jalan apapun (useless state).  Hapus state q5.
  2. Catat state-state distinguishable, yaitu : q4 Fsedang q0, q1, q2, q3 sehingga pasangan-pasangan state :
(q0, q1) 
(q0, q2)
(q0, q3)
(q0,q4)
(q1,q2)
(q1,q3)
(q1,q4)
(q2,q3)
(q2,q4)
(q3,q4)

             3. Reduksi jumlah state pada FSA – Step.

               (q0, q1)

               (q0, q2)

               (q0, q3)

               (q0, q4) => Distuingishable

               (q1, q2)

               (q1, q3)

               (q1, q4) => Distuingishable

               (q2, q3)

               (q2, q4) => Distuingishable

               (q3, q4) => Distuingishable

            4. Cari status pasangan lainnya, dengan memperhatikan inputan yang tersedia yaitu 0 dan 1 :

            Pasangan (q0, q1)

·       δ(q0, 0) = q1 dan  δ(q1, 0) = q2,  => (q1, q2) belum terdefinisi

·       δ(q0, 1) = q3 dan δ(q1, 1) = q4, => (q3, q4) Distinguishable

·       Maka (q0, q1) adalah Distinguishable

v

Blog Teori Bahasa Dan Otomata tentang NON-DETERMINISTIC FINITE STATE AUTOMATA (NFA) DENGAN ε-Move || Siti Nurul Maghfirah L_ 202131125

                                                                                         Institute Teknologi PLN Jakarta                    ...