Dokumen ini hanya sebagai penunjang pelaksanaan perkuliahan. Untuk memahami materi kuliah, Anda wajib membaca : 1.Diktat Kuliah 2.Hand-out (berisi materi yang tidak ada dalam diktat) 3.Buku Acuan yang digunakan
Bagian kedua
5. Bahasa dan Mesin Abstrak 6. Tata Bahasa Regular dan Himpunan Regular 7. Pengenalan Bahasa oleh Mesin 8, Tata Bahasa Bebas Konteks 9. Automata Push Down 10.Mesin Turing
Kita perhatikan lagi, bagaimana automata hingga mengenal suatu untai diberikan untai w untuk diperiksa oleh automata hingga M, apakah diterima/dikenal atau tidak Menentukan bahasa yg dikenal/dibangkitkan oleh M
Mesin abstrak ?
input xxxx output
dipahami /tdk
aku kua
aturan-aturan
bagaimana bentuknya?
dipahami tidak
Automata Hingga
diagram transisi tabel transisi
(s0, abba) M(s , aabba) M(s0,abba) (s0, bba) M(s0,bba) (s1, ba) M(s1, ba) (s0, a) M(s0, a) (s0, ^), untai selalu berakhir dgn ^ |M* (s0, ^)
0
xn
Dari pola pembacaan tsb, tahukah kita tata bahasa yg digunakan oleh automata hingga ?
6. Tata
bahasa Regular
&
Himpunan Regular
Tata bahasa Regular & himpunan Regular Tata bahasa regular G1 : P = {S^ , Sa, S aA, A aA, A a} = {S^ | a | aA, A aA | a} Pembentukan kalimat : S^ | Sa | SaA | S aA | aa aaA . perhatikan pola pembentukannya ! aa a
L(G1) = ?
Tata bahasa Regular & himpunan Regular Tata bahasa regular G2: P = {Sa |b | bA, A bA | b} Pembentukan kalimat: S a | S b | S bA | S bA bb bbA .. perhatikan pola pembentukannya ! bb.b
L(G2) = ?
Tata bahasa Regular & himpunan Regular Himp regular : himp kalimat (kata) yang dibangkitkan oleh tata bahasa regular Ekpresi regular : anggota himp regular
Contoh sebelumnya: 1. ^, a, aa, aaa, aaa 2. a, b, bb, bbb, bbb
simbol AB, AB, dan A* : ekpresi regular, bila A dan B : ekspr regular AB : himp A dirangkaikan himp B
A B : himp A digabung himp B A* : penutup himp A Contoh ?
Latihan :
membentuk AH dari suatu tata bhs yg diberikan
L(G1) = {a} AH ? L(G2) = {a, b} AH ? L(G3) = {an | n = 0, 1, . } AH ? L(G4) = {anb| n = 0, 1, . } AH ? L(G5) = {a}{b} AH ?
AH ?
Adakah algoritma (i) membentuk tata bhs regular dari automata hingga ? (ii) membentuk automata hingga dari tata bhs regular ?
G = (VT,VN , S, P), dengan VT = {0,1}, VN = {S, A, B, C}, S = S, dan P = {S 0B, S 1A, A 0C, B 1C, C 0A, C 1B, A 1, B 0}
1. Tetapkan I = V T , S = S, K = VN 2. Produksi Ap a Aq ekuivalen dengan f(A, ap ) = Aq Produksi Ap a ekuivalen dengan f(Ap, a) = X, dimana X VN 3. K = K {X} 4. F = {X}
G = (V T ,VN , S, Q), dgn VT = {a, b}, VN = {S, A, B}, S = S, dan Q = {S aS, S bA, A aA, A aB, B b}
1. I = VT = {a, b}, S = S, K = VN = {S, A, B} 2. S aS f(S,a) = S, S bA f(S,b) = A A aA f(A,a) = A, A aB f(A,a) = B B b f(B,b) = X AHN, M = (K, I, f, S, F), dengan K = {S, A, B, X}, I = {a, b}, S = S, F = {X}, dgn f= K a b S S A Bagaimana membentuk S {A,B} AHD dari TBR? B X X
S aSb
aaSbb . anbn
Simbol non terminal aktif Simbol tercapaikan simbol tak tercapaikan simbol berkelebihan (redundant) Tata bhs bebas konteks dgn untai ^
Teorema: Jika L: bhs bebas konteks yg dibentuk oleh tata bhs bebas konteks yg mengandung produksi- ^, maka akan terdpt tata bhs bebas konteks lain tanpa produksi-^ yg membentuk L juga * aturan penggantian
Tata bhs bebas konteks dgn produksi satuan Bentuk normal Chomsky Teorema: Jika L : bhs yg dibentuk oleh G, maka terdpt G yg
membentuk bhs semua untai takhampa dari L, yg bersifat bhw semua aturan G berbentuk salah satu dari: simbol nonterm untai terdiri dari hanya simbol nonterm. (*) simbol nonterm satu simbol term. Tata bhs bebas konteks yg hanya memp produksi bentuk (*), disebut berada dalam bentuk normal Chomsky
Contoh ?
Penurunan paling kiri Lemma : Untuk tata bhs bebas konteks G = (V N,V T,S,P) dan sembarang untai w V T*, S * w jik-ka S *L w
pada keadaan A mesin membaca w, mesin beralih ke keadaan B Bb pada keadaan B mesin beralih ke keadaan akhir yg diproduksi Bagaimana dgn aturan produksi A wBx ? bebas konteks pada keadaan A mesin membaca w dan beralih ke keadaan B. Setelah itu mesin memproduksi x Mesin hrs berkemampuan unt mengingat : untai apakah yg diproduksi seblm untai x
sarana : memori
9. Automata push-down
Automata push-down
Mesin yg sesuai dgn keperluan : automata hingga dilengkapi dgn memori berstruktur tumpukan (stack) sbg push-down store Jika mesin berada dlm keadaan A, membaca w, mesin menaruh x pada tumpukan, kemudian beralih ke keadaan B Simbol-simbol pada tumpukan dipindahkan kembali sesuai dgn perintah (aturan) yg dikehendaki
a b b a b a b a b a a b tumpukan (stack)
kendali
Struktur mesin : Automata push-down M = (S, A, T, f, s0 , F), Apa bedanya dgn S : himp keadaan Automata hingga ? A : himp simbol input T : himp simbol tumpukan s0 S merupakan simbol awal F S : himp keadaan akhir f : relasi transisi (S x A* x T*) x (S x T*)
atau f : S x A* x T* S x T*
triplet doublet
Automata push-down
operasi, f : S x A* x T* S x T* transisi ((p,u,) , (q,)) f
M = {S, A, T, f, s0 , F}, dgn S = {s0, s1}, A={a,b,c}T ={a, b}, F = {s1}, f mengandung 5 transisi: 1.((s0,a,^) , (s0,a)) 2. ((s0,b,^) , (s0,b)) 3. ((s0,c,^) , (s1,^)) 4.((s1,a,a) , (s1,^)) 5. ((s1,b,b) , (s1,^))
M = {S, A, T, f, s0 , F}, dgn S = {s0, s1}, A=T ={a, b}, F = {s1}, f mengandung 5 transisi: 1.((s0,a,^) , (s0,a)) 2. ((s0,b,^) , (s0,b)) 3. ((s0,^,^) , (s1,^)) 4.((s1,a,a) , (s1,^)) 5. ((s1,b,b) , (s1,^)) Lakukan komputasi ! Apa bedanya dng seblmnya ?
bebas-konteks automata push-down peka-konteks ? Automata linear-bounded umum ? Mesin Turing !!!!!!
Mesin Turing
(i) mesin Turing sebagai
pengenal bahasa
Mesin Turing
model skematis s1 arah s2 s3 s4 s5
kepala baca/tulis kendali
qj
qk
Mesin dlm keadaan q i membaca si menggantikannya dg. sk bergerak 1 sel ke kanan, beralih ke keadaan qm
?????
sisj .. sksj .. .. qisjsj .. kursor di si 1. qisiskqj ...qjsksj .. Sk menggantikan S kursor tetap 2. qjskRqm .. skqmsj .. kursor di sj
i
gabungan tindakan
membentuk prosedur
qi (si,sk)Rqm
Mesin Turing
(ii) mesin Turing sebagai sarana melakukan operasi terhadap untai
q0BRq0, q0aRq1,
q1aRq1, q1bRq1,
q2BBq3, q2aBq4,
q4BLq6 q6Baq1
Mesin perangkai
Dengan menggunakan mesin di atas, lakukan perangkaian thd untai : baa dan ab
Tugas
Gunakan mesin Turing yang digunakan untuk menghapus (delete) suatu untai yg diberikan, yg ada pada diktat bab mesin penghapus ^^^
(sj , Sk) atau sj , Sk (sj : R) atau sj : R (sj : L) atau sj : L (si,Sk: R) atau si,Sk: R (si,Sk: L) atau si,Sk: L
digunakan selanjutnya
L(T) = {aa}
mesin pengenal untai xx..xaba (A={a,b}) Periksa untai aaba ? untai baba ? abab ?
mesin pengenal untai xx..xaba (A={a,b}) awal : q0 ^aaba q0 ^baba ^q1 aaba ^q1 baba ^aq2 aba ^bq1 aba ^aaq2 ba ^baq2 ba ^aabq3 a ^babq3 a ^aabaq4 ^ ^babaq4^ ^aaba^h ^baba^h aaba, baba diterima (dikenal) oleh mesin T
Bagaimana dengan abab ? abaaba ?
Menggunakan fungsi f : Q x A Q x (A {L,R}) f(q0, ^aaba) (q1,^aaba) (q2,^aaba) (q2,^aaba) (q3,^aaba) (q4,^aaba^) (h, ^aaba^) aaba diterima (dikenal) oleh mesin T
T T T T T T
T1 T2 T1
T2
Komputabilitas
Diberikan suatu operasi X dapatkah dikonstruksi mesin Turing untuk melakukan operasi X ? Apabila dapat dikontruksi, maka X disebut computable (dapat dikomputasikan)
Bagaimana ciri-cirinya ? Konsep komputabilitas menjadi inti teori komputasi, disamping konsep lainnya (?)
Hal Lanjut
Turing-computable Turing-decidable Turing-acceptable Theorem : Turing decidable language is Turing- acceptable (not vice-versa) More powerful Turing machine universal mesin Turing Nondeterministic Turing Machine
Mesin Turing
Hal lanjut :
Kompleksitas komputasi : klas P klas NP, NP komplit Obyek Masalah : TSP siklus Hamilton Dasar matematis : kalkulus proposisi
DIKTAT KULIAH hanya merupakan Pengantar atau Dasar dari Teori Komputasi
Acuan
1. 2. 3. 4. 5. Daves, M. and Weyuker, EW (1983). Computability, Complexity and Language. Academic Press, Inc. Lewis, H and Papadimitriou, CH (1981). Elements of Theory of Computation. Prebtice Hall, Inc. Manna, Z. (1074).Mathematical Theory of Computation, Mc Graw Hill. Rosen, KH (1991). Discrete Mathematics and Its Application. Mc Graw Hill. Tremblay, JP and Manohar, R. (1987). Discrete Mathematical Structure with Application to Computer Science, Mc Graw Hill.