100 likes | 364 Views
Mesin Turing. Ilustrasi TM sebagai sebuah ‘ mesin ’:. Ilustrasi TM sebagai sebuah graf. Ilustrasi TM sebagai sebuah graf berarah :
E N D
Ilustrasi TM sebagaisebuahgraf Ilustrasi TM sebagaisebuahgrafberarah : 1. Sebagaimanagraf, TM terdiridaribeberapanode danbeberapa edge. Dari satunode mungkinterdapatsatuataulebih edge yang menuju node lainnyaataudirinyasendiri. 2. Sebuah node menyatakansebuahstata (state). DuastatapentingadalahstataawalS (start) danstatapenerima H (halt). Sesaatsebelumprosespengenalansebuahkalimat, TM beradapadastata S. Jikakalimattersebutdikenalimaka, setelahselesaimembacakalimattersebut, TM akanakanberhentipadastata H.
3.Sebuah edge mempunyai ‘bobot’ yang dinotasikansebagai triple : (a, b, d). a adalahkarakteracuanbagikarakterdalamsel pita TM yang sedangdibaca head. Jikayang dibacahead adalahkarakter a maka a akandi-overwrite dengankarakter b dan head akanberpindah satu sel ke arah d (kanan atau kiri). 4. Kondisicrash akanterjadijikaditemuikeadaansebagaiberikut :
CONTOH Rancanglahsebuahmesinturingpengenalbahasa L = {a n b n | n ≥ 0). JAWAB: L tersebutterdiridari 2 kelompokkalimatyaituε dan non-ε. Kelompok non-ε adalah : ab, aabb, aaabbb, danseterusnya. Untukdapatmenerimakalimatε TM harusmempunyaiedge dari S ke H dengan bobot (ε ,ε , R).
TM menerimakalimat-kalimat : ab, aabb, aaabbb, danseterusnya, denganalgoritmasebagaiberikut : 1. Mulaidari S, head membacasimbol a. 2. Head membacasimbol a. Tandaisimbol a yang sudahdibacatersebut, head bergerakkekananmencarisimbol b pasangannya. 3. Head membacasimbol b. Tandaisimbol b yang sudahdibacatersebut, head bergerakkekiri mencari simbol a baru yang belum dibaca/ditandai. 4. Ulangi langkah 2 dan 3. 5. Head sampaike H hanyajikasemuasimbol a dansimbol b dalamkalimat a n b n selesaidibaca.
Algoritma di atas lebih diperinci lagi sebagai berikut: 1. Mulaidari S, head membacasimbol a. 2. Overwrite a tersebutdengansuatusimbol (misalkan A) untukmenandakanbahwaa tersebutsudahdibaca. Selanjutnya head harusbergerakkekananuntukmencarisebuahb sebagaipasangan a yang sudahdibacatersebut. i) Jika yang ditemukanadalahsimbol a maka a tersebutharusdilewati (tidakbolehdioverwrite), dengankata lain a dioverwritedengan a jugadan head bergerakkekanan. ii) Jika TM pernahmembacasimbol b adakemungkinanditemukansimbol B. SimbolB tersebutharusdilewati (tidakbolehdioverwrite), artinya B diover-write denganB jugadan head bergerakkekanan.
3. Head membacasimbol b, maka b tersebutharusdioverwritedengansimbol lain (misalnya B) untukmenandakanbahwa b tersebut (sebagaipasangandari a) telahdibaca, danhead bergerak ke kiri untuk mencari simbol A. i) Jikaditemukan B maka B tersebutharusdilewati (tidakbolehdioverwrite), dengankatalain B dioverwritedengan B jugadan head bergerakkekiri. ii) Jikaditemukan a maka a tersebutharusdilewati (tidakbolehdioverwrite), dengankatalain a dioverwritedengan a jugadan head bergerakkekiri. 4. Head membacasimbol A, maka A tersebutharusdilewati (tidakbolehdioverwrite),dengankata lain A dioverwritedengan A jugadan head bergerakkekanan.
5. Head membacasimbol a, ulangilangkah 2 dan3. 6. (Setelahlangkah 3) head membacasimbol A, maka A tersebutharusdilewati (tidakbolehdioverwrite), dengankata lain A dioverwritedengan A jugadan head bergerakkekanan. 7. Head membacasimbol B, maka B tersebutharusdilewati (tidakbolehdioverwrite), dengankata lain B dioverwritedengan A jugadan head bergerakkekanan. 8. Head membacasimbolε, makaε dioverwritedenganε dan head bergerakkekananmenujustata H.