Questions tagged «computability»

与可计算性理论(又称为递归理论)有关的问题

4
定点组合器(Y组合器)的清晰直观的推导?
(无类型)lambda演算()中的定点组合器FIX(aka Y组合器)定义为:λλ\lambda FIX≜λf.(λx.f (λy.x x y)) (λx.f (λy.x x y))≜λf.(λx.f (λy.x x y)) (λx.f (λy.x x y))\triangleq \lambda f.(\lambda x. f~(\lambda y. x~x~y))~(\lambda x. f~(\lambda y. x~x~y)) 我了解它的目的,并且可以很好地跟踪其应用程序的执行。我想了解如何从第一原理中得出FIX。 这是我尝试自己导出时所得到的: FIX是一个函数:FIX ≜λ…≜λ…\triangleq \lambda_\ldots FIX使用另一个函数fff使其递归:FIX ≜λf.…≜λf.…\triangleq \lambda f._\ldots 函数f的第一个参数是函数fff的“名称”,用于打算递归应用程序的地方。因此,f的第一个参数的所有出现fff都应由一个函数替换,并且该函数应预期f的其余参数fff(假设f带有fff一个参数):FIX ≜λf.…f (λy.…y)≜λf.…f (λy.…y)\triangleq \lambda f._\ldots f~(\lambda y. _\ldots y) 这是我不知道如何在推理中“迈出一步”的地方。小椭圆表示我的FIX缺少了什么(尽管我只能通过将其与“真实” FIX进行比较来知道)。 我已经阅读了Types and …


7
所有图灵语言是否可以互换
注意,虽然我知道如何编程,但我还是CS理论的初学者。 根据这个答案 图灵完整性是可计算性的抽象概念。如果一种语言是图灵完备的语言,那么它就可以进行任何其他图灵完备的语言可以进行的计算。 并写在任何图灵完备的语言的任何程序可以在另一个被改写。 好。这很有道理。我可以将C转换(编译)为Assembly(并且每天都做!),也可以将Assembly转换为C(您可以使用C编写虚拟机)。同样适用于任何其他语言-您可以将任何一种语言编译为Assembly,然后在用另一种其他语言编写的VM中运行它。 但是,可以任意写在一个图灵完备的语言程序重新编写的另一个? 如果我的部件具有LIGHTBUTTON操作码怎么办?在没有灯泡的情况下,我实际上无法在系统(语言)上模拟该语言。 好。因此,您会说,由于我们正在处理计算机理论,因此我们不在讨论物理设备限制。 但是,没有乘法的设备呢?师?据我所知(尽管这更多是关于math.SE的问题),无法模拟加法和减法的乘法(绝对不是除法)[1]。 那么,“图灵完整语言”(可以添加,减去和跳转)如何模仿另一种可以添加,减去,乘法和跳转的语言呢? 编辑 [1]。关于任意实数。

4
暂停问题的不确定性证明
我无法理解暂停问题无法确定的证据。 如果返回是否该程序输入暂停,为什么我们要通过的代码两个和?a b P a bH(a ,b )H(一种,b)H(a,b)一种一种abbbPPP一种一种abbb 为什么我们不能用和任意输入给?H()H()H()PPPXXx

5
为什么NP中没有这个无法确定的问题?
显然,NP中没有任何无法确定的问题。但是,根据维基百科: NP是所有决策问题的集合,对于这些问题,答案为“是”的实例具有[..证明]可通过确定性图灵机在多项式时间内验证。 [...] 当且仅当存在在多项式时间内执行的问题的验证者时,才认为问题出在NP中。 现在考虑以下问题: 给定Diophantine方程,它有没有整数解? 给定一个解决方案,很容易在多项式时间内验证它确实是一个解决方案:只需将数字插入方程式即可。因此,问题出在NP。然而,众所周知,解决这个问题还不确定! (类似地,似乎暂停问题应该在NP中,因为“该程序在第N步停止”的“是”解决方案可以在N步中得到验证。) 显然我的理解有问题,但这是什么?


4
忙碌的海狸是人类已知增长最快的功能吗?
此问题是从理论计算机科学堆栈交换迁移而来的,因为可以在计算机科学堆栈交换上回答。 迁移 7年前。 我只是有一个有趣的问题。人类已知的增长最快的功能是什么?它是忙海狸? 我们知道函数,但是此函数的增长速度比慢,而增长速度又慢于,其增长速度比慢。然后,我们可以组合函数,得到比增长更快,依此类推。X2x2x^22X2X2^xX !X!x!XXXXx^x(xX)!(XX)!(x^x)!XXXXx^x 然后我们得出递归函数,例如Ackermann函数,其增长速度比快得多。然后人们对繁忙的海狸函数的了解甚至比阿克曼函数的增长还要快。A(x,x)A(x,x)A(x,x)(xx)!(xx)!(x^x)!B(x)B(x)B(x) 在这一点上,我还没有听说过其他功能比忙碌的海狸更快的功能。这是否意味着没有其他功能可以比忙碌的海狸更快地成长?(除了阶乘外,像等)B(x)B(x)B(x)A(B(x),B(x))A(B(x),B(x))A(B(x), B(x))

