PENERAPAN FSA, DFA, NFA, EKUIVALEN ANTAR DFA, & REDUKSI JUMLAH STATE



FINITE STATE AUTOMATA (FSA)

FSA adalah model matematika yang dapat menerima input dan mengeluarkan output yang memiliki state yang berhingga banyaknya dan dapat berpindah dari satu state ke state lainnya berdasarkan input dan fungsi transisi (Utdirartatmo, [10]).

Contohnya :
  • Elevator/lift (Tidak memiliki tempat penyimpanan sehingga kemampuan mengingat terbatas) 
  • Aplikatif berguna untuk merancang sistem nyata.
  • Aplikasi meliputi: analisis leksikal, text-editor, protokol komunikasi jaringan (kermit) dan parity checker (pengecek parity). 
  • Deterministic Finite Automata (DFA), artinya dari suatu state ada tepat satu state berikutnya untuk setiap simbol input yang diterima.
  • Nondeterministic Finite Automata (NDFA) / NFA, artinya dari suatu state bisa terdapat 0,1 atau lebih busur keluar (transisi) berlabel simbol input yang sama
  1. Q adalah sebuah himpunan hingga dari kedudukan-kedudukan.
  1. Σ adalah sebuah abjad masukan.
  1. s adalah salah satu kedudukan di dalam Q yang ditetapkan sebagai kedudukan permulaan.
  1. F adalah sebuah koleksi dari kedudukan-kedudukan yang diterima atau final (koleksi / himpunan dari kondisi akhir).
  1. ∆ adalah sebuah relasi pada (Q x Σ) x Q dan dinamakan relasi transisi. (Kelley, 1995: 46).
  • 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
  • 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.
  • Semua pasangan state yang tidak termasuk sebagai state yang distinguishable merupakanstate-stateindistinguishable.
  • Beberapa state yang indistinguishable dapat digabungkan menjadi satu state. • Sesuaikan transisi dari state-state gabungan tersebut.
  • 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 
  • 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 re lasi-relasi yang ada, tidak dapat dibuktikan (q1, q2), (q1, q3) dan (q2, q3) distinguishable, sehingga disimpulkan pasanganpasangan 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 makahasil dari DFA yang direduksi menjadi:
x

Finite State Automata dinyatakan oleh pasangan 5 tuple, yaitu:



x



M=(Q , Σ , δ , S , F )
Q = himpunan state
Σ = himpunan simbol input
δ = fungsi transisi δ : Q × Σ
S = state awal / initial state , S Q
F = state akhir, F Q

Ada dua jenis FSA:
Contoh penerapan 1:

Q ={Stage 1, Stage 2, Stage 3, Stage 4, Stage 5} himpunan state .
∑ ={Benar, Salah} himpunan simbol input.
δ = fungsi transisi,


S = Gnp (Stage 1).
F = {Stage 5} (Final) himpunan state AKHIR.

Contoh penerapan 2:
Seorang petani dengan seekor serigala, kambing dan seikat rumput beradapadasuatusisi 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,makakambingakan dimakanserigala. Begitu pula jika kambing ditinggalkan dengan rumput, maka rumput akandimakanoleh kambing. Mungkinkah ditemukan suatu cara untuk melintasi sungai tanpa menyebabkan kambing atau rumput dimakan.



Tupel: M =(Q, ∑, δ, S, F)
Q = {PKSR-Φ, SR-PK, PSR-K, R-PSK, S-PKR, PKR-S, PSK-R, K-PSR, PK-SR, Φ-PKSR}
Σ = {p, k, s, r}
S = PKSR –Φ
F = {Φ-PKSR}


DFA(DETERMINISTIK FINITE AUTOMATA)
Deterministic Finite Automaton disingkat menjadi “DFA” dan juga biasa dikenal sebagai Deterministic Finite Acceptor (DFA), Deterministic Finite State Machine (DFSM), atau Deterministic Finite State Automaton (DFSA).
DFA merupakan teori komputasi dan cabang dari ilmu komputer teoritis. DFA adalah Finite-state Machine atau mesin keadaan terbatas yang menerima atau menolak string dari simbol dan hanya menghasilkan perhitungan unik dari otomata untuk setiap string yang di masukan.
Otomata berhingga deterministic atau DFA (Deterministic Finite Automata) adalah FSA(finite state automata) yang memiliki stata penerima tepat satu stata untuk setiap simbol masukan.

Contoh penerapan:
Contoh untuk DFA F(K,VT,M,S,Z) , dimana:
K = {S, A, B}
VT = {a, b}
S = {S}
Z = {B}
M diberikan dalam tabel berikut:


Ilustrasi graf untuk DFA F adalah sebagai berikut:

Apabila stata awal S diberi masukan a maka akan bergerak ke stata A, stata A diberi masukan b maka akan bergerak ke stata B (stata penerima). Yang artinya DFA tersebut apabila diberi masukan string ab maka masukan tersebut diterima.

NFA(NON DETERMINISTIK FINITE AUTOMATA)
Nondeterministic Finite Automata (NFA) adalah salah satu bagian dari otomata berhingga atau Finite State Automata (FSA). Pada Nondeterministic Finite Automata (NFA) dimungkinkan satu simbol menimbulkan transisi ke lebih dari satu kondisi dan memberikan beberapa kemungkinan gerakan sehingga keluarannya tidak dapat dipastikan. Selain itu dimungkinkan juga terjadinya transisi spontan atau transisi –ε.

Nondeterministic Finite Automata (NFA) didefenisikan sebagai M yang merupakan sebuah koleksi dari 5 obyek (Q , Σ , s , F , ∆ ) dimana :
Contoh penerapan :


Q = {q 0, q1 , q2 ,q3 , q4 }
δ diberikan dalam tabel berikut :

S =  q0
F = {q4}

Salah satu tracking-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


Ekuivalen antar DFA
Untuk suatu bahasa regular, kemungkinan ada sejumlah Deterministic Finite Automata yang dapat menerimanya. Perbedaannya hanyalah jumlah state yang dimiliki otomata-otomata yang saling ekuivalen tersebut. Tentu saja, dengan alasan kepraktisan, kita memilih otomata dengan jumlah state yang lebih sedikit.

Sasaran kita di sini adalah mengurangi jumlah state dari suatu Finite State Automata, dengan tidak mengurangi kemampuannya semula untuk menerima suatu bahasa.

Ada dua buah istilah baru yang perlu kita ketahui yaitu :
1. Distinguishable yang berarti dapat dibedakan.
2. Indistinguishable yang berarti tidak dapat dibedakan.
Dua DFA M1 dan M2 dinyatakan ekivalen apabila L(M1) = L(M2)

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 ekivalensi dari FSA semula

Pasangan Statedapat 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 eveluasi state, didefinisikan suatu relasi : Untuk Q yg merupakan himpunan semua state


Reduksi Jumlah State Pada FSA – Step


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.


Reduksi Jumlah State Pada FSA – Contoh

Reduksi Jumlah State Pada FSA – Step


 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.

 Reduksi Jumlah State Pada FSA – Step






Daftar pustaka
http://agungss1.blogspot.com/2018/12/nondeterministic-finite-automata-nfa.html 

Nama : Fitriana Nur Dhewayani
NPM  : 1810631170115

4F



Comments

Popular Posts