golang 图灵机的实施
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 图灵机的实施相关的知识,希望对你有一定的参考价值。
图灵机有“时间”的概念吗?
【中文标题】图灵机有“时间”的概念吗?【英文标题】:Does a turing machine have the concept of 'time'? 【发布时间】:2012-06-25 06:48:02 【问题描述】:我在本科时学习过基本的图灵机理论。我从未见过任何提及定时图灵机加工。一个例子:一个图灵机,它计算自启动以来经过的秒数。
现代计算机显然有能力做到这一点。因此,计算机的能力是图灵机的超集。是否有一些关于此的文章/数学/文档?或者我的论点在某些时候是错误的?
【问题讨论】:
【参考方案1】:图灵机不使用时间,因为它不需要,它是一个纯粹的计算设备,计算不是时间的推导,但时间是计算的推导。 尽管如此,它是一个机械装置,因此需要时间来制作步骤,所以机器也可以计算这个时间,但这需要另一台修整机来完成。
ps。这是因为熵,时间是从计算中得出的。您可以立即重置计算机,这与熵相反。 所以这就是为什么启动几乎总是比关机花费更长的时间,尤其是在您断开电源的情况下。
【讨论】:
嗯 - 这意味着您正在使用两台图灵机。但是如果你可以用两台图灵机来做,你应该可以只用一台来做。 嗯,我认为它需要一些参考来计算这个时间,因为这可以是一个图灵机在没有条件的情况下每秒执行一步,并更新计数器。另一台机器不能每秒执行一次,因为它可以工作,例如每1/3s,所以它不能测量自己。事实上,它甚至不知道它什么时候会挂起,所以另一台机器会测量时间和它什么时候停止。 ps。图灵机的主要问题是它使用了无限磁带长度的概念。问题是它只是一个理论。就像假设无限光速一样。在实践中,它只是一个概念模型,从实践的角度来看是不完整的。因此,如果磁带将在第 1 次完成,则这次不会打印,并且会像 BSOD 一样失败,并且要获得此值,您将需要另一台机器。【参考方案2】:当然图灵机可以计算时间。
假设你的图灵机每秒走一步。
在图灵机的磁带上写入当前时间(等于设置 BIOS中的时间或从互联网下载)
编辑机器,使其每一步的磁带时间增加 1 秒(等于 主板上的电动“滴答声发生器”增加了 每个滴答声中的 BIOS)
现在你可以把这台图灵机挂在墙上了。每次查看磁带时,您都会看到准确的时间。
但请记住,图灵机使用字母表。计算机使用字母 0,1。图灵机(或计算机)不知道这些零和一是代表字母、数字、图片还是视频。
【讨论】:
车床怎么知道一秒过去了? “知道”是什么意思?我稍微编辑了我的评论。计算机什么都不“知道”。它只是在它的内存(磁带)中有一些“状态”(数据)。【参考方案3】:您可能想阅读informal definition 或者,如果您愿意,可以阅读 Wikipedia 上关于图灵机的 formal defintion
随机搜索我还发现了this,这似乎很有希望。
我认为简而言之,您是对的,计算机比图灵机更方便,但基本上没有设备可以解决一台或多台图灵机无法解决的问题。
【讨论】:
...或通过图灵机集群。以上是关于golang 图灵机的实施的主要内容,如果未能解决你的问题,请参考以下文章