Questions tagged «turing-machines»

图灵机是计算的基本模型,尤其是在理论工作中。


2
可实现性理论:Lambda微积分和图灵机之间的功率差异
我有三个相关的子问题,下面由要点突出显示(不,如果您想知道的话,不能将它们拆分)。安德烈·鲍尔(Andrej Bauer)在这里写道,某些功能可以通过图灵机实现,而不是通过lambda微积分实现。他推理的关键步骤是: 但是,如果使用lambda演算,则[c]程序应该从表示函数f的lambda项中计算出一个表示Turing机的数字。这是不可能做到的(如果您将其作为一个单独的问题来问,我可以解释为什么)。 我想查看解释/非正式证明。 我在这里看不到如何应用莱斯定理。因为将谓词应用于等效项会产生相同的结果,因此它适用于“此吐鲁吐机T和该λ项L是否相等?”的问题。但是,所需的函数可能针对不同但等效的λ项计算不同但等效的TM。 而且,如果问题在于反省lambda项,我认为传递lambda项的Gödel编码也是可以接受的,不是吗? 一方面,鉴于他的示例涉及到在lambda演算中计算图灵机完成给定任务所需的步骤数,所以我并不感到惊讶。 但是,由于lambda演算无法解决与Turing机相关的问题,因此我想知道是否可以为lambda演算定义一个类似的问题,并证明它不适用于Turing机,或者实际上在支持上存在差异图灵机(这会让我感到惊讶)。

