DFA & NFA

download DFA & NFA

of 45

Transcript of DFA & NFA

Deterministic Finite Automata (DFA)Non-Deterministic Automata (NFA)1Sri Handayaningsih, S.T., M.T.Email : [email protected] InformatikaPertemuan Ke-4TIU dan TIK1.Mengetahui perbedaan antara DFAdan NFA2.Perbedaan DFA dan NFA3.Ekuivalensi antar FATEORI BAHASAOTOMATA23.Ekuivalensi antar FA4.Definisi Formal NFA5.Fungsi transisi NFA6.Contoh-contoh NFA dengan inputanstring yang diterima dan ditolak.FAFA dibagi menjadi 2, yaitu :Jenis FA Definisi Bentuk Transisi1. DFA(DeterministicFiniteFA di dalammenerima inputmempuyai tepatsatu busur keluar.TEORI BAHASAOTOMATA3FiniteAutomata)satu busur keluar.2. NFA(Non DeterministicFinite Automata)FA di dalammenerima inputmempuyai lebihdari satu busurkeluar atau tidakpunya busurkeluar.Graph Transisi DFATEORI BAHASAOTOMATA4o a bq0q0q1q1q2q2q2q2q2Graph Transisi NFATEORI BAHASAOTOMATA5o aq0{q1,q3}q1q2q2-q3-Ekuivalensi Antar FADiberikan dua mesin FA M1 dan M2.Masing-masing menerima bahasa L(M1)dan L(M2).TEORI BAHASAOTOMATA6Kedua mesin tersebut disebut ekuivalenjika menerima bahasa yang sama yaitu :L(M1) = L(M2)q0 q1aaNFA M1q0 q1aaDFA M2Graf Transisi M1Graf Transisi M2TEORI BAHASAOTOMATA7o aq0{q0, q1}q1-o aq0q1q1q1L(M1) = ana L(M2) = aanDefinisi Formal NFA( ) F q Q M , , , ,0o E =: QHimpunana state, mis. { }2 1 0, , q q q: EInputan alphabet, mis :{ } b a,TEORI BAHASAOTOMATA8: o:0q: F: EInputan alphabet, mis :{ } b a,Fungsi TransisiState awalState akhir( ) { }1 01 , q q = oFungsi Transisi oTEORI BAHASAOTOMATA9011 , 00q1q2q} , { ) 0 , (2 0 1q q q = oTEORI BAHASAOTOMATA100q011 , 01q2q} , { ) , (2 0 0q q q = oTEORI BAHASAOTOMATA110q011 , 01q2qC = ) 1 , (2q oTEORI BAHASAOTOMATA120q011 , 01q2q1q2qa} {a Alphabet =Nondeterministic Finite Automaton (NFA)TEORI BAHASAOTOMATA133qaa0q1q2qaDua Pilihan} {a Alphabet =TEORI BAHASAOTOMATA143qaa0q1q2qaDua PilihanTdk adaTransisi} {a Alphabet =TEORI BAHASAOTOMATA15Tdk adaTransisi3qaa0qTransisia a1q2qPilihan PertamaaTEORI BAHASAOTOMATA160q3qaaa a1q2qaFirst ChoiceTEORI BAHASAOTOMATA170q3qaaa a1q2qFirst ChoiceaTEORI BAHASAOTOMATA180q3qaaa a1q2qaditerimaPilihan PertamaInputan sudah selesaiTEORI BAHASAOTOMATA190q3qaaa a1q2qPilihan KeduaaTEORI BAHASAOTOMATA200q3qaaa a1q2qPilihan KeduaaTEORI BAHASAOTOMATA210qaa3qa a1q2qaPilihan KeduaTEORI BAHASAOTOMATA220qaa3qTdk ada transisi:automata errora a1q2qaPilihan KeduaInputan belum selesaiTEORI BAHASAOTOMATA230qaa3qditolakSebuah NFA menerima string, jika:Kamputasi pada NFA menerima stringSeluruh inputan dimasukkan danautomata dimulai dari state awalKomputasi adalah :TEORI BAHASAOTOMATA24automata dimulai dari state awalmenuju ke state akhirContoh 1aaApakah diterima oleh NFA:1q2qaditerima1q2qapilihan 1pilihan 2TEORI BAHASAOTOMATA250q1q2q3qaaa0q1q2qaaa3qditolakDiagram transisi yang dipilih adalah pilihan 1.Karena komputasi dapat diterima aaa1q2qContoh yang Tidak DiterimaaTEORI BAHASAOTOMATA260q3qaaa1q2qaPilihan PertamaTEORI BAHASAOTOMATA270q3qaaa1q2qaPilihan PertamaditolakTEORI BAHASAOTOMATA280q3qaaPilihan Keduaa1q2qaTEORI BAHASAOTOMATA290q3qaaPilihan Keduaa1q2qaTEORI BAHASAOTOMATA300qaa3qPilihan Keduaa1q2qaTEORI BAHASAOTOMATA310qaa3q ditolakSebuah NFA Menolak string, jika:Tidak ada komputasi pada NFA yang menerimastring. seluruh inputan selesai dimasukkanUntuk setiap komputasi:TEORI BAHASAOTOMATA32 seluruh inputan selesai dimasukkandan automata tidak sampai padaState akhir.Inputan belum selesai dimasukkanATAUContoh 2a Apakah ditolak oleh NFA:1q2qa1q2qaditolakTEORI BAHASAOTOMATA330q1q2qaaa3qditolak0q1q2qaaa3qSeluruh komputasi yang mungkin ditolakContoh Yang Ditolaka a1q2qaaTEORI BAHASAOTOMATA340q3qaaa a1q2qaPilihan PertamaaTEORI BAHASAOTOMATA350q3qaaa a1q2qPilihan PertamaaaTEORI BAHASAOTOMATA360q3qaaTidak ada transisi:Automata errora a1q2qaditolakPilihan PertamaaInputan tidak terselesaikanTEORI BAHASAOTOMATA370q3qaaa a1q2qPilihan KeduaaaTEORI BAHASAOTOMATA380q3qaaa a1q2qPilihan KeduaaaTEORI BAHASAOTOMATA390qaa3qa a1q2qaPilihan KeduaaTEORI BAHASAOTOMATA400qaa3qTidak ada transisi:Automata errora a1q2qaPilihan KeduaaInputan tidak terselesaikanTEORI BAHASAOTOMATA410qaa3qditolakaaa Ditolak oleh NFA1q2qaditolak1q2qaTEORI BAHASAOTOMATA420q1q2q3qaaa0q1q2qaaa3qditolakSeluruh komputasi yang mungkin ditolak1q2qaL(M)?TEORI BAHASAOTOMATA433qaa0q1q2qaBahasa yang menerima:} {aa L =TEORI BAHASAOTOMATA443qaa0qPustaka1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata,Teknik Informatika UAD, 20052. Hopcroft John E., Rajeev Motwani, Jeffrey D. Ullman,Introduction to Automata Theory, Languages, andComputation, 2rd, Addison-Wesley,20003. Martin C. John, Introduction to Languages and Theory ofTEORI BAHASAOTOMATA453. Martin C. John, Introduction to Languages and Theory ofComputation, McGraw-Hill Internatioanal edition,19914. Linz Peter,Introduction to Formal Languages & Automata,DC Heath and Company, 19905. Dulimarta Hans, Sudiana, Catatan Kuliah MatematikaInformatika, Magister Teknik Informatika ITB, 19986. Hinrich Schtze, IMS, Uni Stuttgart, WS 2006/07,Slides based on RPI CSCI 2400