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