Non-Deterministic Finite Automata

dokumen-dokumen yang mirip
Deterministic Finite Automata

Minimum DFA. CSG3D3 Teori Komputasi

Grammar dan Tingkat Bahasa

Operasi FA dan Regular Expression

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA

NonDeterministic Finite Automata. B.Very Christioko, S.Kom

Teori Bahasa Formal dan Automata

TEORI BAHASA DAN AUTOMATA

FINITE STATE MACHINE / AUTOMATA

Teori Bahasa Formal dan Automata

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO]

Non-deterministic Finite Automata Dengan -Move

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan

DFA. Teori Bahasa dan Automata. Viska Mutiawani - Informatika FMIPA Unsyiah

FINITE STATE AUTOMATA

TEORI BAHASA DAN AUTOMATA

BAB I PENDAHULUAN 1-1

TEORI BAHASA DAN OTOMATA PENGANTAR

Pendahuluan [6] FINITE STATE AUTOMATA. Hubungan RE & FSA [5] Finite State Diagram [6] 4/27/2011 IF-UTAMA 1

MODUL 4: Nondeterministic Finite Automata

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

PERTEMUAN II. Finite State Automata (FSA) Deterministic Finite Automata (DFA) Non Deterministic Finite Automata (NFA)

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. dirancang dan selanjutnya dapat diketahui gambaran dan kemampuan sistem secara

Teori Bahasa Formal dan Automata

Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine yang tidak mengeluarkan output ini dikenal

Reduksi DFA [Deterministic Finite Automata]

Teori Bahasa dan Otomata 1

Teori Bahasa dan Automata. Finite State Automata & Non Finite State Automata

Contents.

Teori Bahasa dan Otomata

Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga

PEMODELAN PERANGKAT LUNAK UNTUK PENGERTIAN DETERMINISTIC FINITE AUTOMATA DAN NON-DETERMINISTIC FINITE AUTOMATA

Pendahuluan. CSG3D3 Teori Komputasi

Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state

BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM. dengan perangkat yang digunakan. Beberapa kriteria standar ditentukan agar sistem

TEORI BAHASA DAN AUTOMATA

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Teori Himpunan. Matematika Dasar untuk Teori Bahasa Otomata. Operasi pada Himpunan. Himpunan Tanpa Elemen. Notasi. Powerset & Cartesian Product

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN OTOMATA [TBO]

Penerapan Finite State Automata Pada Proses Peminjaman Buku di Perpustakaan Universitas Kristen Satya Wacana Artikel Ilmiah

1, 2, 3

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

Lecture Notes Teori Bahasa dan Automata

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

RENCANA PEMBELAJARAN SEMESTER

Teori Bahasa & Otomata

TEORI BAHASA DAN AUTOMATA

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS

Lecture Notes Teori Bahasa dan Automata

Aplikasi Simulator Mesin Turing Pita Tunggal

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I

RENCANA PEMBELAJARAN SEMESTER (RPS)

TEKNIK KOMPILASI Bahasa Regular

MODUL 5: Nondeterministic Finite Automata dengan

INTELLIGENT DECISION SUPPORT SYSTEM DALAM MENDETEKSI BEHAVIOUR SIRKUIT LOGIKA

MODUL 3: Finite Automata

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

MODUL 1: PENGANTAR TEORI BAHASA

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA

FTIK / PRODI TEKNIK INFORMATIKA

BAB II MODEL KOMPUTASI FINITE STATE MACHINE. Pada Bab II akan dibahas teori dasar matematika yang digunakan

RENCANA PEMBELAJARAN SEMESTER

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

TEORI BAHASA & AUTOMATA

Pendahuluan. Push Down Atomata. Perbedaan FA dan PDA [7] 4/25/2012 IF-UTAMA 1. Grammar-machine equivalence [3] Latar belakang munculnya konsep PDA

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

BAHASA BEBAS KONTEKS UNTUK KOMPLEMEN DARI STRING BERULANG CONTEXT FREE LANGUAGE FOR COMPLEMENT OF REPEATED STRING

IF-UTAMA 1. Definisi. Grammar. Definisi

Teori Bahasa & Otomata

Amir Hamzah AKPRIND PRESS 2009

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) Mata Kuliah Teori Bahasa Dan Otomata IF1402

TEKNIK KOMPILASI Konsep & Notasi Bahasa

UNIVERSITAS GUNADARMA

Mesin Turing. Pertemuan Ke-14. Sri Handayaningsih, S.T., M.T. Teknik Informatika

Implementasi DFS dan BFS Dalam Recognizer Pushdown Automata

