Я знаю, что такое вычисления в некотором расплывчатом смысле (это то, что делают компьютеры), но я бы хотел более строгое определение.
Dictionary.com
Определения вычислений, вычислений, вычислений и вычислений являются круговыми, поэтому это не помогает.
Wikipedia
определяет вычисление как «любой тип вычисления, который следует четко определенной модели». Он определяет расчет как «преднамеренный процесс, который преобразует один или несколько входных данных в один или несколько результатов с переменным изменением». Но, похоже, это определение включает в себя многие действия как вычисления, хотя они обычно не рассматриваются как вычисления.
Например, не означает ли это, что, скажем, взрыв бомбы - это вычисление, при котором вход - это загорание предохранителя, а выход - взрыв?
Итак, что же такое вычисления?
источник
Ответы:
Возможно, проблема здесь в том, чтобы искать очень конкретное определение очень общего понятия. Я не вижу проблемы просмотра практически всего как вычисления. Хотя мы не думаем об этом, все, что мы делаем, можно выразить с точки зрения физики составных частей, вплоть до жужжания кварков. У нас такая же ситуация с вычислениями. Есть входы, выходы и процесс (все из которых могут быть тривиальными). Являются ли они интересными или полезными в качестве вычислений или моделей вычислений - это совсем другой вопрос.
Самое сильное рабочее определение, которое мы имеем, приходит через (сильный) тезис Черча-Тьюринга, в котором говорится, что каждая возможная физически реализуемая модель вычислений не более мощна, чем машина Тьюринга. Если вы верите, что это правда, то, хотя у нас может быть много способов выразить что-то, в конечном итоге мы можем свести каждое вычисление к машине Тьюринга, что дает определение вычисления как «все, что мы можем свести к машине Тьюринга».
В этой модели взрывающаяся бомба является вычислением. Он не является широко применимым (мы надеемся;)), но мы можем каким-то образом моделировать его с помощью машины Тьюринга (хотя здесь есть спор о природе вывода и эквивалентности с выводом ТМ). Это также не очень хорошая модель вычислений в целом, так как кажется маловероятным, что модель взрывающейся бомбы завершена по Тьюрингу.
источник
Это вопрос, который Тьюринг решил решить в своей знаменитой статье 1936 года « О вычислимых числах» с приложением к проблеме Entscheidungs , в которой он придумал (что стало известно как) модель машины Тьюринга. Смотрите, в частности, раздел 9.
Работа Тьюринга в контексте вычислимых чисел . Существуют и другие понятия вычислений, подходящие для вычислений других типов структур, и их изучение является частью теории вычислений (также известной как теория рекурсии).
Основное различие между общим представлением о вычислениях и вашим примером (взрывающаяся бомба) заключается в том, что вычисляется. Что вычисляется вашей взрывающейся бомбой? Другим отличием являются вычислительные средства, но можно представить себе механическое устройство, которое использует бомбы для вычисления чего-то более законного.
Другой момент заключается в том, применимы ли классические понятия вычислений к тому, что мы воспринимаем сегодня как вычисления, а именно к двустороннему взаимодействию между компьютером и пользователем. Это распространенная критика, направленная против классического понятия вычислимости, хотя взаимодействие может быть смоделировано с использованием инструментов теории вычислений (это просто не то, что вы изучаете в классе).
источник
Другие великие ответы в этой теме пытаются построить связь между этим отображением и методом его достижения. То есть они объясняют, что для «вычисления» выходных данных некоторого входа нам нужен систематический, четко определенный метод, который переводит нас от входа к его выходу . Хотя это правда, это не обязательно для определения вычислений. В самом деле, если вы встретите Джина, и каждый раз, когда вы даете им число они отвечают с , тогда они что-то вычисляют (даже если это отображение не является рекурсивным, и ни один компьютер не может его создать).х у х уИкс Икс Y Икс Y
В этом очень широком способе просмотра вычислений любое физическое устройство является компьютером: оно передает физическую систему в момент времени (ее вход) в другую систему в момент времени (выход). Более того, это вычисление хорошо определено (т. Е. Может быть задано компактно, например, с помощью унитарных матриц). Если вы спроектируете устройство должным образом, оно может выполнить практически любые (рекурсивные) вычисления, которые вы пожелаете. (Скотт Ааронсон довольно много говорит о «Может ли природа вычислить проблемы», хотя его фокус в основном на NP-полных задачах, это очень важно для этой дискуссии).t = 1т = 0 т = 1
Итог: любое отображение определяет вычисление. Любое «устройство», которое преобразует вход в соответствующий выход, выполняет («вычисляет») это конкретное вычисление.
(1) мы можем распространить обсуждение на эти типы вычислений, что будет иметь смысл, когда вы будете думать о функциях, которые не являются рекурсивными, но я предпочитаю не идти туда.
источник
Я не буду пытаться определить, что такое вычисления, что было сделано довольно хорошо Люком Мэтисоном и Ювалом Фильмусом.
Однако размышление о взрывающемся устройстве как о вычислении привело меня к важному побочному вопросу: если взрыв - это вычисление, то что он вычисляет? Кроме представления устройства после того, как оно взорвалось.
Я стремлюсь к тому, чтобы мы могли довольно точно определить, что мы считаем вычислением, и даже то, что можно рассматривать (придумать?) Как единое целое. Мы можем описать вычисление. Но можем ли мы сказать, что это за вычисления?
Вычисления, как это обычно определяется, являются чисто синтаксической игрой. Это игра физических структур, которые трансформируются в соответствии с точными правилами. Поскольку наш единственный инструмент (вплоть до стандартных преобразований) для представления физических структур - это, в конечном счете, строка символов, вычисление в конечном итоге определяется как некий вид формальных преобразований в строках символов. Это верно для машин Тьюринга, лямбда-исчисления, частично рекурсивных функций и других менее популярных моделей. Слово исчисление (как в лямбда-исчислении) на самом деле отражает эту точку зрения, так как в латинском языке исчисления - это маленькие камни, используемые для представления.
Но это не говорит о том, что означает присоединение к этому синтаксису, что он представляет. Вот то, что я мало понимаю, так как я не специалист по таким вопросам (так что дважды проверьте меня). Проблема покрыта теорией моделей .
Учитывая формальную систему представлений, возможно связанную с логикой (аксиомы и правила вывода) или вычислительной системой (правила преобразования), модель формальной теории представляет собой математическую структуру с компонентами, которые следуют этим правилам.
Одно и то же вычисление, или, точнее, одно и то же описание вычисления, может фактически иметь много моделей, соответствующих очень разным объектам.
Например, алгоритм GCD описывает вычисления. Но это может быть интерпретировано на натуральных числах или на многочленах.
Это напоминает цитату Бертрана Рассела :
Ситуация почти такая же для вычислений. Это формальная игра, в которой ходы можно понимать по-разному. Но на самом деле существуют глубокие связи между математикой, формально определяемой аксиоматическими системами, и теорией вычислений.
Вычисления, алгоритмика были определены для решения математических задач, и многие современные концепции были придуманы логиками, которые пытались понять механизмы, которые позволяют нам доказывать теоремы, начиная с аксиом и применяя правила вывода.
Следовательно, чтобы вернуться к взрывному устройству, оно, безусловно, может быть истолковано как манипулирование представлением, то есть как расчет. Но обычно довольно сложно связать с ним какое-либо значение, кроме самого себя.
Однако это не всегда так или не было. Принцип аналоговых вычислений основан на идее, что для вычислений, которые связаны каким-то точным образом, можно использовать различные системы представления. Затем мы можем рассчитать с одной системой, чтобы иметь представление о том, что будет рассчитывать другая система (слишком громоздкая для реального использования, например, юниверс :)) в соответствующих настройках.
источник
Мне нравится отвечать на подобные вопросы о терминологии в этимологических терминах.
Итак, вычисление происходит от латинского слова compŭtus, которое буквально означает «вычисление».
На латинских языках, таких как французский, итальянский, испанский или португальский (среди прочих), эта этимология разделяется с "сказкой" (историей) на французском языке compte / conte на испанском языке cuenta / cuento на португальском языке conta / conto и т. Д.
Таким образом, вычислить - значит рассчитать и рассказать, как этот расчет был сделан.
Поэтому я бы сказал, что вычисления - это процесс использования математических и логических правил для обработки данной информации, поэтому новая значимая информация выводится из исходных данных, отслеживая, как эта новая информация была сгенерирована (процессор, память, ввод и т. Д.). Выходные данные являются основами)
источник