45
Deterministic Finite Automata (DFA) Non-Deterministic Automata (NFA) 1 Sri Handayaningsih, S.T., M.T. Email : [email protected] Teknik Informatika Pertemuan Ke-4

Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Embed Size (px)

Citation preview

Page 1: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

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

1

Sri Handayaningsih, S.T., M.T.Email : [email protected]

Teknik Informatika

Pertemuan Ke-4

Page 2: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

TIU dan TIK

1. Mengetahui perbedaan antara DFAdan NFA

2. Perbedaan DFA dan NFA3. Ekuivalensi antar FA

TEORI BAHASA OTOMATA2

3. Ekuivalensi antar FA4. Definisi Formal NFA5. Fungsi transisi NFA6. Contoh-contoh NFA dengan inputan

string yang diterima dan ditolak.

Page 3: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

FAFA dibagi menjadi 2, yaitu :

Jenis FA Definisi Bentuk Transisi

1. DFA(Deterministic

Finite

FA di dalammenerima inputmempuyai tepatsatu busur keluar.

TEORI BAHASA OTOMATA3

FiniteAutomata)

satu busur keluar.

2. NFA(Non DeterministicFinite Automata)

FA di dalammenerima inputmempuyai lebihdari satu busurkeluar atau tidakpunya busurkeluar.

Page 4: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Graph Transisi DFA

TEORI BAHASA OTOMATA4

a b

q0 q0 q1

q1 q2 q2

q2 q2 q2

Page 5: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Graph Transisi NFA

TEORI BAHASA OTOMATA5

a

q0 {q1,q3}

q1 q2q2 -q3 -

Page 6: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Ekuivalensi Antar FA

Diberikan dua mesin FA M1 dan M2.Masing-masing menerima bahasa L(M1)dan L(M2).

TEORI BAHASA OTOMATA6

Kedua mesin tersebut disebut ekuivalenjika menerima bahasa yang sama yaitu :

L(M1) = L(M2)

Page 7: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

q0 q1a

a

NFA M1q0 q1

a

a

DFA M2

Graf Transisi M1 Graf Transisi M2

TEORI BAHASA OTOMATA7

a

q0 {q0, q1}

q1 -

a

q0 q1

q1 q1

L(M1) = ana L(M2) = aan

Page 8: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Definisi Formal NFA FqQM ,,,, 0

:Q Himpunana state, mis. 210 ,, qqq

: Inputan alphabet, mis : ba,

TEORI BAHASA OTOMATA8

:

:0q

:F

: Inputan alphabet, mis : ba,

Fungsi Transisi

State awal

State akhir

Page 9: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

10 1, qq

Fungsi Transisi

TEORI BAHASA OTOMATA9

0

11,0

0q 1q 2q

