Mesin Turing(STIKOM AB KUPANG)

11
Mesin Turing Jauh sebelum lahirnya program komputer, Alan Turing pada tahun 1936 telah mengeluarkan gagasannya berupa model mesin abstrak sebagai alat mekanik untuk mengerjakan prosedur yang efektif. Model ini disebut Mesin Turing. Mesin turing dapat diadaptasi untuk mensimulasi logika dari setiap algoritma oleh karena itu cara kerja mesin turing adalah ekivalen dengan cara kerja komputer sekarang ini dan mesin turing juga ekivalen dengan problema komputasi matematika. Mesin turing tidak ditujukan sebagai teknologi komputasi praktis tetapi lebih sebagai eksperimen pemikiran yang mewakili sebuah mesin komputasi. Mesin turing membantu para ilmuan komputer memahami batas-batas komputasi mekanis. Sebagai input dari mesin turing adalah kata atau untai atas suatu alfabet T. Mesin turing berhenti dengan keadaan menerima atau menolak untai. Kadang-kadang terjadi pula perulangan atau looping tak terhingga. Keterangan : · - Tape : Tempat diletakannya inputan yang berupa kata/untai. · - Head: membaca dan menulisi sel pita mesin turing, bisa bergerak ke kiri atau ke kanan. · - Finite StateControl (FSC) : otak dari TM, diimplementasikan dari algoritma pengenalan kalimat. Contoh Mesin Turing Sederhana

description

Penjelasan tentang mesin turing

Transcript of Mesin Turing(STIKOM AB KUPANG)

Page 1: Mesin Turing(STIKOM AB KUPANG)

Mesin Turing

Jauh sebelum lahirnya program komputer, Alan Turing pada tahun 1936 telah mengeluarkan gagasannya berupa model mesin abstrak sebagai alat mekanik untuk mengerjakan prosedur yang efektif. Model ini disebut Mesin Turing.Mesin turing dapat diadaptasi untuk mensimulasi logika dari setiap algoritma oleh karena itu cara kerja mesin turing adalah ekivalen dengan cara kerja komputer sekarang ini dan mesin turing juga ekivalen dengan problema komputasi matematika. Mesin turing tidak ditujukan sebagai teknologi komputasi praktis tetapi lebih sebagai eksperimen pemikiran yang mewakili sebuah mesin komputasi. Mesin turing membantu para ilmuan komputer memahami batas-batas komputasi mekanis.Sebagai input dari mesin turing adalah kata atau untai atas suatu alfabet T. Mesin turing berhenti dengan keadaan menerima atau menolak untai. Kadang-kadang terjadi pula perulangan atau looping tak terhingga.

Keterangan :· - Tape : Tempat diletakannya inputan yang berupa kata/untai.· - Head: membaca dan menulisi sel pita mesin turing, bisa bergerak ke kiri atau ke kanan.· - Finite StateControl (FSC) : otak dari TM, diimplementasikan dari algoritma pengenalan kalimat.

Contoh Mesin Turing Sederhana

Sebuah contoh mesin Turing dapat dibangun untuk melakukan komputasi sederhana yang didefinsikan seperti ini:

Tentukan ada berapa angka 1 dalam sebuah string berbentuk 0111...110 (rangkaian angka 1 yang didahului dengan 0 dan diakhiri juga dengan 0), apakah berjumlah genap atau berjumlah ganjil.

Jika angka 1 di antara dua angka 0 berjumlah genap, tulis sebuah angka 0 pada salah

Page 2: Mesin Turing(STIKOM AB KUPANG)

satu sel dari tape mesin Turing.

Jika angka 1 di antara dua angka 0 berjumlah ganjil, tulis sebuah angka 1 pada salah satu sel dari tape mesin Turing.

Untuk menyelesaikan masalah komputasi ini, kita buat tiga buah State bagi mesin Turing ini, yaitu Start, Even, dan Odd. Di samping itu kita buat sekumpulan aturan Transisi yang digunakan olehmesin Turing ini untuk melakukan proses komputasinya. Aturan-aturan Transisi tersebut dapat dituliskan demikian:

