CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk...

21
CS3113 Teori Komputasi Lecture 07 Minimisasi Finite Automata

Transcript of CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk...

Page 1: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

CS3113 Teori Komputasi

Lecture 07

Minimisasi Finite Automata

Page 2: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

FA Minimum

• Pada saat kita memiliki Finite Automata M,

kita dapat mencari Finite Automata yang

ekivalen dengan meminimumkan jumlah

status. status.

• Hal ini dilakukan dengan

– Mengeliminasi semua status yang tidak dapat

diakses dari initial status di M.

– Menggabungkan semua status redundan di M.

2CS3113/EAR

Page 3: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Check these two FA !

3CS3113/EAR

Page 4: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Example 1

4CS3113/EAR

Page 5: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Example 2

5CS3113/EAR

Page 6: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Example 3

6CS3113/EAR

Page 7: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Solusi Umum

• Hilangkan status yang tidak dapat dicapai

(inaccessible)

• Gabungkan status-status yang

indistinguishableindistinguishable

• Bangun automata

CS3113/EAR 7

Page 8: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Inaccessible State

• Suatu Status dikatakan inaccessible jika untuk

semua kemungkinan ∑* tidak ada yang

mencapai status itu.

• Contoh : Status F dan G.• Contoh : Status F dan G.

8CS3113/EAR

Page 9: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Equivalent / Indistinguishable state

• Dua buah status p dan q dikatakan ekivalen

jika untuk w yang menyebabkan perluasan

aturan δ’(p, w) adalah accepted state, dan

δ’(q, w) juga accepted state.δ’(q, w) juga accepted state.

• Dua buah state dapat dibedakan

(distinguishable) jika terdapat δδδδ’(p, w) dan

δδδδ’(q, w) dimana salah satunya adalah

accepted state, dan yang satunya lagi bukan.

9CS3113/EAR

Page 10: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Contoh Dishtinguisable

• Antara A dan C.

– δ’(A, λ) = A (bukan accepted state) dan δ’(C, λ) = C

(accepted state)

• Demikian juga antara B dengan C,• Demikian juga antara B dengan C,

• D dengan C,

• A dengan E,

• B dengan E, dan

• D dengan E.

10CS3113/EAR

Page 11: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Contoh Indistinguishable

• Antara B dan D.

– δ’(B, 1) = C (accepted state) dan δ’(D, 1) = E

(accepted state)

• Antara C dan E.• Antara C dan E.

– δ’(C, 1) = E (accepted state) dan δ’(E, 1) = C

(accepted state)

11CS3113/EAR

Page 12: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Hasil Reduksi ke

Minimum DFA

• Kita hilangkan state F dan G

• Kita gabungkan antara B dg D (karena

indistinguishable),

• Dan kita gabungkan antara C dan E (karena • Dan kita gabungkan antara C dan E (karena

Indistinguishable)

12CS3113/EAR

Page 13: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Example 4

13CS3113/EAR

Page 14: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

The steps

• Step 1: Hilangkan semua status yang unreachable.

• Step 2: Tandai pasangan status yang distinguishable.

Tandai pasangan p, q, di mana sebagai

distinguishable. Kemudian lakukan iterasi:

14CS3113/EAR

Page 15: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

The steps

• Step 3: Kontruksi automata yang telah direduksi (A).

– Tentukan kelas ekivalensi dari relasi indistinguishable. Untuk setiap

status q, kelas ekivalen q terdiri dari semua status p di mana pasangan

p, q tidak ditandai di step 2.

– Semua status dari A adalah kelas ekivalen. Initial state q0 adalah kelas

ekivalen yang berisi q0. Final state F adalah kelas ekivalensi yang ekivalen yang berisi q0. Final state F adalah kelas ekivalensi yang

terdiri dari final state dari A.

– Fungsi transisi A untuk kelas ekivalen X didefinisikan sebagai

berikut:

• Ambil sembarang , dan set , di mana Y adalah kelas ekivalen

yang mengandung

CS3113/EAR 15

Page 16: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

The steps

• Step 1: Status D merupakan status unreachable.

• Step 2: Tandai pasangan status final – non final.

16CS3113/EAR

Page 17: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

• After step 2

17CS3113/EAR

Page 18: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

The result

• Step 3: A, E adalah ekivalen. B, H adalah ekivalen. Sehingga, kelas ekivalen:

{A,E}, {B,H}, {C}, {F}, {G}. DFA yang telah direduksi adalah sbb:

18CS3113/EAR

Page 19: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Latihan [1]

19CS3113/EAR

Page 20: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Latihan [2]

20CS3113/EAR

Page 21: CS3113 Teori Komputasi · – Tentukan kelas ekivalensi dari relasi indistinguishable . Untuk setiap status q, kelas ekivalen q terdiri dari semua status p di mana pasangan p, q tidak

Daftar Pustaka

1. Hopcroft, Jhon E. and Jeffery D. Ullman, “Introduction to Automata Theory, Language, and Computation”

2. Hariyanto, Bambang “Teori Bahasa, Otomata, 2. Hariyanto, Bambang “Teori Bahasa, Otomata, dan Komputasi serta Terapannya”

(dari buku ketiga, dan sumber lain)

21CS3113/EAR