计算到底是什么?


20

我知道某种意义上的计算是什么(计算机所做的就是这样),但是我想要一个更严格的定义。

Dictionary.com的计算,计算,计算和计算的定义是循环的,因此无济于事。

Wikipedia将计算定义为“遵循明确定义的模型的任何类型的计算”。它将计算定义为“经过有变而将一个或多个输入转换为一个或多个结果的蓄意过程”。但是似乎该定义包括许多动作作为计算,即使通常不将其视为计算。

例如,这是否就意味着炸弹爆炸是一种计算,输入是点燃的保险丝,输出是爆炸?

那么,计算到底是什么?


这是一个伟大的,经典的问题。
Ran G.

重复吗?
拉斐尔

@Raphael据我所知,计算!=一种算法。不过,算法的执行也许是计算。
Kelmikra 2015年

对我来说,“ P是可计算的” ==“有一种算法可以解决P”(对于P来说有些问题)。不过,这可能是从我的TCS角度得出的结果。
拉斐尔

@Raphael这是在问什么是计算,而不是P可计算的含义。
Kelmikra 2015年

Answers:


6

也许这里的问题是寻找一个非常笼统的概念的高度特定的定义。我看不到将几乎所有内容都视为计算的问题。尽管我们没有考虑,但我们所做的一切都可以用组成部分的物理表达,至少可以说是夸夸其谈。我们在计算上有同样的情况。有输入,输出和过程(所有这些都是微不足道的)。它们是有趣的还是有用的计算或计算模型是一个非常不同的问题。

我们最强的工作定义来自(强大的)Church-Turing论文,该论文指出,每种可能的物理可实现的计算模型都不比Turing Machine强大。如果您认为这是真的,那么尽管我们可能有很多表达方式的方法,但最终我们可以将每一个计算都简化为图灵机,因此将计算定义为“我们可以简化为图灵机的任何东西”。

在此模型中,爆炸炸弹是一种计算。它不是一个广泛适用的模型(我们希望;)),但是我们可以使用Turing Machine以某种方式进行建模(尽管这里存在关于输出的性质以及与TM的输出等效的争论)。通常,它也不是一个好的计算模型,因为爆炸炸弹模型似乎不太可能是图灵完整的。


2
宁可离题,但我敢打赌,爆炸的炸弹模型已经图灵完成了!爆炸可能引起其他爆炸,这些爆炸可用于传播信号和制造“或”门。炸弹b可以设置为通过设备在给定的时间爆炸,但是附近的炸弹可能会禁用设备,而不会导致b爆炸,这允许使用非门。
Kelmikra 2015年

@ Kyth'Py1k喜欢多米诺盖茨吗?我认为这样做不会完全结束,因为您无法无限循环,因为“计算”将始终根据机器/雷场的大小而停止
棘轮怪胎

1
@ratchetfreak除非炸弹的遗骸通过其中的纳米机器人被制成新炸弹然后重新定位...
Kelmikra 2015年

4

这是图灵着手解决的问题,他在1936年发表的著名论文《关于可计算的数字》中应用到Entscheidungsproblem问题上,他提出了(后来称为)图灵机模型的论文。特别参见第9节。

图灵的工作涉及可计算的数字。还有其他适用于计算其他类型结构的计算概念,它们的研究构成了计算理论(也称为递归理论)的一部分。

通用计算概念与示例(爆炸炸弹)之间的主要区别在于所计算的事物。您爆炸的炸弹正在计算什么?另一个区别是计算方法,但是可以设想一种机械装置,它使用炸弹来计算更合理的东西。

另一点是,经典的计算概念是否适用于我们今天认为的计算,即计算机与用户之间的双向交互。尽管可以使用计算理论的工具对交互进行建模(这并不是您在课堂上学到的东西),但这是对经典的可计算性概念的普遍批评。


当然,爆炸是一种计算。它精确地“计算”描述爆炸的单一变换。顺便说一句,当我说(例如)某些量子门计算compute而不是演化it或相应地改变物理系统时,我遇到的物理学家很多时候“心烦”(门是否用笔和纸来计算单一的 “?):)
Ran G.

我读了“关于可计算的数字,以及对Entscheidungs问题的应用程序”的第9节,但这似乎并没有帮助。尽管我没有非常彻底地阅读过它,但这似乎为图灵机奠定了基础。您是说计算可以作为图灵机所完成的动作来建模吗?如果是这样,难道几乎所有内容都不是计算吗?例如,炸弹爆炸可以建模为图灵机,以便将周围粒子的量子粒子的位置,速度和类型编码为二进制。
Kelmikra

“你的炸弹正在计算什么?” 正在根据物理定律计算炸弹周围粒子状态的变化。
Kelmikra 2015年

“另一点是,经典的计算概念是否适用于我们今天所认为的计算,即计算机与用户之间的双向交互。” 我认为这与计算无关。即使自治机器人不需要与用户进行交互,它们也被视为进行计算。
Kelmikra

这是一个想法:计算是生成输出以帮助优化程序(例如人和机器人)进行推理的过程。怎么样?
Kelmikra 2015年

1

ABxAyBxAx

xxyxy

t=0t=1