Page 10: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

},{)0,( 201 qqq

TEORI BAHASA OTOMATA10

0q0

11,0

1q 2q

Page 11: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

},{),( 200 qqq

TEORI BAHASA OTOMATA11

0q0

11,0

1q 2q

Page 12: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

)1,( 2q

TEORI BAHASA OTOMATA12

0q0

11,0

1q 2q

Page 13: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

1q 2qa

}{aAlphabet =

Nondeterministic Finite Automaton (NFA)

TEORI BAHASA OTOMATA13

3q

a

a0q

Page 14: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

1q 2qaDua Pilihan

}{aAlphabet =

TEORI BAHASA OTOMATA14

3q

a

a0q

Page 15: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

1q 2qaDua Pilihan Tdk adaTransisi

}{aAlphabet =

TEORI BAHASA OTOMATA15

Tdk adaTransisi

3q

a

a0q

Transisi

Page 16: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2q

Pilihan Pertama

a

TEORI BAHASA OTOMATA16

0q

3q

a

a

Page 17: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2qa

First Choice

TEORI BAHASA OTOMATA17

0q

3q

a

a

Page 18: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2q

First Choice

a

TEORI BAHASA OTOMATA18

0q

3q

a

a

Page 19: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2qa diterima

Pilihan Pertama

Inputan sudah selesai

TEORI BAHASA OTOMATA19

0q

3q

a

a

Page 20: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2q

Pilihan Kedua

a

TEORI BAHASA OTOMATA20

0q

3q

a

a

Page 21: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2q

Pilihan Kedua

a

TEORI BAHASA OTOMATA21

0q

a

a

3q

Page 22: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2qa

Pilihan Kedua

TEORI BAHASA OTOMATA22

0q

a

a

3q Tdk ada transisi:automata error

Page 23: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2qa

Pilihan Kedua

Inputan belum selesai

TEORI BAHASA OTOMATA23

0q

a

a

3q “ditolak”

Page 24: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Sebuah NFA menerima string, jika:Kamputasi pada NFA menerima string

Seluruh inputan dimasukkan danautomata dimulai dari state awal

Komputasi adalah :

TEORI BAHASA OTOMATA24

automata dimulai dari state awalmenuju ke state akhir

Page 25: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Contoh 1aaApakah diterima oleh NFA:

1q 2qa

“diterima”

1q 2qa

pilihan 1 pilihan 2

TEORI BAHASA OTOMATA25

0q

1q 2q

3q

a

a

a

0q

1q 2qa

a

a

3q “ditolak”

Diagram transisi yang dipilih adalah pilihan 1.Karena komputasi dapat diterima aa

Page 26: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a

1q 2q

Contoh yang Tidak Diterima

a

TEORI BAHASA OTOMATA26

0q

3q

a

a

Page 27: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a

1q 2qa

Pilihan Pertama

TEORI BAHASA OTOMATA27

0q

3q

a

a

Page 28: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a

1q 2qa

Pilihan Pertama

“ditolak”

TEORI BAHASA OTOMATA28

0q

3q

a

a

Page 29: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Pilihan Kedua

a

1q 2qa

TEORI BAHASA OTOMATA29

0q

3q

a

a

Page 30: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Pilihan Kedua

a

1q 2qa

TEORI BAHASA OTOMATA30

0q

a

a

3q

Page 31: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Pilihan Kedua

a

1q 2qa

TEORI BAHASA OTOMATA31

0q

a

a

3q “ditolak”

Page 32: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Sebuah NFA Menolak string, jika:Tidak ada komputasi pada NFA yang menerimastring.

• seluruh inputan selesai dimasukkan

Untuk setiap komputasi:

TEORI BAHASA OTOMATA32

• seluruh inputan selesai dimasukkandan automata tidak sampai pada

State akhir.

•Inputan belum selesai dimasukkanATAU

Page 33: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Contoh 2aApakah ditolak oleh NFA:

1q 2qa1q 2qa

“ditolak”

TEORI BAHASA OTOMATA33

0q

1q 2qa

a

a

3q “ditolak”0q

1q 2qa

a

a

3q

Seluruh komputasi yang mungkin “ditolak”

Page 34: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Contoh Yang Ditolak

a a

1q 2qa

a

TEORI BAHASA OTOMATA34

0q

3q

a

a

Page 35: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2qa

Pilihan Pertama

a

TEORI BAHASA OTOMATA35

0q

3q

a

a

Page 36: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2q

Pilihan Pertama

a

a

TEORI BAHASA OTOMATA36

0q

3q

a

a Tidak ada transisi:Automata error

Page 37: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2qa “ditolak”

Pilihan Pertama

aInputan tidak terselesaikan

TEORI BAHASA OTOMATA37

0q

3q

a

a

Page 38: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2q

Pilihan Kedua

a

a

TEORI BAHASA OTOMATA38

0q

3q

a

a

Page 39: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2q

Pilihan Kedua

a

a

TEORI BAHASA OTOMATA39

0q

a

a

3q

Page 40: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2qa

Pilihan Kedua

a

TEORI BAHASA OTOMATA40

0q

a

a

3q Tidak ada transisi:Automata error

Page 41: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

a a

1q 2qa

Pilihan Kedua

aInputan tidak terselesaikan

TEORI BAHASA OTOMATA41

0q

a

a

3q “ditolak”

Page 42: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

aaa Ditolak oleh NFA

1q 2qa

“ditolak”1q 2qa

TEORI BAHASA OTOMATA42

0q

1q 2q

3q

a

a

a

0q

1q 2qa

a

a

3q “ditolak”

Seluruh komputasi yang mungkin “ditolak”

Page 43: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

1q 2qa

L(M)?

TEORI BAHASA OTOMATA43

3q

a

a0q

Page 44: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

1q 2qa

Bahasa yang menerima: }{aaL

TEORI BAHASA OTOMATA44

3q

a

a0q

Page 45: Deter Minis Tic Finite Automata (DFA) Non-Deterministic Automata (NFA)

Pustaka

1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata,Teknik Informatika UAD, 2005

2. Hopcroft John E., Rajeev Motwani, Jeffrey D. Ullman,Introduction to Automata Theory, Languages, andComputation, 2rd, Addison-Wesley,2000

3. Martin C. John, Introduction to Languages and Theory of

TEORI BAHASA OTOMATA45

3. Martin C. John, Introduction to Languages and Theory ofComputation, McGraw-Hill Internatioanal edition,1991

4. Linz Peter,Introduction to Formal Languages & Automata,DC Heath and Company, 1990

5. Dulimarta Hans, Sudiana, Catatan Kuliah MatematikaInformatika, Magister Teknik Informatika ITB, 1998

6. Hinrich Schütze, IMS, Uni Stuttgart, WS 2006/07,Slides based on RPI CSCI 2400