我知道某种意义上的计算是什么(计算机所做的就是这样),但是我想要一个更严格的定义。
Dictionary.com
的计算,计算,计算和计算的定义是循环的,因此无济于事。
Wikipedia
将计算定义为“遵循明确定义的模型的任何类型的计算”。它将计算定义为“经过有变而将一个或多个输入转换为一个或多个结果的蓄意过程”。但是似乎该定义包括许多动作作为计算,即使通常不将其视为计算。
例如,这是否就意味着炸弹爆炸是一种计算,输入是点燃的保险丝,输出是爆炸?
那么,计算到底是什么?
我知道某种意义上的计算是什么(计算机所做的就是这样),但是我想要一个更严格的定义。
Dictionary.com
的计算,计算,计算和计算的定义是循环的,因此无济于事。
Wikipedia
将计算定义为“遵循明确定义的模型的任何类型的计算”。它将计算定义为“经过有变而将一个或多个输入转换为一个或多个结果的蓄意过程”。但是似乎该定义包括许多动作作为计算,即使通常不将其视为计算。
例如,这是否就意味着炸弹爆炸是一种计算,输入是点燃的保险丝,输出是爆炸?
那么,计算到底是什么?
Answers:
也许这里的问题是寻找一个非常笼统的概念的高度特定的定义。我看不到将几乎所有内容都视为计算的问题。尽管我们没有考虑,但我们所做的一切都可以用组成部分的物理表达,至少可以说是夸夸其谈。我们在计算上有同样的情况。有输入,输出和过程(所有这些都是微不足道的)。它们是有趣的还是有用的计算或计算模型是一个非常不同的问题。
我们最强的工作定义来自(强大的)Church-Turing论文,该论文指出,每种可能的物理可实现的计算模型都不比Turing Machine强大。如果您认为这是真的,那么尽管我们可能有很多表达方式的方法,但最终我们可以将每一个计算都简化为图灵机,因此将计算定义为“我们可以简化为图灵机的任何东西”。
在此模型中,爆炸炸弹是一种计算。它不是一个广泛适用的模型(我们希望;)),但是我们可以使用Turing Machine以某种方式进行建模(尽管这里存在关于输出的性质以及与TM的输出等效的争论)。通常,它也不是一个好的计算模型,因为爆炸炸弹模型似乎不太可能是图灵完整的。
这是图灵着手解决的问题,他在1936年发表的著名论文《关于可计算的数字》中应用到Entscheidungsproblem问题上,他提出了(后来称为)图灵机模型的论文。特别参见第9节。
图灵的工作涉及可计算的数字。还有其他适用于计算其他类型结构的计算概念,它们的研究构成了计算理论(也称为递归理论)的一部分。
通用计算概念与示例(爆炸炸弹)之间的主要区别在于所计算的事物。您爆炸的炸弹正在计算什么?另一个区别是计算方法,但是可以设想一种机械装置,它使用炸弹来计算更合理的东西。
另一点是,经典的计算概念是否适用于我们今天认为的计算,即计算机与用户之间的双向交互。尽管可以使用计算理论的工具对交互进行建模(这并不是您在课堂上学到的东西),但这是对经典的可计算性概念的普遍批评。
底线:任何映射都定义了计算。将输入转换为相应输出的任何“设备”都执行(“计算”)该特定计算。
(1)我们可以将讨论扩展到这些类型的计算,当您考虑非递归的函子时,这将是有意义的,但我宁愿不去那里。
我不会尝试定义什么是计算,Luke Mathieson和Yuval Filmus做得很好。
但是,将爆炸装置视为一种计算会导致我遇到一个重要的附带问题:如果爆炸是一种计算,那么它将计算什么?设备爆炸后的表示形式除外。
我的目标是,我们可以相当精确地定义我们认为是计算的东西,甚至可以看成(做作的)计算。我们可以描述一个计算。但是我们能说出它在计算什么吗?
正如通常所定义的,计算是一种纯粹的句法游戏。这是根据精确规则进行转换的物理结构的游戏。由于我们用来表示物理结构的唯一工具(直到标准转换)最终是符号字符串,因此最终将计算定义为对符号字符串的某种形式转换。图灵机,lambda微积分,部分递归函数和其他较不流行的模型都是如此。演算一词(如lambda演算)实际上反映了这种观点,因为在拉丁语中,结石是用于表示的小石头。
但是,这并不能说明该语法应具有什么含义,其含义。这是我认为我了解的一点,因为我不是这类问题的专家(请仔细检查我)。模型理论解决了这个问题。
给定形式表示的系统,可能与逻辑(公理和推理规则)或计算系统(变换规则)相关联,形式理论的模型是一种数学结构,其组件遵循这些规则。
相同的计算,或更确切地说,相同的计算描述实际上可以具有对应于非常不同的实体的许多模型。
例如,GCD算法描述了计算。但是它可以用自然数或多项式来解释。
数学可以定义为我们永远不知道我们在说什么,或者我们说的话是否正确的学科。
计算的情况几乎相同。这是一个正式的游戏,可以用许多不同的方式来理解这些动作。但是,由公理系统正式定义的数学与计算理论之间实际上存在着深厚的联系。
定义了计算算法来解决数学问题,逻辑学家想到了许多现代概念,他们试图从公理和应用推理规则开始理解允许我们证明定理的机制。
因此,回到爆炸装置,可以肯定地将其解释为表示的操纵,即作为计算。但是通常很难将其本身以外的任何其他含义关联起来。
但是,这并不总是正确的,或者不是。模拟计算的原理依赖于这样的想法,即可以将不同的表示系统用于以某种精确方式关联的计算。然后,我们可以使用一个系统进行计算,以了解另一种系统(在实际设置中太笨拙而无法实际使用,例如Universe :)将在相应的设置中进行计算。
我喜欢用民族学的术语回答这类有关术语的问题。
因此,计算来自拉丁语compŭtus,字面意思是“计算”。
在拉丁语中,例如法语,意大利语,西班牙语或葡萄牙语(其中包括其他语言),该民族学与法语compte / conte中的“故事”(一个故事)在西班牙语conenta / cuento中在葡萄牙conta / conto等中共享...
因此,计算就是计算和说明该计算是如何完成的。
因此,我要说的是,计算是使用数学和逻辑规则来处理给定信息的过程,以便从原始数据中推导出新的有意义的信息,并跟踪如何生成这些新信息(处理器,内存,输入和输出)。输出就是所涉及的基础)