底线:任何映射都定义了计算。将输入转换为相应输出的任何“设备”都执行(“计算”)该特定计算。



(1)我们可以将讨论扩展到这些类型的计算,当您考虑非递归的函子时,这将是有意义的,但我宁愿不去那里。


此定义的问题在于它与“算术”一词的实际使用方式不符。人们认为PC可以进行计算,而爆炸物则不可以。
Kelmikra

恕我直言,映射正是计算不是的。我认为您会混淆语法和语义。显然,您将映射理解为输入-输出关系,但是已定义。在我所有的书中,这就是语义。计算是通过一系列步骤实际获得与某些输入相对应的输出的方法。尽管您可能会说任何计算都定义了一个映射(如果只是一种语法),但我认为认为映射定义了一个计算是错误的,除非您仔细地解释说您将要进行超计算,但这似乎超出了这个问题。
2015年

我应该澄清我的回答的精神(我意识到它不是用这种方式表达的):映射本身不是计算。该过程将输入到输出的是该特定映射(函数)的计算。我试图传达的是特定过程是相关的,任何这样的过程都是计算(甚至是非常抽象的过程,例如“ oracle”)。
Ran G.

1

我不会尝试定义什么是计算,Luke Mathieson和Yuval Filmus做得很好。

但是,将爆炸装置视为一种计算会导致我遇到一个重要的附带问题:如果爆炸是一种计算,那么它将计算什么?设备爆炸后的表示形式除外。

我的目标是,我们可以相当精确地定义我们认为是计算的东西,甚至可以看成(做作的)计算。我们可以描述一个计算。但是我们能说出它在计算什么吗?

正如通常所定义的,计算是一种纯粹的句法游戏。这是根据精确规则进行转换的物理结构的游戏。由于我们用来表示物理结构的唯一工具(直到标准转换)最终是符号字符串,因此最终将计算定义为对符号字符串的某种形式转换。图灵机,lambda微积分,部分递归函数和其他较不流行的模型都是如此。演算一词(如lambda演算)实际上反映了这种观点,因为在拉丁语中,结石是用于表示的小石头。

但是,这并不能说明该语法应具有什么含义,其含义。这是我认为我了解的一点,因为我不是这类问题的专家(请仔细检查我)。模型理论解决了这个问题。

给定形式表示的系统,可能与逻辑(公理和推理规则)或计算系统(变换规则)相关联,形式理论的模型是一种数学结构,其组件遵循这些规则。

相同的计算,或更确切地说,相同的计算描述实际上可以具有对应于非常不同的实体的许多模型。

例如,GCD算法描述了计算。但是它可以用自然数或多项式来解释。

让我想起Bertrand Russell'quote

数学可以定义为我们永远不知道我们在说什么,或者我们说的话是否正确的学科。

计算的情况几乎相同。这是一个正式的游戏,可以用许多不同的方式来理解这些动作。但是,由公理系统正式定义的数学与计算理论之间实际上存在着深厚的联系。

定义了计算算法来解决数学问题,逻辑学家想到了许多现代概念,他们试图从公理和应用推理规则开始理解允许我们证明定理的机制。

因此,回到爆炸装置,可以肯定地将其解释为表示的操纵,即作为计算。但是通常很难将其本身以外的任何其他含义关联起来。

但是,这并不总是正确的,或者不是。模拟计算的原理依赖于这样的想法,即可以将不同的表示系统用于以某种精确方式关联的计算。然后,我们可以使用一个系统进行计算,以了解另一种系统(在实际设置中太笨拙而无法实际使用,例如Universe :)将在相应的设置中进行计算。


0

我喜欢用民族学的术语回答这类有关术语的问题。

因此,计算来自拉丁语compŭtus,字面意思是“计算”。

在拉丁语中,例如法语,意大利语,西班牙语或葡萄牙语(其中包括其他语言),该民族学与法语compte / conte中的“故事”(一个故事)在西班牙语conenta / cuento中在葡萄牙conta / conto等中共享...

因此,计算就是计算和说明该计算是如何完成的。

因此,我要说的是,计算是使用数学和逻辑规则来处理给定信息的过程,以便从原始数据中推导出新的有意义的信息,并跟踪如何生成这些新信息(处理器,内存,输入和输出)。输出就是所涉及的基础)


在法语中,一个故事是西班牙语中的“ conte”,“ cuento”。“ compte”是一种计算或一种帐单,而“ cuenta”则是西班牙语。我不知道,尽管同音词“ compte”和“ conte”有共同的词源(没有“ h” afaik),但是这种共同的词源似乎已在网上得到证实。因此,整个可计算性业务只是故事吗?
babou 2015年

Je l'aicorrigé。我应该不会犯这种错误,但是我写法语仍然不太好
Luis Sieira

也许故事只是计算而已。在某些初始条件下,您采用一堆具有给定个性的角色,然后计算了故事的其余部分
Luis Sieira 2015年

“跟踪如何生成新信息(然后涉及处理器,内存,输入和输出的基本原理)。” 难道这并不意味着某事不是一种计算,除非在执行某项操作时跟踪其内存使用情况?听起来不对……
Kelmikra 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.