Secara umum, ketika matematika digunakan untuk mempelajari beberapa X , yang pertama membutuhkan model X , dan kemudian mengembangkan teori, satu set hasil tentang model itu. Saya kira teori yang dapat dikatakan sebagai "dasar teoritis" untuk X . Sekarang atur X = perhitungan. Ada banyak model perhitungan, banyak yang melibatkan "negara". Setiap model memiliki "teori" sendiri dan kadang-kadang mungkin untuk "menerjemahkan" antar model. Saya percaya sulit untuk mengatakan model mana yang lebih "dasar" --- mereka hanya dirancang dengan tujuan yang berbeda dalam pikiran.
Mesin Turing dirancang untuk menentukan apa yang dapat dihitung . Jadi mereka membuat model yang bagus jika Anda peduli apakah ada algoritma untuk masalah tertentu. Model ini kadang-kadang disalahgunakan untuk mempelajari efisiensi algoritma atau kekerasan masalah, dengan dalih bahwa itu cukup baik, setidaknya jika Anda hanya peduli pada polinomial / non-polinomial. Model RAM lebih dekat ke komputer nyata dan oleh karena itu lebih baik jika Anda menginginkan analisis algoritma yang tepat. Untuk menempatkan batas bawah pada kekerasan masalah, lebih baik tidakgunakan model yang mirip dengan komputer saat ini karena Anda ingin mencakup berbagai komputer yang mungkin, namun tetap lebih tepat daripada hanya polinomial / non-polinomial. Dalam konteks ini, saya melihat misalnya model sel-probe yang digunakan.
Jika Anda peduli tentang kebenaran , maka masih ada model lain yang bermanfaat. Di sini Anda memiliki semantik operasional (yang saya katakan adalah analog dari kalkulus lambda untuk perhitungan penuh negara), semantik aksiomatik (dikembangkan pada 1969 oleh Hoare berdasarkan pernyataan induktif Floyd dari 1967, yang dipopulerkan oleh Knuth dalam The Art of Computer Programming , volume 1), dan lainnya.
Untuk meringkas, saya pikir Anda mencari model perhitungan. Ada banyak model seperti itu, yang dikembangkan dengan berbagai tujuan dalam pikiran, dan banyak yang menyatakan, sehingga mereka sesuai dengan pemrograman imperatif. Jika Anda ingin tahu apakah sesuatu dapat dihitung, maka lihatlah mesin Turing. Jika Anda peduli efisiensi, lihat model RAM. Jika Anda peduli tentang kebenaran, lihat model yang diakhiri dengan "semantik", seperti semantik operasional.
Akhirnya, izinkan saya menyebutkan bahwa ada buku besar online hanya tentang Models of Computation oleh John Savage. Sebagian besar tentang efisiensi. Untuk bagian yang benar saya sarankan Anda mulai dengan karya-karya klasik Floyd (1967) , Hoare (1969) , Dijkstra (1975) , dan Plotkin (1981) . Mereka semua sangat keren.