Turing and State Machines. Mesin Turing. Turing Machine. Turing Machines 4/14/2011 IF_UTAMA 1

MODUL 6: TEOREMA KLEENE

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

Pengaruh Paralelisme Terhadap Mesin Turing Sebagai Konsep Komputasi

MODUL 11: PUSHDOWN AUTOMATON

Teori Bahasa Formal dan Automata

1. Pendahuluan. 2. Tinjauan Pustaka

DIKTAT TEORI BAHASA DAN OTOMATA

LEMBAR PENGESAHAN PROSEDUR PELAKSANAAN KULIAH

MODUL 7: MINIMISASI FA

LAMPIRAN 1. Listing Program

BAHASA REGULER 1. Ekspresi Regular

PERTEMUAN 9 TEORI BAHASA DAN OTOMATA [TBO]

BAB III. Hidden Markov Models (HMM) Namun pada beberapa situasi tertentu yang ditemukan di kehidupan nyata,

UNIVERSITAS GADJAH MADA FMIPA/DIKE/ILMU KOMPUTER Gedung SIC Lantai 1, Sekip, Bulaksumur, 55281, Yogyakarta

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

Transkripsi:

CSG3D3 Teori Komputasi Non-Deterministic Finite Automata Agung Toto Wibowo Ahmad Suryan Yanti Rusmawati Mahmud Dwi Sulistiyo Kurniawan Nur Ramadhani Said Al Faraby Dede Rohidin KK Intelligence, Computing, and Multimedia

Finite Automata Finite Automata (FA) : Suatu model komputer dengan jumlah memory yang sangat terbatas. Model komputasional yang paling sederhana. Ada 2 jenis : Deterministik Finite Automata (DFA) Deterministik setiap input alphabet/simbol dari suatu state hanya akan bertransisi ke satu state lain. Atau dengan kata lain, deterministik berarti tidak ambigu dalam menentukan next state. Non-Deterministik Finite Automata (NDFA) Non-Deterministrik setiap input alphabet/simbol dari suatu state mungkin akan bertransisi ke lebih dari satu state lain.

Contoh Non-Deterministic FA Mesin di bawah adalah mesin (NFA) untuk mengenali string biner yang selalu diakhiri 01. Lihat bahwa, dari state q0 akan muncul kerancuan atau keambiguan jika menerima input 0 (akan ke q0 atau q1).

Sifat NDFA NDFA memiliki kemampuan untuk berada di lebih dari 1 state pada saat yang bersamaan. NDFA selalu menerima bahasa yang di terima oleh DFA. Sebagaimana DFA, NDFA menerima secara tepat bahasa Reguler. Hal ini dikarenaakan NDFA dan DFA berada pada kelas bahasa yang sama (Lihat hirarki Chomsky). NDFA sering kali lebih ringkas dibanding DFA karena tidak harus fully defined.

Definisi Informal NDFA Terdiri dari finite number of state(s) Satu initial state, minimal satu final state Terdiri dari finite symbol (alphabet) Himpunan fungsi transisi Perbedaan NDFA dan DFA terletak pada aturan transisi, di mana ada minimal satu state NDFA, yang pada saat menerima suatu simbol, berpindah ke nol atau lebih dari satu state yang lain

NDFA sebagai Acceptor Misalnya kita punya mesin NDFA (menerima string berakhiran 01 ). Lihat proses berikut, bahwa 00101 dapat diterima oleh mesin itu.

Definisi Formal NDFA [1] Suatu NFA dapat didefinisikan secara formal sebagai 5-tuple berikut : A = (Q,,, q 0, F) Keterangan : 1. Q adalah himpunan terbatas dari states 2. himpunan terbatas dari symbols 3. : Q x Q fungsi transisi, dinotasikan ke (q, a) p p adalah himpunan state hasil transisi 4. q 0 Q adalah initial state 5. F Q adalah himpunan accepted/final states

Definisi Formal NDFA [2] Pada kasus di atas dapat didefinisikan : ({q0, q1, q2}, {0, 1},, q0, {q2}) dan dideskripsikan sebagai berikut. 0 1 q 0 {q 0, q 1 } {q 0 } q 1 {} {q 2 } q 2 {} {}

Fungsi Transisi yang Diperluas Fungsi tansisi yang ada di definisi formal dapat diperluas menjadi bentuk yang menerima beberapa input sekaligus (Ullman). Perluasan aturan transisi itu terangkum dalam : 1. (q 0, λ) = {q 0 } 2. (q 0, 0) = {q 0, q 1 } 3. (q 0, 00) = ({q 0, q 1 }, 0) (q 0, 00) = (q 0, 0) (q 1, 0) = {q 0, q 1 } {} = {q 0, q 1 } 4. (q 0, 001) = 5. (q 0, 0010) =

