Однією з головних причин, чому я вважаю теорію обчислень («мою» галузь теоретичної інформатики) захоплюючою і варто вивчити, наступна: вона дає нам можливість дослідити деякі глибокі (а іноді і спантелитні) філософські питання.
Один із основоположників теорії обчислень, Алан Тьюрінг, спробував зафіксувати значення "обчислення функції" для людини, оснащеного аркушем паперу, давши математичний опис процесу. Я не єдиний, хто вважає, що він був надзвичайно успішним, і машини Тьюрінга виявилися точною моделлю багатьох інших обчислювальних процесів.
Тепер, коли ми маємо клас математичних об'єктів, що описують обчислення, ми можемо фактично довести теореми про них, тим самим намагаючись розкрити, що можна обчислити, і як це можна обчислити; відразу виявилося, що безліч ідеально законних функцій взагалі неможливо обчислити, і їх можна класифікувати за ступенем нездатності (деякі функції просто "більш незайняті", ніж інші).
Деякі інші хлопці, перші, як правило, ототожнюються з Юрісом Хартманісом та Річардом Е. Стіарнс, намагалися математично описати, що означає функція (відповідно, проблема), яку важко чи легко обчислити (відповідно, вирішити). Існує кілька заходів складності, згідно з якими можна описати твердість проблем; найпоширеніший - це скільки часу нам потрібно, щоб їх вирішити. Алан Кобхем та Джек Едмондс виявилися досить успішними у визначенні розумного поняття "ефективного обчислення".
В рамках складності обчислювальної техніки тепер ми можемо довести деякі результати, які відповідають нашому інтуїтивному поняттю обчислення. Мій улюблений приклад - теорема про ієрархію часу: якщо нам дано більше часу для обчислення, ми можемо вирішити більш складні проблеми.
Центральна відкрита проблема теорії складності, P vs NP , - це лише формалізація іншого філософсько значущого питання: чи справді важче вирішити проблему, ніж перевірити, чи нібито її рішення справді правильне? Я вважаю, що це питання варто задати і відповісти, незалежно від його практичного значення.