-Jika mesin Turing berada pada status Start, dan membaca simbol 0 pada Tape, lakukan hal berikut: Pindah status menjadi status Even, Ganti simbol 0 pada Tape dengan Blank (atau Hapus simbol 0 pada Tape), dan Bergerak ke kanan satu sel.

-Jika mesin Turing berada pada status Even, dan membaca simbol 1 pada Tape,

lakukan hal berikut: Pindah status menjadi status Odd, Ganti simbol 1 pada Tape

dengan Blank, dan Bergerak ke kanan satu sel.

-Jika mesin Turing berada pada status Odd, dan membaca simbol 1 pada Tape,

lakukan hal berikut: Pindah status menjadi Even, Ganti simbol 1 pada Tape dengan

Blank, dan Bergerak ke kanan satu sel.

-Jika mesin Turing berada pada status Even, dan membaca simbol 0 pada Tape,

lakukan hal berikut: Pindah status menjadi Halt, Ganti simbol 0 pada Tape dengan 0,

dan tetap pada sel tersebut (tidak perlu berpindah ke kiri maupun ke kanan).

-Jika mesin Turing berada pada status Odd, dan membaca simbol 0 pada Tape,

lakukan hal berikut: Pindah status menjadi Halt, Ganti simbol 0 pada Tape dengan 1,

dan tetap pada sel tersebut.

Page 3: Mesin Turing(STIKOM AB KUPANG)

Palindrome itu adalah berasal dari bahasa Yunani yaitu Palindromos A Palindrome.

Palindromos A Palindrome adalah kata atau kalimat yang sama dieja maju atau

mundur(bacaan yang sama dieja pada kedua arah). Sebagai contoh sederhana adalah

beberapa kata yang sederhana yaitu rotor, rotator, civic, madam, racecar, level, dan

lain-lain. Untuk contoh lain yaitu kalimat palindrome adalah No lemon no melon, No

devil lived on, Swap God for a janitor rot in a jar of dog paws, dll.

Dibawah ini adalah graf dari palindrome detector , merupakan sebuah simulasi mesin

turing yang berfungsi untuk mendeteksi kata palindrome yang diinputkan oleh user.

Kata atau untai yang dibentuk masih terbatas pada penggunaan huruf “A” dan “B”.

Contoh kata yang dibentuk adalah “ABAABBA” untuk kata yang tidak termasuk dalam

palindrome, dan “BABBAB” untuk kata yang termasuk dalam palindrome.

Page 4: Mesin Turing(STIKOM AB KUPANG)

Pemrograman sederhana jenis mesin Turing ini tidak sesulit yang dibayangkan. Dimana

sebenarnya pemrograman ini akan membentuk graph. Transisi state terdiridari5-tupel

rangkaian pada setiap baris, dengan format seperti ini:

[state],[karakter],[state baru],[karakterbaru],[arah]

1 , _ , 2 , # , >

2 , A , 3 , A , >

Karakter '_' dapat digunakan untuk menunjukkan kosong(blank), 'H' untuk menunjukkan

sebagai state berhenti/Halt (hanya berlaku pada sisi kanan transisi), dan '<' dan '>'

untuk menunjukkan arah masing-masing bergerak kekiri atau kanan.

Page 5: Mesin Turing(STIKOM AB KUPANG)

Mesin Turing adalah model komputasi teoritis yang ditemukan oleh Alan Turing, berfungsi sebagai model ideal untuk melakukan perhitungan matematis. Walaupun model ideal ini diperkenalkan sebelum komputer nyata dibangun, model ini tetap diterima kalangan ilmu komputer sebagai model komputer yang sesuai untuk menentukan apakah suatu fungsi dapat selesaikan oleh komputer atau tidak (menentukan computable function). Mesin Turing terkenal dengan ungkapan ” Apapun yang bisa dilakukan oleh Mesin Turing pasti bisa dilakukan oleh komputer.”Mesin Turing adalah model yang sangat sederhana dari komputer. Secara esensial, mesin Turing adalah sebuah finite automaton yang miliki sebuah tape tunggal dengan panjang tak terhingga yang dapat membaca dan menulis data. Mesin Turing menggunakan notasi seperti ID-ID pada PDA untuk menyatakan konfigurasi dari komputasinya. Mesin terdiri dari sebuah finite control, yang dapat berada dalam sebuah himpunan berhingga dari state. Terdapat sebuah tape yang dibagi ke dalam kotak-kotak atau sel-sel. Setiap sel dapat menampung sebuah dari sejumlah berhingga dari simbol. Pada awalnya, input yang merupakan string dari simbol dengan panjang berhingga dipilih dari input alphabet, ditempatkan pada tape. 

