【问题标题】:Mapping of natural and recognizable languages in a finite Turing Machine有限图灵机中自然语言和可识别语言的映射
【发布时间】:2011-01-31 06:51:17
【问题描述】:

我一直在努力寻找这个理论问题的答案,即使它不是直接的编程问题,我相信它确实相关。

假设一种图灵机不能超过 1000 个方格。这类可识别语言的集合与正常可识别语言的集合之间是什么关系。

【问题讨论】:

  • 我尽我所能理解编辑中的问题,但我仍然不确定......

标签: mapping theory turing-machines state-machine


【解决方案1】:

如果我正确理解您的问题,您说的是图灵式机器,其磁带仅限于最终字母表的某些恒定长度(在您的问题 1000 中)元素。磁带的长度不取决于输入大小(线性有界自动机就是这种情况)。

  • 在这种情况下,磁带可以表示的状态数是恒定的。更具体地说,如果磁带的长度是 T,字母表的大小是 A,那么磁带只能编码 AT 状态。

  • 另外,图灵机有一些内部状态(假设这些状态的数量是S)。在每一点机器都有一些内部状态和磁带的一些状态,因此我们可以使用普通的有限状态机来模拟具有恒定长度磁带的图灵机。

  • 要构造有限状态机,您需要获取有限图灵机的所有可能状态。这是机器内部状态(有 S 个)和磁带状态(AT 个)的组合,所以你最终得到一个具有 S*AT 状态的有限状态机。这是相当多的,但理论上我们并不关心 - 它是一个常数。

所以,我的回答是,您有限的恒定磁带图灵机可以识别与有限状态机相同的语言。

【讨论】:

  • 很好的答案,但是如果磁带的长度是 T,字母表的大小是 A,那么磁带可以编码的状态数是 A ^ T,而不是 T * A。它没有与参数无关,因为它仍然是有限的,因此自动机只能识别正则表达式。
  • @David Thornley:你是对的 - 感谢您的更正!我会修复答案。
  • 普通的图灵机不能识别有限状态机的语言?
  • @Hellnar:不,例如,一种语言包含所有由 n 次 0 后跟 n 次 1 组成的单词(例如 010011000111、... ) 无法被有限状态机识别。您需要以某种方式表示数字 n,但使用有限数量的状态是不可能的。这可以通过图灵机来完成(例如通过在读取零时标记磁带的 n 个单元)。
【解决方案2】:

直观地说,我认为您有限的机器可以识别图灵可识别语言的严格子集。为了证明这一点,您需要构建一种图灵可识别的语言,以便识别该语言的最高效图灵机在其磁带上需要超过 1000 个位置。

【讨论】:

  • 简单的例子:如果自动机有 N 个符号和 M 个状态,则一种语言由 (N ^ 1000) * M + 1 个符号的所有非空白序列组成。
【解决方案3】:

根据定义,具有非无限带(对于相当小的无穷大值)的“类图灵机”不是“图灵机”。

在实践中,这样一台有限的机器很难计算任何感兴趣的函数。

【讨论】:

  • 您的意思是,例如我们今天所知道的计算机? (也没有无限的内存:-))
  • @Johannes:计算机通常拥有超过 1K 的内存已经很长时间了,并且通常比图灵机对磁带单元的使用效率更高。
  • @Johannes 因此是“对于相当小的无穷大值”;)。但大卫坚持了下来。
  • @Johannes:是的,实际上所有计算机实际上都是 DFA。它们具有有限的内存,因此具有有限数量的状态。我们假装它们有无限(或至少“足够”)内存,因此我们可以假装它们图灵完备,这仅仅是因为我们不需要匹配长度为 100 亿的字符串的括号.
【解决方案4】:

我认为您所描述的更接近Linear Bounded Automoton,而不是图灵机。 LBA 可以识别上下文相关的语言。

【讨论】:

  • 我不这么认为——对于 LBA,磁带的长度是初始输入长度的线性函数。然而在这个问题中,输入是一个常数(这进一步限制了表达能力)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-29
  • 1970-01-01
  • 2017-01-11
  • 1970-01-01
  • 1970-01-01
  • 2020-07-07
  • 1970-01-01
相关资源
最近更新 更多