Вычисление — это любой тип арифметического или неарифметического расчета , который четко определен. [1] [2] Распространенными примерами вычислений являются решение математических уравнений и выполнение компьютерных алгоритмов .
Механические или электронные устройства (или, исторически , люди), которые выполняют вычисления, называются компьютерами .
Информатика — это академическая область, занимающаяся изучением вычислений.
Идея о том, что математические утверждения должны быть «хорошо определены», обсуждалась математиками по крайней мере с 1600-х годов , [3] но соглашение о подходящем определении оказалось неуловимым. [4] Кандидатное определение было предложено независимо несколькими математиками в 1930-х годах. [5] Самый известный вариант был формализован математиком Аланом Тьюрингом , который определил хорошо определенное утверждение или вычисление как любое утверждение, которое может быть выражено в терминах параметров инициализации машины Тьюринга . [6] Другие (математически эквивалентные) определения включают лямбда-определимость Алонзо Чёрча , общую рекурсивность Гербранда - Гёделя - Клине и 1 -определимость Эмиля Поста . [ 5]
Сегодня любое формальное утверждение или вычисление, которое демонстрирует это качество четкости, называется вычислимым , в то время как само утверждение или вычисление называется вычислением .
Определение Тьюринга распределило «хорошо определенные» по очень большому классу математических утверждений, включая все правильно сформированные алгебраические утверждения и все утверждения, написанные на современных языках программирования. [7]
Несмотря на широкое распространение этого определения, существуют некоторые математические концепции, которые не имеют четко определенной характеристики в рамках этого определения. К ним относятся проблема остановки и игра занятого бобра . Остается открытым вопрос о том, существует ли более мощное определение «хорошо определенного», которое способно охватить как вычислимые, так и «невычислимые» утверждения. [примечание 1] [8]
Вот некоторые примеры математических утверждений, которые можно вычислить:
Вот некоторые примеры математических утверждений, которые не поддаются вычислению:
Вычисление можно рассматривать как чисто физический процесс, происходящий внутри замкнутой физической системы , называемой компьютером . Доказательство Тьюринга 1937 года « О вычислимых числах с приложением к проблеме Entscheidungsproblem » продемонстрировало, что существует формальная эквивалентность между вычислимыми утверждениями и конкретными физическими системами, обычно называемыми компьютерами . Примерами таких физических систем являются: машины Тьюринга , люди-математики, следующие строгим правилам, цифровые компьютеры , механические компьютеры , аналоговые компьютеры и другие.
Альтернативный отчет о вычислениях можно найти в работах Хилари Патнэма и других. Питер Годфри-Смит назвал это «счетом простого отображения». [9] В резюме этого отчета Гуалтьеро Пиччинини говорится, что можно сказать, что физическая система выполняет определенное вычисление, когда существует отображение между состоянием этой системы и вычислением, таким образом, что «микрофизические состояния [системы] отражают переходы состояний между вычислительными состояниями». [10]
Философы, такие как Джерри Фодор [11], предложили различные описания вычислений с ограничением, что семантическое содержание является необходимым условием для вычислений (то есть, то, что отличает произвольную физическую систему от вычислительной системы, заключается в том, что операнды вычисления представляют собой нечто). Это понятие пытается предотвратить логическую абстракцию описания отображения панкомпьютерализма , идеи, что все можно назвать вычисляющим все.
Гуалтьеро Пиччинини предлагает описание вычислений, основанное на механической философии . В нем говорится, что физические вычислительные системы — это типы механизмов, которые по своей конструкции выполняют физические вычисления или манипуляции (функциональным механизмом) «независимого от среды» транспортного средства в соответствии с правилом. «Независимость от среды» требует, чтобы свойство могло быть реализовано [ требуется разъяснение ] несколькими реализаторами [ требуется разъяснение ] и несколькими механизмами, и чтобы входы и выходы механизма также были многократно реализуемыми . Короче говоря, независимость от среды позволяет использовать физические переменные со свойствами, отличными от напряжения (как в типичных цифровых компьютерах); это необходимо при рассмотрении других типов вычислений, таких как те, которые происходят в мозге или в квантовом компьютере . Правило в этом смысле обеспечивает отображение между входами, выходами и внутренними состояниями физической вычислительной системы. [12]
В теории вычислений разработано множество математических моделей вычислений. Типичные математические модели компьютеров следующие:
Джунти называет модели, изучаемые теорией вычислений, вычислительными системами и утверждает, что все они являются математическими динамическими системами с дискретным временем и дискретным пространством состояний. [13] : гл.1 Он утверждает, что вычислительная система — это сложный объект, состоящий из трех частей. Во-первых, математическая динамическая система с дискретным временем и дискретным пространством состояний; во-вторых, вычислительная установка , которая состоит из теоретической части и реальной части ; в-третьих, интерпретация , которая связывает динамическую систему с установкой . [14] : стр.179–80