В общем, когда математика используется для изучения некоторого X , сначала требуется модель X , а затем разрабатывается теория, набор результатов об этой модели. Я предполагаю , что теория может быть названа «теоретической основой» для X . Теперь установите X = вычисление. Существует много моделей вычислений, многие из которых связаны с «состоянием». Каждая модель имеет свою «теорию», и иногда ее можно «переводить» между моделями. Я считаю, что трудно сказать, какая модель является более «базовой» - они просто разработаны с разными целями.
Машины Тьюринга были разработаны, чтобы определить, что вычислимо . Таким образом, они составляют хорошую модель, если вы заботитесь о том, существует ли алгоритм для определенной проблемы. Эта модель иногда злоупотребляли для изучения эффективности алгоритмов или твердости проблем, под тем предлогом , что это достаточно хорошо, по крайней мере , если вы заботитесь только о Полином / неполиномиальным. Модель оперативной памяти ближе к реальному компьютеру и, следовательно, лучше, если вы хотите точного анализа алгоритма. Чтобы поставить нижние оценки твердости проблем, лучше неиспользуйте модель, которая очень похожа на современные компьютеры, потому что вы хотите охватить широкий спектр возможных компьютеров, но при этом быть более точной, чем просто полиномиальный / неполиномиальный. В этом контексте я видел, например, модель сотового зонда.
Если вы заботитесь о правильности , тогда вам пригодятся и другие модели. Здесь у вас есть операционная семантика (которую я бы назвал аналогом лямбда-исчисления для вычислений с полным состоянием), аксиоматическая семантика (разработанная Хоаром в 1969 году на основе индуктивных утверждений Флойда от 1967 года, которые популяризируются Кнутом в «Искусстве компьютерного программирования» , том 1) и др.
Подводя итог, я думаю , что вы после моделей вычислений. Существует много таких моделей, разработанных с различными целями, и многие из них имеют состояние, поэтому они соответствуют императивному программированию. Если вы хотите узнать, можно ли что-то вычислить, посмотрите на машины Тьюринга. Если вы заботитесь об эффективности, посмотрите на модели RAM. Если вы заботитесь о правильности, посмотрите на модели, которые заканчиваются на «семантику», например, на операционную семантику.
Наконец, позвольте мне упомянуть, что в Интернете есть большая книга о моделях вычислений Джона Сэвиджа. В основном это эффективность. Для корректности я рекомендую начать с классических работ Флойда (1967) , Хоара (1969) , Дейкстры (1975) и Плоткина (1981) . Они все очень крутые.