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
Teori 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.
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 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 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.
^Michael Sipser (2013). Introduction to the Theory of Computation 3rd (Pengenalan Teori Komputasi). Cengage Learning. ISBN978-1-133-18779-0. central areas of the theory of computation: automata, computability, and complexity. (Page 1)
^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. JSTOR1990888.