Penguins

Senin, 24 September 2012

FINITE STATE AUTOMATA


FINITE STATE AUTOMATA

Otomata (Automata)

  • Otomata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu.

fsa

Beberapa Pengertian Dasar :


·         Simbol adalah sebuah entitas abstrak (seperti halnya pengertian titik dalam geometri). Sebuah huruf atau sebuah angka adalah contoh simbol.
·         String adalah deretan terbatas (finite) simbol-simbol. Sebagai contoh, jika a, b, dan c adalah tiga buah simbol maka abcb adalah sebuah string yang dibangun dari ketiga simbol tersebut.
·         Jika w adalah sebuah string maka panjang string dinyatakan sebagai ïwï dan didefinisikan sebagai cacahan (banyaknya) simbol yang menyusun string tersebut. Sebagai contoh, jika w = abcb maka ïwï= 4.
·         String hampa adalah sebuah string dengan nol buah simbol. String hampa dinyatakan dengan simbol e (atau ^) sehingga ïeï= 0. String hampa dapat dipandang sebagai simbol hampa karena keduanya tersusun dari nol buah simbol.
·         Alfabet adalah hinpunan hingga (finite set) simbol-simbol

DFA (Deterministic Finite Automata)
·            – otomata berhingga yang pasti (tetap/tertentu)
·            – setiap rancangan state input selalu tepat ada satu state berikutnya
·            – dari suatu state ada tepat satu state berikutnya untuk setiap simbol
·              masukan yang diterima
·            – Untuk sebuah state dan input yang berlaku bisa ditentukan tepat satu
·             state berikutnya.
·            – Suatu string x dinyatakan diterima bila _(S,x) berada pad state akhir.
·              Dengan kata lain secara formal bila M adalah sebuah bahasa FSA,
·              M = (Q, _, d, S, F) menerima bahasa yang disebut L(M) yang
·      merupakan himpunan {x | d (S,x) di dalam F}.
NDFA (Non-Deterministic Finite Automata)
·            – otomata berhingga yang tidak pasti
·            – untuk setiap pasangan state input, bisa memiliki 0 (nol) atau lebih
·               pilihan untuk state berikutnya
·            – Untuk setiap state tidak selalu tepat ada satu state berikutnya untuk
·               setiap simbol input yang ada
·            – Dari suatu state bisa terdapat 0,1 atau lebih busur keluar (transisi)
·               berlabel simbol input yang sama
·            – Untuk NFA harus dicoba semua kemungkinan yang ada sampai
·               terdapat satu yang mencapai state akhir.
·    – Suatu string x dinyatakan diterima oleh bahasa NFA, M= (Q, _, d, S, F)
·         bila {x | d (S,x) memuat sebuah state di dalam F}

Operasi Dasar String

Diberikan dua string : x = abc, dan y = 123
·         Prefik string w adalah string yang dihasilkan dari string w dengan menghilangkan nol atau lebih simbol-simbol paling belakang dari string w tersebut.
Contoh :abc, ab, a, dan e adalah semua Prefix(x)
·         ProperPrefix string w adalah string yang dihasilkan dari string w dengan menghilangkan satu atau lebih simbol-simbol paling belakang dari string w tersebut.
Contoh :ab, a, dan e adalah semua ProperPrefix(x)
·         Postfix (atau Sufix) string w adalah string yang dihasilkan dari string w dengan menghilangkan nol atau lebih simbol-simbol paling depan dari string w tersebut.
Contoh :abc, bc, c, dan e adalah semua Postfix(x)
·         ProperPostfix (atau PoperSufix) string w adalah string yang dihasilkan dari string w dengan menghilangkan satu atau lebih simbol-simbol paling depan dari string w tersebut.
Contoh :bc, c, dan e adalah semua ProperPostfix(x)
·         Head string w adalah simbol paling depan dari string w.
Contoh : a adalah Head(x)
·         Tail string w adalah string yang dihasilkan dari string w dengan menghilangkan simbol paling depan dari string w tersebut.
Contoh : bc adalah Tail(x)
·         Substring string w adalah string yang dihasilkan dari string w dengan menghilangkan nol atau lebih simbol-simbol paling depan dan/atau simbol-simbol paling belakang dari string w tersebut.
Contoh : abc, ab, bc, a, b, c, dan e adalah semua Substring(x)
·         ProperSubstring string w adalah string yang dihasilkan dari string w dengan menghilangkan satu atau lebih simbol-simbol paling depan dan/atau simbol-simbol paling belakang dari string w tersebut.
Contoh : ab, bc, a, b, c, dan e adalah semua Substring(x)
·         Subsequence string w adalah string yang dihasilkan dari string w dengan menghilangkan nol atau lebih simbol-simbol dari string w tersebut.
Contoh : abc, ab, bc, ac, a, b, c, dan e adalah semua Subsequence(x)
·         ProperSubsequence string w adalah string yang dihasilkan dari string w dengan menghilangkan satu atau lebih simbol-simbol dari string w tersebut.
Contoh : ab, bc, ac, a, b, c, dan e adalah semua Subsequence(x)
·         Concatenation adalah penyambungan dua buah string. Operator concatenation adalah concate atau tanpa lambang apapun.
Contoh : concate(xy) = xy = abc123
·         Alternation adalah pilihan satu di antara dua buah string. Operator alternation adalah alternate atau ½.
Contoh : alternate(xy) = x½y = abc atau 123
·         Kleene Closure : x* = e½x½xx½xxx½… = e½x½x½x½
·         Positive Closure : x = x½xx½xxx½… = x½x½x½

Tidak ada komentar:

Posting Komentar