• Sel-sel tape yang lain, perluasan secara infinite ke kiri dan ke kanan, pada awalnya menampung simbol khusus yang dinamakan blank. • Blank bukan sebuah input symbol, dan mungkin terdapat simbol tape yang lain disamping input symbol dan blank. • Terdapat sebuah tape head yang selalu ditempatkan pada salah satu dari sel-sel tape. • Mesin turing dikatakan men-scan sel tersebut. Pada awalnya, tape head berada pada sel paling kiri yang menampung input. 

Sebuah pergerakan mesin Turing adalah sebuah fungsi dari state dari finite control dan tape symbol yang di-scan. Dalam satu pergerakan, mesin Turing akan:  Merubah state. Next state dapat sama dengan current state. Menulis sebuah tape symbol dalam sel yang di-scan. Tape symbol ini mengganti symbol apapun yang ada dalam sel tersebut. Secara opsional, simbol yang dituliskan dapat sama dengan simbol yang sekarang ada dalam tape.  Memindahkan tape head ke kiri atau ke kanan. 

Mesin Turing dijelaskan oleh 7-tuple:M = (Q, S, G, d, q0, B, F)Komponen-komponennya adalah: • Q: Himpunan berhingga dari state dari finite control. • S: himpunan berhingga dari simbol-simbol input. • G: Himpunan dari tape symbol. S merupakan subset dari G. • d: Fungsi transisi. Argumen d(q, X) adalah sebuah state q dan sebuah tape symbol X. Nilai dari d(q, X), jika nilai tersebut didefinisikan, adalah triple (p, Y, D), dimana: • p adalah next state dalam Q• Y adalah simbol, dalam G, ditulis dalam sel yang sedang di-scan, menggantikan simbol apapun

Page 6: Mesin Turing(STIKOM AB KUPANG)

yang ada dalam sel tersebut.• D adalah arah, berupa L atau R, berturut-turut menyatakan left atau right, dan menyatakan arah dimana head bergerak.• q0: start state, sebuah anggota dari Q, dimana pada saat awal finite control ditemukan.• B: simbol blank. Simbol ini ada dalam G tapi tidak dalam S, yaitu B bukan sebuah simbol input.• F: himpunan dari final state, subset dari Q.

