图灵机的实际重要性?


27

我是一名电气工程师,而且26年前在大学里只有一门CS课程。但是,我也是Mathematica的忠实用户。

我觉得图灵机在计算机科学中非常重要。重要性仅在计算机科学理论中吗?如果有实际意义/应用,其中有哪些?

Answers:


21

图灵机的重要性是双重的。首先,图灵机是最早的(如果不是一个)计算机理论模型,可以追溯到1936年。第二,考虑到图灵机,已经发展了许多理论计算机科学,因此许多基本结果是用图灵机的语言。原因之一是图灵机很简单,并且易于分析。

也就是说,图灵机不是用于计算的实用模型。作为工程师和Mathematica用户,他们根本不会关心您。即使在理论上的计算机科学界中,在算法和数据结构领域中也使用了更现实的RAM机器。

实际上,从复杂性理论的角度来看,图灵机在多项式上等同于许多其他机器模型,因此可以根据这些模型等效地定义P和NP等复杂性类。(其他复杂度级别则更为精细。)


11

图灵机是早期的计算模型之一,也就是说,当人们对计算本身了解得不多时(大约在1940年),便开发了它们。我想关注两个方面(可以说)使它们成为当时的首选模型,这导致它们成为最成熟的模型,因此最终成为标准模型。

  1. 证明的简单性从
    理论上讲,图灵机具有“简单”的魅力,即当前的机器状态只有恒定的大小。确定下一台机器状态所需的所有信息是一个符号和一个(控制)状态号。机器状态的变化同样很小,仅增加了机器头部的运动。这极大地简化了(正式)证明,尤其是要区分的案件数量。

    将这方面与RAM模型进行比较(如果不以其极简形式使用):下一个操作可以是几种操作中的任何一种,它们可以访问任何(两个)寄存器。还有多种控制结构。

  2. 运行时和空间使用情况
    (仅有)与Turing Machines几乎同时出现的两个主要计算模型,即Church的演算和Kleene的 mu-递归函数。他们回答了图灵所做的相同问题-希尔伯特的Entscheidungsproblem问题 -但很难(如果有的话)很容易地定义运行时和空间使用情况。从某种意义上说,他们是过于抽象因此被涉及到更真实的机型。λμ

    但是,对于图灵机,这两个概念都很容易定义(如果我没记错的话,这是图灵在其模型的第一篇论文中)。由于对效率的考虑很快对实际操作非常重要,因此这是图灵机的绝对优势。

因此,已经建立图灵机作为计算模型,可以将其视为历史“事故”及其某些关键属性的组合。然而,自那时以来已经定义并大量使用了许多模型,特别是为了克服图灵机的缺点。例如,他们对于“编程”(即定义)很乏味。

我在实践中不知道有任何直接应用。特别是,计算实践与计算理论并行(并且一开始主要独立于计算理论)而发展。编程语言是在没有正式机器模型的情况下开发的。但是,很明显(事后看来),理论上在计算实践中取得了许多进步。

此外,请记住,应该通过考虑所有后代来衡量理论概念对实践所具有的价值,即,后续工作,结果和该概念可能带来的新思想。在这方面,我认为可以说图灵机(以及其他机器)的概念彻底改变了世界。


4

我可以想到的唯一合理可行的应用程序(就您可能实际实现图灵机的意义而言)是证明某种语言具有足够的功能。

如果您正在设计某种编程语言(或任何其他用于计算事物的语言),则可能需要通过实现图灵机来确保它是图灵完备的(即,能够计算任何可计算的东西)在里面。

当然,您也可以实现图灵完备的任何其他功能(例如C或组合逻辑),但有时图灵机是最简单的选择。


-1

图灵机是计算的数学模型。它的好处是:

1.检查可确定性如果TM无法在可计算的时间内解决问题,那么将没有任何算法可以解决该问题(这是无法确定的问题)。

对于一个决策问题,如果对于所有有限长度的输入,其TM在可计数的时间内停止,那么我们可以说该问题可以通过算法在可计数的时间内解决。

2.分类问题 TM有助于将可确定的问题分类为多项式层次结构。

假设我们发现问题是可以确定的。然后目标就变成了我们解决问题的效率。效率是通过步骤数,使用的额外空间,代码长度/ FSM大小来计算的。

3.实用机器的设计和实现算法 TM有助于在其他实际机器中传播算法思想。成功检查1,2个标准后,我们​​可以使用实际的设备/计算机来设计和实现算法。


3
图灵机不允许您“检查可确定性”;他们只是给出可判定性的定义。使用其他计算模型,例如随机访问机器,完全可以对问题进行分类。在Turing机器上运行的算法很少适合于其他机器模型,因为Turing机器算法涉及大量的磁带改组,这是其他地方所没有的。
David Richerby 2013年

TM给出了可确定性的定义。对。要检查可确认性,我们是否不使用TM?“使用其他计算模型完全可以对问题进行分类。” 是的,但是我们也可以使用TM做到这一点。在实施算法时,您必须确定该问题的难度。
Subhankar Ghosal 2014年

-3

图灵机是一种良好的心理锻炼方法,几乎​​没有实际用途。没有一个人没有害处。图灵机的所有应用都是直观的或有宗教性的,因为无法证明或驳斥它们。


2
“图灵机的所有应用都是直观的,或者是宗教问题。”因此,可计算性理论和复杂性理论的整个领域都用十四个词来表示。
David Richerby

这些并非旨在消除这些理论。我只是说图灵机的应用很明显,可以直观地理解,或者需要证明而没有证据。
Valery Gavrilov

“一个宗教问题,因为它们无法得到证明或驳斥。” 嗯什么?我可以做的最慷慨的解释是,您指的是Church-Turing论文,但确实可以证明这一点的每个具体应用(只需经过设计适当的Turing机器的繁琐工作即可;或者,用您喜欢的编程语言编写适当的算法并使用通常的等效方法),CT并不是一种应用程序,它只是简化证明说明的一种方法(并且如果有人严重怀疑它的应用程序,则始终可以提供正式的证明)证明)。
诺亚·施韦伯

而且我也不明白如何“直观地理解”是一个缺点。可以直观地理解所有数学;这是否意味着数学只是一种脑力劳动,几乎没有实际用途?
诺亚·施韦伯
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.