Teori komputasi
Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang ilmu ini terutama membahas hal terkait komputabilitas dan kompleksitas, dalam kaitannya dengan formalisme komputasi.[1][2] Bidang teori komputasi dibagi menjadi tiga cabang besar: teori automata dan bahasa formal, teori komputabilitas dan teori kompleksitas komputasional, dimana dihubungkan dengan pertanyaan: "Apa saja kemampuan dan batasan yang dimiliki komputer?".[3]
Untuk melakukan studi komputasi dengan ketat, ilmuwan komputer bekerja dengan abstraksi matematika dari komputer yang dinamakan model komputasi. Ada beberapa model yang digunakan, tetapi yang paling umum dipelajari adalah mesin Turing.[4][5] Para ilmuwan mempelajari mesin Turing karena mudah untuk diformulasikan, bisa di analisa dan digunakan untuk membuktikan sebuah hasil, dan karena mesin Turing merepresentasikan model komputasi yang kuat dan "cocok" (lihat Church–Turing thesis).[6] Hal ini sepertinya memiliki potensial kapasitas memori tak terhingga merupakan atribut yang tak disadari, tetapi pada tiap permasalahan logika[7] diselesaikan oleh mesin Turing selalu membutuhkan memori yang terbatas. Sehingga, dalam prinsipnya setiap permasalahan yang bisa diselesaikan (dipilih untuk diselesaikan) oleh mesin Turing bisa diselesaikan oleh komputer ynag memiliki memori yang terbatas. Sebuah mesin Turing dapat dipikirkan sebagai komputer pribadi meja dengan kapasitas memori yang tak terhingga, tetapi hanya dapat diakses dalam bagian-bagian terpisah dan diskret. Ilmuwan komputer mempelajari mesin Turing karena mudah dirumuskan, dianalisis dan digunakan untuk pembuktian, dan karena mesin ini mewakili model komputasi yang dianggap sebagai model paling masuk akal yang paling ampuh yang dimungkinkan. Kapasitas memori tidak terbatas mungkin terlihat sebagai sifat yang tidak mungkin terwujudkan, tetapi setiap permasalahan yang "terputuskan" (decidable) yang dipecahkan oleh mesin Turing selalu hanya akan memerlukan jumlah memori terhingga. Jadi pada dasarnya setiap masalah yang dapat dipecahkan (diputuskan) oleh meisn Turing dapat dipecahkan oleh komputer yang memiliki jumlah memori terbatas.
Sejarah
suntingTeori komputasi bisa dijadikan penciptaan sebuah model dari seluruh bidang ilmu komputer. Maka, matematika dan logika digunakan. Pada abad terakhir, teori komputasi dijadikan menjadi ilmu akademis disiplin yang terpisah dari matematika.
Beberapa pioner atau ilmuwan terkenal dari teori komputasi adalah Ramon Llull, Alonzo Church, Kurt Gödel, Alan Turing, Stephen Kleene, Rózsa Péter, John von Neumann, dan Claude Shannon.
Cabang
suntingTeori Automata
suntingTata Bahasa | Bahasa | Otomat | Peraturan Produksi (batas-batas) |
---|---|---|---|
Type-0 | Terhitung secara Rekursif | Mesin Turing | (tidak ada batasan) |
Type-1 | Konteks Sensitif | Mesin Turing yang Terikat Linear dan Tak Dapat Ditentukan | |
Type-2 | Tanpa Konteks | Tak dapat ditentukan Penekanan Otomat | |
Type-3 | Regular | Keadaan Otomat Terbatas | dan |
Teori Automata adalah ilmu tentang mesin abstrak (atau lebih tepatnya adalah sistem atau mesin abstrak 'matematis') dan permasalahan komputasional yang bisa diselesaikan oleh mesin-mesin ini. Mesin-mesin abstrak ini disebut sebagai automata. Automata (Αυτόματα) berarti sesuatu yang melakukan sesuatu dengan sendirinya. Teori Automata sangat dekat dengan teori bahasa formal,[8] Automata sering diklasifikasikan oleh beberapa kelas dari bahasa formal karena mereka memiliki kemampuan untuk "mengenal". Sebuah Automaton bisa merupakan representasi bahasa formal yang terbatas yang bisa merupakan himpunan tak terbatas. Automata digunakan sebagai model teoritis untuk mesin komputasi, dan digunakan untuk kemampuan komputabilitas.
Teori Bahasa Formal
suntingTeori Bahasa adalah cabang dari matematika yang mempelajari tentang menerangkan bahasa-bahasa sebagai bagian dari operasi-operasi atas Alfabet(bahasa formal). Teori ini sangat dekat dengan teori Automata, karena Automata digunakan untuk membuat dan mengenal bahasa formal. Terdapat beberapa kelas dari bahasa formal, tiap-tiapnya membolehkan spesifikasi pada bahasa kompleks daripada satunya sebelum itu (Hierarki Chomsky),[9] dan tiap korespondensi kepada sebuah kelas dari Automata yang mengenalnya. Karena Automata digunakan sebagai model-model dari komputasi, bahasa formal lebih disarankan sebagai mode spesifikasi untuk semua permasalahan yang harus di komputasi.
Teori Komputabilitas
suntingTeori Komputabilitas berhubungan secara pokok dengan pertanyaan-pertanyaan dari batas cakupan pada dimana sebuah masalah itu dapat diselesaikan oleh sebuah komputer. Pernyataan bahwa permasalahan terbata-bata tak bisa diselesaikan oleh mesin Turing[10] Adalah salah satu hasil terpenting pada teori komputabilitas, karena hal itu merupakan contoh dari permasalahan konkret yang sama-sama mudah untuk diformulasikan dan tak mungkin diselesaikan oleh mesin Turing. Terlebih pada teori komputabilitas yang membangun dari hasil permasalahan terbata-bata.
Langkah lain dalam teori komputabilitas adalah Teorema Rice, dimana menyebutkan bahwa pada semua properti dari fungsi non-trivial, adalah logika diantara pada mesin Turing mengkomputasi fungsi parsial dengan properti itu.[11]
Teori Komputabilitas lebih dekat pada percabangan dari logika matematis disebut teori rekursi, dimana menghapus batasan dari pembelajaran model komputasi yang dimana bisa disederhanakan hingga model Turing.[12] Banyak matematikawan dan ahli teori komputasional yang mempelajari pembelajaran teori rekursi akan merujuk hal itu pada teori komputasi.
Teori Komputasional Kompleks
suntingReferensi
sunting- ^ "Introduction of Theory of Computation". GeeksforGeeks (dalam bahasa Inggris). 2017-11-13. Diakses tanggal 2020-08-04.
- ^ "Theory of Computation". www.contrib.andrew.cmu.edu. Diakses tanggal 2020-08-04.
- ^ Michael Sipser (2013). Introduction to the Theory of Computation 3rd (Pengenalan Teori Komputasi). Cengage Learning. ISBN 978-1-133-18779-0.
central areas of the theory of computation: automata, computability, and complexity. (Page 1)
- ^ "Turing machine | Definition & Facts". Encyclopedia Britannica (dalam bahasa Inggris). Diakses tanggal 2020-08-04.
- ^ De Mol, Liesbeth (2019). Zalta, Edward N., ed. The Stanford Encyclopedia of Philosophy (edisi ke-Winter 2019). Metaphysics Research Lab, Stanford University.[pranala nonaktif permanen]
- ^ Rabin, Michael O. (June 2012). Turing, Church, Gödel, Computability, Complexity and Randomization: A Personal View (Turing, Church, Gödel, Komputabilitas, Kompleksitas, dan Keacakan: Pandangan Individu).
- ^ Donald Monk (1976). Mathematical Logic (Logika Matematis) . Springer-Verlag. ISBN 9780387901701.
- ^ Hopcroft, John E. and Jeffrey D. Ullman (2006). Introduction to Automata Theory, Languages, and Computation. (Pengenalan Teori Automata, Bahasa, dan Komputasi) 3rd ed. Reading, MA: Addison-Wesley. ISBN 978-0-321-45536-9.
- ^ Chomsky hierarchy (1956). "Tiga Model untuk Mendeskripsikan dari sebuah Bahasa". Information Theory, IRE Transactions on. IEEE. 2 (3): 113–124. doi:10.1109/TIT.1956.1056813.
- ^ Alan Turing (1937). "(Dalam bilangan-bilangan yang dapat dikomputasi, dengan sebuah pengaplikasian dalam permasalahan Entscheidung) On computable numbers, with an application to the Entscheidungsproblem". Proceedings of the London Mathematical Society. IEEE. 2 (42): 230–265. doi:10.1112/plms/s2-42.1.230. Diakses tanggal 11 Oktober 2022. [pranala nonaktif permanen]
- ^ Henry Gordon Rice (1953). "Classes of Recursively Enumerable Sets and Their Decision Problems (Kelas-kelas Himpunan Enumerasi Rekursif dan Permasalahan Pemilihannya)". Transactions of the American Mathematical Society. American Mathematical Society. 74 (2): 358–366. doi:10.2307/1990888 . JSTOR 1990888.
- ^ Martin Davis (2004). (Yang Tak Bisa Ditentukan: Kertas Dasar pada Proposisi Yang Tak Dapat Ditentukan, Permasalahan Yang Tak Dapat Diselesaikan dan fungsi komputasi) The undecidable: Basic papers on undecidable propositions, unsolvable problems and computable functions (Dover Ed). Dover Publications. ISBN 978-0486432281.
Pranala luar
sunting- Computability Logic Diarsipkan 2011-04-11 di Wayback Machine. - Teori komputasi interaktif