Sebuah mesin turing terdiri atas barisan sel tersusun berupa pita yang dapat bergerak maju mundur, komponen aktif baca/tulis pita yang memiliki status perhitungan serta dapat mengubah/menulisi sel aktif yang ada di pita tadi, dan suatu kumpulan instruksi bagaimana komponen baca/tulis ini harus melakukan modifikasi terhadap sel aktif pada pita, serta bagaimana menggerakkan pita tersebut. Pada setiap langkah dalam komputasi, mesin ini akan dapat mengubah isi dari sel yang aktif, mengubah status dari komponen baca/tulis, dan mengubah posisi pita kekiri atau kekanan.Alan Mattison Turing lahir di Paddington London, 23 Juni 1912. Turing melewati awal hidupnya di sebuah rumah panti asuhan di India. Saat kembali ke Inggris tahun 1926, Turing bersekolah di Sherborne. Keingintahuannya dalam bidang matematika dan sains sangat berbading terbalik dengan minatnya dibidang Bahasa dan social.Tahun 1931 Turing bersekolah di King’s College, Cambridge University. Dalam penelitiannya Turing lebih banyak “menciptakan kembali” dibandingkan “menggunakan” temuan yang sudah ada. Setelah lulus Turing mendapat keanggotaan di King’s College (1935).Pada saat ini lah Turing mempunyai konsep mengenai “Mesin Turing”. Melalui sebuah kuliah, di tahun 1935, Turing diperkenalkan pada pertanyaan berkaitan dengan Logika Matematika, yang di ajukan oleh Hilbert. Ini adalah pertanyaan tentang “Decidability”, “the Entscheidungs problem”. “Mungkinkah ada, walau hanya dalam teori, sebuah metode atau proses yang mampu menyelesaikan semua bentuk dan jenis pertanyaan matematika ?”.Menanggapi pertanyaan ini Turing memberikan solusi mekanikal berupa konsep “Mesin Universal Turing”. Dalam konsep ini turing menggambarkan sebuah mesin yang mampumembaca rangkaian beberapa “nol dan satu” (binary digit) yang akan menjelaskan cara penyelesaian masalah matematika, dan menyediakan jawaban yang dibutuhkan. Inti dari mesin ini yang dikemudian hari dikenal sebagai ide tentang sebuah komputer. Mesin ini masih berupa konsep, sampai kemudian diwujudkan dalam bentuk nyata beberapa tahun kemudian.Agustus 1936, Turing mengeluarkan paper untuk konsep ini berjudul “On Computable Numbers With an Application to the Entscheidungs problem”. Ditahun yang sama dia mendapatkan “Smith’s Prize” (penghargaan dari Cambridge University) untuk pekerjaannya dalam teori probabilitas dan kemudian melanjutkan ke Princeton University.Selama perang dunia II(1939-1945), Turing bekerja pada Depertemen Komunikasi Britania Raya. Disana dia ditugaskan untuk memecahkan kode sandi yang diciptakan oleh Mesin Enigma milik pihak Jerman. Ini adalah pekerjaan berat karena mesin ini mampu menghasilkan kode yang berubah secara konstan, dan untuk memecahkannya adalah suatu hal yang mustahil pada zaman itu. Namun ternyata itu tidak mustahil bagi Turing, yang kemudian menciptakan “COLOSSUS”, sebuah mesin yang mampu memecahkan kode enigma dalam waktu singkat. Mesin ini juga merupakan suatu awal menuju Komputer Digital.Turing juga mempunyai minat yang sangat besar dalam pengembangan “Artificial Intelligence”. Untuk itu dia menghabiskan satu tahun di Cambridge untuk mempelajari Neurologi dan Fisiologi. Di tahun 1947 dia menulis sebuah paper (tidak pernah diterbitkan selama hidupnya)

Page 7: Mesin Turing(STIKOM AB KUPANG)