4
为什么可计算函数也称为递归函数?
在可计算性理论中,可计算函数也称为递归函数。至少乍一看,它们与您在日常编程中所谓的“递归”(即调用自身的函数)没有任何共同之处。 在可计算性方面,递归的实际含义是什么?为什么将这些函数称为“递归”? 换句话说:“递归”的两种含义之间有什么联系?

6
解决图灵“停顿问题”的算法
此问题是从理论计算机科学堆栈交换迁移而来的,因为可以在计算机科学堆栈交换上回答。 迁移 7年前。 “ Alan Turing于1936年证明,不存在解决所有可能的程序输入对暂停问题的通用算法” 我是否可以找到一种通用算法来解决某些可能的程序输入对的暂停问题? 我是否可以找到一种或多种编程语言,对于每种使用该语言的程序,我都可以决定该程序是否终止或永远运行?

5
为什么图灵功能语言完整?
也许我对这个主题的有限理解是错误的,但这是我到目前为止所了解的: 函数式编程基于Alonzo Church制定的Lambda微积分。 命令式编程基于教会学生Alan Turing制作的Turing机器模型。 Lambda演算的功能和图灵机一样强大, 这意味着它们的计算能力相当。 如果函数式编程基于Lambda演算而不是Turing机器,那么为什么其中某些(或全部)描述为Turing完整,而不是Lambda完整或类似的东西?“图灵完备性”一词在图灵机上是否有任何特殊之处,还是仅此一个词? 最后,如果命令式语言基于Turing Machine,而计算机基本上是Turing计算机,没有无限的内存,这是否意味着它们在我们现代PC上的性能优于功能编程语言? 如果是这样的话,那么lambda演算机器的等效条件是什么? 我知道这似乎是3个独立的问题,但它们都是紧密相关的,并且每个问题都取决于前一个问题是否是有效的问题。

3
逼近Kolmogorov复杂度
我研究了有关Kolmogorov复杂性的内容,阅读了Vitanyi和Li的一些文章和书籍,并使用归一化压缩距离的概念来验证作者的脚步法(通过它们的相似性来确定每个作者如何写一些文本和组文档)。 在那种情况下,由于数据压缩器可以用作图灵机,因此使用数据压缩器来近似Kolmogorov复杂度。 除了数据压缩和编程语言(您将使用其中编写某种压缩器)之外,还可以使用其他什么方法来近似Kolmogorov复杂度?还有其他方法可以使用吗?


2
是否有一种“自然的”不确定的语言?
是否有任何无法确定的“自然”语言? “自然”是指直接由字符串属性定义的语言,而不是通过机器及其等效语言定义的语言。换句话说,如果语言看起来像 其中,中号是TM,DFA(或普通EXP),PDA(或语法),等,然后大号是不自然的。然而大号= { X Ÿ ... | X 是Y的前缀... }是很自然的。大号= { ⟨ 中号⟩ | ... }大号={⟨中号⟩∣…} L = \{ \langle M \rangle \mid \ldots \}中号中号M大号大号L L = { x y... | X 是Y的前缀... }大号={Xÿ…∣X 是y的前缀…}L = \{xy \ldots \mid x \text{ is a prefix of y} \ldots \}

5
可以通过转义更高级的计算描述来“解决”停止问题吗?
我最近听到一个有趣的类比,其中指出图灵关于停顿问题的不确定性的证明与拉塞尔的理发师悖论非常相似。 所以我想知道:数学家最终确实设法通过从Cantor朴素的领域表述过渡到更复杂的公理系统(ZFC集合论)(在此过程中进行了重要的排除(约束)和加法)使集合论保持一致。 因此,也许有可能尝试并提出一种比图灵机更强大,更具表现力的通用计算的抽象描述,通过这种抽象描述,既可以得到存在的证明,甚至可以找到一种算法来解决以下问题:一台任意的图灵机?

1
无上下文语言的机器,不会因不确定性而获得额外的功能
考虑计算的机器模型时,Chomsky层次结构通常由(按顺序),有限自动机,下推自动机,线性界自动机和图灵机来表征。 对于第一个和最后一个级别1(常规语言和递归可枚举语言),无论我们考虑确定性机器还是非确定性机器,即DFA等同于NFA,DTM等同于NTM 2,对模型的功能都没有影响。 但是对于PDA和LBA,情况则有所不同。与非确定性PDA相比,确定性PDA识别的语言严格更少。确定性LBA是否与非确定性LBA一样强大,这也是一个重大的开放性问题[1]。 这提示了我的问题: 是否存在一种可以描述上下文无关语言的机器模型,但对于非确定性而言,机器模型没有额外的功能吗?(如果没有,那么CFL是否具有某些特性可以说明其原因?) (对我而言)似乎不太可能证明无上下文语言以某种方式需要非确定性,但是似乎没有(确定的)确定性机器足以满足要求的机器模型。 扩展问题是相同的,但是对于上下文相关的语言。 参考文献 S.-Y. Kuroda,“语言和线性绑定自动机的类”,信息与控制,7:207-223,1964。 脚注 意见的补充问题是,乔姆斯基层次结构的级别(按集合包含排序)是否为3到0而不是0到3? 明确地说,我说的是只能识别的语言。显然,复杂性问题会受到这种变化的根本影响。

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.