图灵完备是什么意思?

你能不能给出一个简单的解释,而不是过多的理论细节?


当前回答

从根本上讲,图灵完备性是一个简洁的要求,即无界递归。

甚至不受记忆的限制。

我是独立思考的,但这里有一些关于这个论断的讨论。我对LSP的定义提供了更多的上下文。

这里的其他答案并没有直接定义图灵完备性的基本本质。

其他回答

正如韦伦·弗林所说:

图灵完备意味着它至少和图灵机一样强大。

我认为这是不正确的,如果一个系统和图灵机一样强大,那么它就是图灵完备的,即机器所做的每一个计算都可以由系统完成,而且系统所做的每一个计算都可以由图灵机完成。

关系数据库能否输入地点和道路的经度和纬度,并计算它们之间的最短路径?这是一个表明SQL不是图灵完备的问题。

但是c++可以做到,并且可以解决任何问题。事实就是这样。

We call a language Turing-complete if and only if (1) it is decidable by a Turing machine but (2) not by anything less capable than a Turing machine. For instance, the language of palindromes over the alphabet {a, b} is decidable by Turing machines, but also by pushdown automata; so, this language is not Turing-complete. Truly Turing-complete languages - ones that require the full computing power of Turing machines - are pretty rare. Perhaps the language of strings x.y.z where x is a number, y is a Turing-machine and z is an initial tape configuration, and y halts on z in fewer than x! steps - perhaps that qualifies (though it would need to be shown!)

A common imprecise usage confuses Turing-completeness with Turing-equivalence. Turing-equivalence refers to the property of a computational system which can simulate, and which can be simulated by, Turing machines. We might say Java is a Turing-equivalent programming language, for instance, because you can write a Turing-machine simulator in Java, and because you could define a Turing machine that simulates execution of Java programs. According to the Church-Turing thesis, Turing machines can perform any effective computation, so Turing-equivalence means a system is as capable as possible (if the Church-Turing thesis is true!)

图灵等价比真正的图灵完备性更主流;这一点以及“完全”比“等效”短的事实可能解释了为什么“图灵完全”经常被误用为图灵等效,但我离题了。

图灵机要求任何程序 能进行条件测试。这是最基本的。

考虑到一个播放器钢琴卷。钢琴播放器可以 演奏一段非常复杂的音乐, 但是从来没有任何条件逻辑 音乐。它不是图灵完备的。

条件逻辑既是力量也是 图灵完备机器的危险

钢琴的滚动每次都保证会停止。 对于TM来说,没有这样的保证。这 被称为“停止问题”。

我认为“图灵完备”概念的重要性在于能够识别一台计算机(不一定是机械/电气“计算机”),它可以将其过程分解为由越来越简单的指令组成的“简单”指令,通用机可以解释并执行这些指令。

我强烈推荐《注释图灵》

@Mark,我认为你所解释的是通用图灵机和图灵完备的混合描述。

从实际意义上讲,图灵完备指的是一台机器/过程/计算,它可以被编写并表示为程序,由通用机(台式计算机)执行。虽然它不考虑时间或存储,正如其他人所提到的。