5
采用图灵机作为计算的主要模型的历史原因。
据我了解,图灵的模型已成为描述计算的“标准”。我想知道为什么会这样-也就是说,为什么TM模型比其他理论上等效的(据我所知)模型(例如Kleene的μ递归或Lambda微积分(我理解)前者直到后来才出现,而后者最初并不是专门为计算模型而设计的,但这表明从一开始就存在替代方案。 我能想到的是,TM模型比其替代品更能代表我们实际拥有的计算机。这是唯一原因吗?

10
真实计算机只有有限数量的状态,那么图灵机与真实计算机有什么关系?
实际计算机的内存有限,并且状态数量有限。因此,它们本质上是有限自动机。为什么理论计算机科学家会使用图灵机(和其他等效模型)来研究计算机?关于真实计算机研究这些更强大的模型有什么意义?为什么有限自动机模型不够用?

2
单带图灵机字母
可以每个函数是在时间可计算吨在单个磁带使用尺寸的字母表图灵机ķ = Ö (1 )在时间上计算Ô (吨)上单带图灵机使用尺寸的字母表3(比方说,0 ,1 ,和空白)?F:{ 0 ,1 }∗→ { 0 ,1 }f:{0,1}∗→{0,1}f : \{0,1\}^* \to \{0,1\}Ťttk = O (1 )k=O(1)k = O(1)O (吨)O(t)O(t)3330 ,1 ,0,1,0,1, (从由OP下面的注释)注意输入利用被写入,但使用大小字母图灵机ķ可以从较大的字母符号覆盖输入符号。我看不到如何在较小的字母中将符号编码为较大的字母而不必将输入移位,这将花费时间n 2。0 ,10,10,1ķkkñ2n2n^2

7
真正的随机数生成器:图灵可计算吗?
我正在寻找一个确定的答案,即“真正随机”数的生成是否是图灵可计算的。我不知道该怎么说。 关于“用于生成随机数的有效算法”的StackExchange问​​题几乎可以回答我的问题。查尔斯·斯图尔特(Charles Stewart)在回答中说:“ [马丁·洛夫随机性]不能由机器产生。” 罗斯·斯尼德(Ross Snider)表示:“任何确定性过程(例如图灵/套准机)都不能产生“哲学”或“真实”随机数。” 关于什么才是真正的随机数生成器,是否有一个明确的公认概念?如果是这样,是否知道它不能由图灵机计算? 也许将我指向相关文献就足够了。感谢您的任何帮助,您可以提供! 编辑。感谢Ian和Aaron的丰富知识!我在这方面没有受过教育,因此我很感谢您的协助。如果我可以在此附录中稍微扩展一下这个问题:是一种可以访问纯随机性源(TM)的TM可以计算传统TM无法实现的函数吗?

7
Church-Turing论文在交互式计算模型中的适用性
保罗·韦格纳(Paul Wegner)和狄娜·高丁(Dina Goldin)十多年来一直在发表论文和书籍,主要论证的是“ Church-Turing”论题在CS理论界和其他地方常常被歪曲。就是说,它实际上涵盖了所有计算,而实际上仅适用于函数计算,这是所有计算的很小一部分。相反,他们建议我们应该尝试对交互式计算进行建模,其中在计算过程中会与外界进行通信。 我对这项工作的唯一评论是在Lambda Ultimate论坛中,有人对这些作者不断发表的东西表示感叹。那么我的问题是,对这种思维方式,尤其是他们的持久性图灵机,是否还有更多的批评。如果没有,那为什么它似乎研究得很少(我可能会误会)。最后,普遍性的概念如何转化为互动领域。

3
通过Lambda微积分解释P和NP类
在介绍和解释中,P和NP复杂度等级通常通过Turing机器给出。计算模型之一是lambda演算。我知道,所有计算模型都是等效的(如果我们可以用图灵机来介绍任何东西,我们可以用任何计算模型来介绍),但是我从未见过通过lambda演算来解释P和NP复杂度类的想法。 。任何人都可以在没有Turing机器并且仅以lambda演算作为计算模型的情况下解释P和NP复杂度概念。

3
图灵机限制使暂停决定
如果将图灵机限制为有限的磁带(即使用有界空间),则停止问题是可以确定的,这主要是因为经过了许多步骤(可以从状态,的数量以及字母大小),必须重复配置。Q 小号小号SS问QQ小号SS 是否有其他自然的图灵机限制使停止决定可行? 当然,如果状态转换图没有循环或周期,则可以确定停止。还有其他吗?

6
最简单的无争议两态通用图灵机是什么?
我想在纸牌游戏规则中编码一个简单的图灵机。我想使它成为通用的图灵机,以证明图灵的完整性。 到目前为止,我已经创建了一个游戏状态,该状态对Alex Smith的2状态,3符号图灵机进行了编码。但是,似乎(基于维基百科)似乎对(2,3)机器是否真正通用存在一些争议。 为了严格起见,我希望我的证明具有“无争议”的UTM。所以我的问题是: (2,3)机器通常被认为是通用的,非通用的或有争议的吗?我不知道在哪里可以找到理想的答案。 如果(2,3)机器没有被普遍接受为通用,那么最小的N是多少,使得(2,N)机器毫无争议地被接受为通用? 编辑添加:了解碰到的机器对无限磁带的任何要求也很有用。看来(2,3)机器要求的磁带初始状态是非周期性的,这在纸牌游戏规则中很难模拟。

4
概率图灵机能否解决停机问题?
拥有无限个真正随机比特流的计算机比没有计算机的计算机更强大。问题是:它足以解决暂停问题吗? 也就是说,概率计算机可以确定确定性程序是否暂停? 概率计算机无法完成确定性操作的示例:考虑一个小的程序(长度小于一千字节),该程序输出的字符串的Kolmogorov复杂度大于千兆字节。该柯尔莫哥洛夫复杂性字符串的长度是产生该字符串的最短确定性程序的长度。因此,根据定义,确定性程序无法生成复杂度大于其自身长度的字符串。但是,如果给定无限量的真正随机比特流,那么一个小型程序就可以通过简单地回声(例如100亿个随机比特)并希望这些比特的Kolmogorov复杂度足够高来成功完成99.99999 ...%的任务。因此,产生一串优越的Kolmogorov复杂度在概率程序的可能性范围之内,但对于确定性程序则根本不可能。 就是说,我想知道是否有可能使用真正的随机位来对停顿问题进行钢锯。例如,一种算法可能会随机生成定理并证明/证明/放弃它们,直到它知道足以证明/证明给定的确定性程序停止为止。

1
无法有效计算但可学习的功能
我们知道(例如,参见[1]的定理1和定理3),粗略地说,在适当的条件下,可以由多项式神经网络表示可以由图灵机在多项式时间内有效计算的函数(“有效可计算”)。具有合理的大小,因此可以在任何输入分布下以多项式样本复杂度(“可学习的”)来学习。 此处的“可学习的”仅涉及样本复杂度,而与计算复杂度无关。 我想知道一个非常相关的问题:是否存在一个图灵机无法在多项式时间内有效计算的函数(“无法有效计算”),但同时可以通过多项式样本复杂度来学习(“可学习”)在任何输入分布下? [1] Roi Livni,Shai Shalev-Shwartz,Ohad Shamir,“ 关于训练神经网络的计算效率 ”,2014年

2
系统F无法计算哪些功能?
在有关图灵完整性的维基百科文章中,它指出: 未类型化的lambda演算是图灵完备的,但包括系统F在内的许多类型的lambda演算不是。类型化系统的价值在于它们能够代表最典型的计算机程序并同时检测更多错误。 系统F无法计算的总可计算函数的示例是什么? 另外,由于hindley-milner是: 系统F的限制 由于以下事实: 类型检查对于System F的Curry样式变体是不确定的,也就是说,缺少显式的键入注释。 这是否意味着在Hindley-Milner类型系统下的lambda演算还没有完全完善? 如果是这样,由于haskell显然是图灵完成的,并且我们知道它是lambda演算和hindley-milner类型系统的基础,因此为了使haskell图灵完成,添加了lambda演算中不存在的哪些功能?

1
是否有适用于TCS定理的合理的自动证明系统?
假设我想形式化图灵关于暂停问题的证明,以便机器可以对其进行检查。一些著名的自动定理证明系统包括Mizar,Coq和HOL4。我下载了Coq并进行了实验,但是它没有用于Turing机器的库。我本来想自己编写代码,但发现该教程缺乏,而且语言难以掌握。 我的问题是:是否有一个自动定理证明者,通常能很好地证明涉及图灵机的定理?如果可以使用已经存在的库来形式化证明停止问题的不确定性的证明,那么我将认为这样的一个定理证明者“很好”。如果相对容易拿起它,我会认为更好。(据记录,我通常不会遇到编程语言方面的困难。) 谢谢, 菲利浦

6
C实现的最大计算能力
如果我们按照本书(或您愿意的话,可以选择其他任何语言规范版本)进行阅读,那么C实现可以具有多少计算能力? 请注意,“ C实现”具有技术含义:它是C编程语言规范的特定实例,其中记录了实现定义的行为。AC实施不必一定可以在实际计算机上运行。它确实必须实现整个语言,包括每个具有位字符串表示形式的对象和具有实现定义的大小的类型。 出于此问题的目的,没有外部存储。您可能执行的唯一输入/输出是getchar(读取程序输入)和putchar(写入程序输出)。同样,任何调用未定义行为的程序都是无效的:有效程序的行为必须由C规范以及附录J中列出的实现定义的行为的实现描述(对于C99)进行定义。请注意,标准中未提及的调用库函数是未定义的行为。 我最初的反应是,C实现只不过是有限的自动机,因为它对可寻址内存的数量有限制(您不能寻址的存储sizeof(char*) * CHAR_BIT位数更多,因为存储时不同的内存地址必须具有不同的位模式)在字节指针中)。 但是,我认为实现不仅仅可以做到这一点。据我所知,该标准对递归的深度没有限制。因此,您可以根据需要进行任意数量的递归函数调用,只有有限数量的调用中的所有调用都必须使用不可寻址(register)参数。因此,允许任意递归并且对register对象数量没有限制的C实现可以编码确定性下推自动机。 它是否正确?您能找到更强大的C实现吗?是否存在图灵完备的C实现?

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.