Salah satu alasan utama mengapa saya menemukan teori komputasi (cabang "saya" tentang ilmu komputer teoretis) yang menarik dan layak dipelajari adalah yang berikut: teori ini memberi kita cara untuk menyelidiki beberapa pertanyaan filosofis yang mendalam (dan kadang membingungkan).
Salah satu pendiri teori komputasi, Alan Turing, mencoba menjabarkan makna "menghitung fungsi" bagi manusia yang dilengkapi selembar kertas, dengan memberikan deskripsi matematis tentang proses tersebut. Saya bukan satu-satunya yang berpikir dia sangat sukses, dan mesin Turing terbukti menjadi model yang akurat dari banyak proses komputasi lainnya.
Sekarang setelah kita memiliki kelas objek matematika yang menggambarkan perhitungan, kita dapat benar-benar membuktikan teorema tentangnya, dengan demikian berusaha mengungkap apa yang dapat dihitung, dan bagaimana hal itu dapat dihitung; segera terbukti bahwa banyak fungsi yang benar-benar sah tidak dapat dihitung sama sekali, dan bahwa mereka dapat diklasifikasikan berdasarkan tingkat ketidakterkomputasi (beberapa fungsi hanya "lebih tidak dapat dihitung" daripada yang lain).
Beberapa orang lain, yang pertama biasanya diidentifikasi dengan Juris Hartmanis dan Richard E. Stearns, mencoba menggambarkan secara matematis apa artinya suatu fungsi (resp., Masalah) menjadi sulit atau mudah untuk dihitung (resp., Untuk dipecahkan). Ada beberapa langkah kompleksitas yang menurutnya kekerasan dapat digambarkan; yang paling umum adalah berapa banyak waktu yang kita butuhkan untuk menyelesaikannya. Alan Cobham dan Jack Edmonds cukup berhasil mengidentifikasi gagasan yang masuk akal tentang "komputasi efisien".
Dalam kerangka kompleksitas komputasi, kami sekarang dapat membuktikan beberapa hasil yang konsisten dengan gagasan intuitif kami tentang komputasi. Contoh favorit saya adalah teorema hierarki waktu: jika kita diberi lebih banyak waktu untuk menghitung, kita dapat memecahkan masalah yang lebih sulit.
Masalah utama yang terbuka dari teori kompleksitas, P vs NP , hanyalah formalisasi dari pertanyaan filosofis penting lainnya: apakah benar-benar lebih sulit untuk menyelesaikan masalah daripada memeriksa apakah solusi yang diduga memang benar? Saya percaya pertanyaan ini layak diajukan, dan dijawab, terlepas dari signifikansi praktisnya.