虎扑-热帖 04月12日 11:36
图灵机是什么?
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入探讨了算法的本质及其在计算机科学中的核心地位。文章首先定义了算法,强调了其确定性和有穷性。随后,介绍了计算机的三个关键要素:存储装置、基本运算和控制单元,并阐述了程序存储的演进。核心部分详细阐述了图灵机的概念,将其定义为一种机械计算模型,并解释了其工作原理和组成部分。文章强调了图灵机在理解计算本质和推动计算机科学发展中的重要作用,并探讨了图灵机的工作机制,包括状态、纸带、扫描和动作等。通过对图灵机的分析,揭示了算法的机械性和可实现性,为理解现代计算机的运作提供了基础。

🤔 **算法的定义与特征**: 算法被定义为一组有穷的规则,它精确地指导我们解决特定问题。算法具有确定性,即每一步操作都是明确的;同时,算法也具有有穷性,即在有限的步骤内结束。

💡 **计算机的基本要素**: 计算机由三个关键要素构成:存储装置用于存储数据;运算单元执行基本运算;控制单元则根据程序执行指令,控制计算步骤。自动计算机通过增加存储单元和控制单元,实现了程序存储,从而提高了灵活性。

⚙️ **图灵机的核心概念**: 图灵机是一种理论上的计算模型,由状态、无限长的纸带、读写头组成。图灵机通过读取纸带上的符号,根据当前状态执行操作,包括改变纸带内容、移动读写头或改变状态,最终实现计算。

🔄 **图灵机的工作机制**: 图灵机在每个时刻扫描纸带上的一个方格,并根据当前状态和扫描到的符号决定下一步操作。这些操作包括改变方格内容、移动纸带或改变机器状态。图灵机通过重复这些操作,最终产生输出或停机。

🌟 **图灵机的重要性**: 图灵机提供了一种理解计算本质的框架,它揭示了算法的机械性和可实现性。图灵机的概念为计算机科学的发展奠定了基础,并为现代计算机的设计和发展提供了理论支撑。

一个算法就是一个有穷的规则集,它精确地告诉我们,对于给定的一类问题,这一刻到下一刻该做什么。给定一个用来求解K类问题的算法和属于K的一个问题,任何人都能够求解这个问题,只要他能执行该算法所要求的操作,准确地遵守那些给定的规则。

在执行一个算法时,人类计算者使用一些数据,包括该算法的指令,这些数据部分地储存在他的记忆中,但更多地是写在纸上或印在参考图表上。有(a)某种存储装置来储存初始数据和居间结果。他还要执行(b)某些基本运算。他(c)通过查阅指令来决定下一步做什么,从而控制步骤序列。

在这三个要素中,(b)是最易于机械化的。台式计算器的引入已经将这方面工作的很大一部分交给了机器。自动(排序)计算机所做的是,增加(1)一个存储单元以存储信息,以及(3)一个控制单元以根据作为算法之实现的一个程序来执行指令。台式计算器被(2)一个运算单元取代,它与(1)和(3)集成在一起。起初程序是由外部通过插接板提供的,因此无法指示机器对程序进行修改以增加灵活性。但很快机器就开始拥有“存储式程序”,使得程序成为初始数据的一部分,并且可以巧妙地编写一个程序来指示机器自动完成多个程序的工作。

如果我们考虑一个人在一张纸(假设它被划分成一些方格)上做计算,该过程涉及如下几件事:(1)一种存储媒介,即那张纸;(2)一种语言,它具有表示数字和方向的符号,假定它们被写在了那张纸上;(3)被察看区域,即每个时刻被观察的一些方格;(4)“心灵状态”,即那名计算者在每个阶段都记录计算到达的阶段,并决定下一步做什么;(5)进行下一步计算的行为,它可能涉及(a)通过写下或擦除一些符号而进行的符号上的改变,(b)被察看区域的改变,(c)“心灵状态”的改变。

要使得该过程是机械的,即能被一台机器执行,或以机械的(非创造性的)方式被一个人执行,其原因可以概括为如下两个原则:A确定性原则;B有穷性原则。

根据确定性原则,在决定下一步做什么时,唯一相关的信息是当前在被察看区域观察到的符号和当前的“心灵状态”。我们可以把当前“心灵状态”设想为一种严格的、有条件的态度,即准备好做出某些特定的行为,这些行为完全取决于当前在纸上所观察到的符号。

根据有穷性原则,心灵在每个时刻只能储存和感知有穷多不同的项,这些项的数量有固定的有穷上界。每个时刻可感知项数的上界非常小,而可存储项数的上界则十分大,但相信存在这种上界仍然是合理的。由这一原则立即可得,计算者在每个时刻只能察看有穷多的方格。需要考虑的心灵状态的数量也是有穷的。可打印符号的数目也是有穷的。

计算在每一步所执行的操作涉及三类变化:心灵状态,写在计算表上的符号,以及观察区域。我们暂时假定,每次操作只进行这三种改变中的一种。

我们可以绘制在一个给定的算法下的计算的一个机械模型。每个心灵状态对应着机器的一种“配置”或状态。机器在每个时刻扫描B个方格。在每次操作中,机器可以改变其配置,或在另一个方格里改变符号,或改变所扫描区域到L个方格以内的另一个区域。把B和L限制为1并让机器在一条线状纸带上工作,无损于一般性。因此仅有的可变要素是可用符号数(字母表的大小)和状态数。我们可以通过扩充字母表来减少状态数,通过增加状态数来缩小字母表。

图灵机的定义如下。每台图灵机可以处于一个固定、有穷的状态表中的任何一个状态。它配有一张双向(潜在地)无穷的长纸带。纸带划分为一个个方格,每个方格可记写一个符号,不失一般性,可以规定方格只有空白和有标记(一次性固定下来)两种内容样态。纸带会在图灵机前经过,每个时刻,图灵机只能扫描一个方格,并处于一个给定的状态。每个时刻图灵机所扫描方格的内容(空白或有标记)和机器所处的状态,决定了该图灵机的当前配置。当前配置则决定机器要做出(或执行)什么动作(或原子行为):改变被扫描方格的内容,或变换被扫描方格为其左侧或右侧的相邻方格(通过移动纸带或机器实现),或转变机器的当前状态为另一状态,或停机。机器从任意初始的状态和被扫描的方格开始;初始的纸带(输入)可以包含任意有标记方格和空白方格的组合,尽管通常我们假定初始纸带只包含有穷多的有标记方格。一旦启动,机器应根据其在每个阶段的当前配置进行动作。如果它一直没有机会做出“停机”的动作,它就得一直运行下去。如果机器停机了,那时纸带的内容一般称为输出。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

算法 图灵机 计算机科学 计算模型
相关文章