Bahasa dari NDFA Jika A = (Q,,, q 0, F) adalah NDFA, maka L(A) = { w (q 0, w) F {} } Sehingga L(A) adalah himpunan untaian string w dari * sehingga (q 0, w) memuat sedikitnya satu final/accepted state. Dari sini, dapat kita ambil kesimpulan bahwa, untuk mengecek apakah suatu string dapat diterima atau tidak oleh sebuah NDFA, kita juga dapat menggunakan metode aturan transisi yang diperluas ini.

Ekivalensi NDFA dengan DFA [1] Pada banyak bahasa, kita lebih mudah membangun NDFA daripada DFA. Ada fakta mengejutkan bahwa untuk setiap NDFA yang dibangun, selalu bisa dideskripsikan bentuk DFA yang ekivalen dengannya. Jumlah state pada DFA yang ekivalen tsb. minimal sama dengan yang dimiliki NDFA. Di kasus yang paling buruk, jumlah state DFA-nya adalah 2 n dari n state di NDFA.

Ekivalensi NDFA dengan DFA [2] Jika kita memiliki NDFA N = (Q N,, N, q 0, F N ), maka kita dapat membangun L(D) = L(N), dengan DFA D = (Q D,, D, {q 0 }, F D ) Perhatikan kembali definisi formal dari NDFA, di mana hasil transisi dari setiap fungsi transisi NDFA merupakan himpunan states. Maka semua kemungkinan himpunan tsb. dapat diartikan sebagai sebuah power set dari himpunan states di NDFA. Q D adalah powerset dari Q N sehingga jumlah state Q D adalah 2 n jika kita memiliki n state di Q N (kadang tidak semua state di pakai). F D adalah seluruh subset Q N yang mengandung setidaknya satu accepted state pada N (F N ).

Ekivalensi NDFA dengan DFA [3] Dari definisi dan langkahlangkah di atas, kita dapatkan aturan transisi sebagai berikut. {} {q 0 } {q 1 } {q 2 } {q 0, q 1 } {q 0, q 2 } {q 1, q 2 } {q 0, q 1, q 2 } 0 1 {} {} {q 0, q 1 } {q 0 } {} {q 2 } {} {} {q 0, q 1 } {q 0, q 2 } {q 0, q 1 } {q 0 } {} {q 2 } {q 0, q 1 } {q 0, q 2 } A B C D E F G H 0 1 A A E B A D A A E F E B A D E F

Ekivalensi NDFA dengan DFA [4] Dari semua states yang didapat, ternyata jika ditelusuri dari initial state, hanya ada 3 states saja yang bisa di capai, yakni B, E, dan F. Untuk menghindari pembuatan transisi yang tidak pernah dicapai, proses ekivalensi ini dapat dilakukan dengan cara Lazy Evaluation. Lazy Evaluation hanya men-generate subset state yang muncul dengan menelusuri mulai dari initial state. 0 1 {q0} {q0, q1} {q0} {q0, q1} {q0, q1} {q0, q2} {q0, q2} {q0, q1} {q0}

Ekivalensi NDFA dengan DFA [5] ({q 0 }, 0) = {q 0, q 1 }, dan ({q 0 }, 1) = {q 0 } ({q 0, q 1 }, 0) = {q 0, q 1 }, dan ({q 0, q 1 }, 1) = {q 0, q 2 } ({q 0, q 2 }, 0) = {q 0, q 1 }, dan ({q 0, q 2 }, 1) = {q 0 } 1 0 B 0 1 E F 1 0

Latihan 1 Cari DFA yang ekivalen dengan NDFA yang menerima string biner berakhiran 010 berikut ini dengan cara Lazy Evaluation. 0 1 q0 0 1 0 q1 q2 q3

Latihan 2 Ubah NDFA berikut menjadi DFA yang ekivalen menggunakan cara Lazy Evaluation. 0 r p 0 0 0 1 q 1 t 0, 1 0 s

Latihan 3 Yang menjadi pembeda antara Deterministic dan Non- Deterministic FA adalah a. Ada/tidak transisi epsilon b. Fully Defined c. Ambigu / tidak dalam menentukan next state d. a, b, dan c benar e. b, dan c benar

Latihan 4 Jika kita memiliki mesin seperti gambar di bawah, maka pada saat kita definisikan sebagai tupple (Q,,, q0, F) akan kita dapatkan: a. Q : {q0, q1, q2} b. : {0, 1} c. q0 sebagai initial state d. q2 sebagai final state e. semua jawaban benar