mengenai konsep yang sekarang dikenal dengan “jaringan neural”, dimana serangkaian ssistem kompleks mampu memeliki kemampuan belajar. Kemudian tahun 1950 mengeluarkan paper yang berpengaruh besar berjudul “Computing Machinery and Intelligence”. Dalam papernya ini Turing mengusulkan “Tes Turing” sebagai sebuah metode untuk menentukan apakah sebuah mesin memiliku “Artificial Intelligence”. Hingga tahun 1990-an Tes ini masih dianggap sebagai cara yang paling baik untuk menentukan intelegensia dari sebuah mesin.Turing juga berusaha untuk mewujudkan konsep “Mesin Turing” menjadi kenyataan dalam bentuk “Automatic Computing Engine” di “National Physical Laboratory”, walaupun pekerjaan ini tidak pernah selesai. Kemudian ia berpindah ke University of Manchester, membuat panduan untuk operasi Manchester Automatic Digital Machine (MADAM).Turing mempunyai banyak kemampuan. Selain di bidang komputer, Turing juga mengeluarkan paper dalam bidang Biologi, berjudul “The Chemical Basis of Morphogenesis”. Yang mengejutkan, Turing pernah menjuarai kejuaran lari jarak jauh dan menengah di tingkat negara bagian Amerika, dan bahkan nyaris mewakili Amerika di Olimpiade. Ini dilakukannya untuk menghilangkan stress.Dalam kecerdasan buatan, sebuah agen cerdas (IA) adalah sebuah entitas otonom yang mengamati dan bekerja pada sebuah lingkungan (yaitu ia adalah sebuah agen) dan mengarahkan aktivitasnya ke arah pencapaian tujuan. Intelligent agen mungkin juga belajaratau menggunakan pengetahuan untuk mencapai tujuan mereka. They may be very simple or very complex : a reflex machine such as a thermostat is an intelligent agent, as is a human being, as is a community of human beings working together towards a goal. Mereka mungkin sangat sederhana atau sangat kompleks: sebuah mesin refleks seperti termostat adalah agen yang cerdas, seperti manusia, seperti komunitas manusia bekerja bersama menuju tujuan.Intelligent agents are often described schematically as an abstract functional system similar to a computer program . Agen cerdas sering digambarkan secara skematik sebagai sistem fungsional abstrak mirip dengan program komputer. For this reason, intelligent agents are sometimes called abstract intelligent agent s (AIA) to distinguish them from their real world implementations as computer systems, biological systems, or organizations. Untuk alasan ini, agen cerdas kadang-kadang disebut agen cerdas abstrak (AIA) untuk membedakan mereka dari dunia nyata implementasi sebagai sistem komputer, sistem biologis, atau organisasi. Some definitions of intelligent agents emphasize their autonomy , and so prefer the term autonomous intelligent agent s.Beberapa definisi agen cerdas mereka menekankan otonomi, dan jadi lebih suka istilah otonom agen cerdas. Still others (notably Russell & Norvig (2003) ) considered goal-directed behavior as the essence of intelligent and so prefer a term borrowed from economics , ” rational agent “.Yang lain (terutama Russell & Norvig (2003)) dianggap perilaku terarah tujuan sebagai esensi dari cerdas dan jadi lebih suka istilah yang dipinjam dari ekonomi, “agen rasional”.Intelligent agents in artificial intelligence are closely related to agents in economics , and versions of the intelligent agent paradigm are studied in cognitive science , ethics , the philosophy of practical reason , as well as in many interdisciplinary socio-cognitivemodeling and computer social simulations. Agen cerdas dalam kecerdasan buatan sangat terkait dengan agen di ekonomi, dan versi dari agen cerdas paradigma yang dipelajari dalamilmu pengetahuan kognitif, etika, filsafat alasan praktis, juga di banyak interdisiplinersosio-kognitif pemodelan dan simulasi komputer sosial.Intelligent agents are also closely related to software agents (an autonomous software program that carries out tasks on behalf of users).            Agen cerdas juga berkaitan erat dengan agen

Page 8: Mesin Turing(STIKOM AB KUPANG)

perangkat lunak (program perangkat lunak otonom yang melakukan tugas atas nama pengguna). In computer science , the term intelligent agent may be used to refer to a software agent that has some intelligence, regardless if it is not a rational agent by Russell and Norvig’s definition. Dalam ilmu komputer, istilah agen cerdas dapat digunakan untuk mengacu ke agen perangkat lunak yang memiliki kecerdasan, tidak peduli apakah itu bukan agen rasional oleh Russell dan Norvig definisi. For example, autonomous programs used for operator assistance or data mining (sometimes referred to as bots ) are also called “intelligent agents”. Sebagai contoh, program-program otonom digunakan untuk bantuan operator atau data mining (kadang-kadang disebut sebagai bot) juga disebut “agen cerdasRussell & Norvig (2003) kelompok agen ke dalam lima kelas berdasarkan tingkat kecerdasan dan kemampuan yang dirasakan:1. simple reflex agents Agen refleks sederhana2. model-based reflex agents Refleks berbasis model agen3. goal-based agents Tujuan berbasis agen4. utility-based agents Utilitas berbasis agen5. learning agents Agen pembelajaran

Pembacaan fungsi transisi pada mesin turingMisal : d (q1,a) = (q1,b,R) dibaca :Pada state q1 yang menunjukkan karakter a pada pita, maka karakter pada state tersebut berubah menjadi b dan head bergerak ke kanan dengan menunjuk array sebagai  state q1

Prinsip Kerja mesin Turing

Lihat state semula dan simbol yang ditunjuk head Berdasarkan fungsi transisinya,tentukan: state berikutnya Lakukan penulisan ke pita Gerakkan head ke kanan dan ke kiri Bila dari pasangan state dan simbol yang ditunjuk head tidak ada lagi fungsi

transisinya,berarti mesin turing berhenti Bila mesin turing berhenti di dalam state final (F) , berarti input diterima. Sebaliknya

jika mesin berhenti tidak pada state akhir,maka berarti inputan tersebut ditolak.