计算是我们大多数人凭直觉就能理解的一个熟悉概念。我们以函数 f (x) = x + 3 为例,当 x 为 3 时,f (3) = 3 + 3。答案是 6,非常简单。很明显,这个函数是可计算的。但是有些函数并非那么简单,而且要确定它们是否可以计算也非易事,这意味着它们可能永远都无法得出一个最终答案。
1928 年,德国数学家大卫・希尔伯特(David Hilbert)和威廉・阿克曼( Wilhelm Ackermann)提出了一个名为 Entscheidungsproblem(即「判定性问题」)的问题。随着时间推移,他们提出的这个问题将引出可计算性的正式定义,这个定义使数学家能够回答大量新问题并为理论计算机科学奠定基础。
一位 23 岁名叫艾伦图灵的研究生提出了这个定义,他在 1936 年写了一篇开创性论文,不仅将计算的概念形式化表达了出来,还证明了数学的一个基本问题,为发明电子计算机创造了知识基础。图灵的伟大远见在于以抽象机器的形式为计算问题提供了具体的答案,后来他的博导阿朗佐丘奇将其命名为图灵机。
图灵机是抽象的,因为它没有(也不能)作为有形设备物理存在。相反,它是一个计算的概念模型:如果这个机器可以计算一个函数,那么这个函数就是可计算的。
当艾伦图灵在 1936 年发明图灵机时,也创造了现代计算。
艾伦・图灵及他的图灵机
它的工作原理是这样的:图灵机可以按照规则表的规定读取和更改无限长磁带上的符号。磁带是由一个个「单元格」组成,每个单元格只能存储一个符号。图灵机用磁带头读取和重写单元格的内容。规则表中的每条规则都会决定图灵机应该根据它当前的状态和正在读取的符号来做什么。图灵机可以基于它停止的位置来进入最终状态(「接受状态」或「拒绝状态」),决定接受或拒绝输入。或者图灵机陷入无限循环并永不停歇地读取磁带。
理解图灵机的最好方法是来思考这样一个简单的例子。让我们想象一下,图灵机被设计用于告诉我们给定的输入是否为数字零。我们将输入带有空白符号 (#) 的数字 0001,也就是说「#0001#」是我们磁带的相关部分。
图灵机从初始状态开始,我们称之为 q0,它读取磁带最左边的单元格并找到一个空白区域。按照规则,当处于状态 q0 时,如果符号是 #,则保持原样不变,然后向右移动一个单元格,并将机器状态更改为 q1。在这一步之后,机器处于状态 q1,它的磁头将正在读取第二个符号 0。
现在我们寻找适用于这些条件的规则。我们发现这样一个规则,「保持状态 q1 并将磁头向右移动一个单元格。」这使我们处于相同的位置(在状态 q1 中,读数仍为 0),因此我们继续向右移动,直到磁头最终读取到一个不同的数字 1。
当我们再次查阅规则表时,我们发现了一条新规则:「如果遇到 1,则转换到 q2,即拒绝状态。」图灵机停止运行,并对最初的问题「0001 是零吗?」回答「否」。
相反,如果输入是「#0000#」,图灵机将在所有这些零之后遇到 #。当我们查阅规则表时,我们发现一条规则说这意味着机器进入状态 q3,即一种「接受」状态。现在机器对「‘0000’是零吗?」这一问题的回答则为「是」。
艾伦图灵帮助定义了计算、算法和图灵机。
用抽象机器回答判断性问题
图灵使用他的抽象机器建立了一个计算模型,来回答 Entscheidungs 问题,它正式提出:给定一组数学公理,是否存在一个机械过程(即一组指令,今天我们称之为算法)总是可以确定给定的陈述是否为真?
假设我们想找到一种算法来告诉我们某个棋局中棋子位置是否可行。在这其中,公理是管理国际象棋合理移动的规则。我们能否按照有限的 step-by-step 流程序列到达该位置?尽管某些棋局可能需要比我们一生更长的时间来分析,一种算法可能会生成所有可能的局面并将其逐个与输入进行比较,此类算法存在于国际象棋游戏之中。因此,我们说国际象棋是「可判定的」。
然而,在 1936 年,美国数学家丘奇和图灵使用不同的方法分别证明了「没有通用方法可以解决 Entscheidungs 问题的每个例子。」 例如,约翰康威的生命游戏等一些游戏是不可判定的:没有算法可以确定某一模式是否会从初始模式出现。
图灵表明了,如果存在可以执行所需任务的算法,则函数是可计算的。同时,他还表明算法是一个可以用图灵机定义的过程。因此,可计算函数是一种可通过图灵机来计算的函数。这似乎是一种定义可计算性的迂回方式,但却是我们所拥有的最好方式。
麻省理工学院理论计算机科学家迈克尔・西普瑟表示:「这并不是说你可以选择用其他方式来定义它。我觉得人们普遍认为,邱奇 - 图灵论题提出的是,算法的非正式概念就是任何合理计算模型可以做到的事情。」其他数学家提出了不同的计算模型,虽然这些模型表面上看起来很不一样,但实际上是相同的:它们可以进行图灵机可以进行的任何计算,反之亦然。
就在哲学家、逻辑学家和数学家库尔特・哥德尔证明数学是不完备的几年后,丘奇和图灵也通过这项工作表表明了数学中的某些问题是不可判定的。无论算法多么复杂,都无法告诉我们答案是肯定还是否定。这两件事对希尔伯特来说都是毁灭性的打击,他曾希望数学能给出简洁、理想化的答案。但这倒也不错:如果存在解决 Entscheidungsproblem 问题的一般解决方案,这将意味着数学中的所有问题都可以被简化为简单的机械计算。
通用和概率图灵机
除了回答这些基本问题之外,图灵机还通过一种称为通用图灵机的变体直接影响了现代计算机的发展。它是一种特殊的图灵机,可以模拟任何其他图灵机的任何输入。它可以读取其它图灵机的描述(以及规则和输入磁带)并在自己的输入磁带上模拟它们的行为,与模拟机器输出相同的输出结果,就像今天的计算机可以读取任何程序并执行它一样。
1945 年,美籍匈牙利数学家、计算机科学家、物理学家约翰・冯・诺依曼提出了一种计算机架构 —— 即冯・诺依曼架构,它使得通用图灵机概念变为现实生活中的机器成为可能。
当普林斯顿大学理论计算机科学家 Sanjeev Arora 教授这个概念时,他强调了更广泛的哲学描绘。他表示,「通用(universal)有两种概念,一个是它可以运行任何其他图灵机。,但另一个更大的概念是它可以运行你在宇宙中想出的任何计算。」在经典物理学世界中,任何物理过程都可以使用算法进行建模或模拟,而算法又可以由图灵机进行模拟。
另一个值得关注且越来越有用的变体是概率图灵机。与对每个输入都有定义明确回应的常规图灵机不同,概率图灵机可以根据概率做出多种回应。这意味着它可以在不同的时间点对相同的输入产出不同的结果。另外出人意料的是,对于某些问题,这种概率策略比纯粹的确定性方法更有效。概率图灵机的概念已被证明在优化和机器学习等领域非常有用。
这些抽象机器也许是最好的证据,证明提出基本问题可能是科学家能够做的最有用的事情之一。
以上是「从未被制造出的最重要机器」,艾伦·图灵及图灵机那些事的详细内容。更多信息请关注PHP中文网其他相关文章!

由于AI的快速整合而加剧了工作场所的迅速危机危机,要求战略转变以外的增量调整。 WTI的调查结果强调了这一点:68%的员工在工作量上挣扎,导致BUR

约翰·塞尔(John Searle)的中国房间论点:对AI理解的挑战 Searle的思想实验直接质疑人工智能是否可以真正理解语言或具有真正意识。 想象一个人,对下巴一无所知

与西方同行相比,中国的科技巨头在AI开发方面的课程不同。 他们不专注于技术基准和API集成,而是优先考虑“屏幕感知” AI助手 - AI T

MCP:赋能AI系统访问外部工具 模型上下文协议(MCP)让AI应用能够通过标准化接口与外部工具和数据源交互。由Anthropic开发并得到主要AI提供商的支持,MCP允许语言模型和智能体发现可用工具并使用合适的参数调用它们。然而,实施MCP服务器存在一些挑战,包括环境冲突、安全漏洞以及跨平台行为不一致。 Forbes文章《Anthropic的模型上下文协议是AI智能体发展的一大步》作者:Janakiram MSVDocker通过容器化解决了这些问题。基于Docker Hub基础设施构建的Doc

有远见的企业家采用的六种策略,他们利用尖端技术和精明的商业敏锐度来创造高利润的可扩展公司,同时保持控制权。本指南是针对有抱负的企业家的,旨在建立一个

Google Photos的新型Ultra HDR工具:改变图像增强的游戏规则 Google Photos推出了一个功能强大的Ultra HDR转换工具,将标准照片转换为充满活力的高动态范围图像。这种增强功能受益于摄影师

技术架构解决了新兴的身份验证挑战 代理身份集线器解决了许多组织仅在开始AI代理实施后发现的问题,即传统身份验证方法不是为机器设计的

(注意:Google是我公司的咨询客户,Moor Insights&Strateging。) AI:从实验到企业基金会 Google Cloud Next 2025展示了AI从实验功能到企业技术的核心组成部分的演变,


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

记事本++7.3.1
好用且免费的代码编辑器

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),