学习计算模型的好资源?

时间:2010-01-12 07:30:19

标签: computer-science grammar finite-automata automata computation-theory

出于好奇,我试图确定我使用的系统的计算模型在功能上是等价的,并证明了等价性。我花在这个问题上的时间越长,我越怀疑系统不是图灵相当的。我对图灵机和递归可枚举语言的理解是好的,但我不太了解具有较小功能的自动机(例如下推自动机),所以我不知道如何继续。

首先,任何人都可以推荐一个很好的资源来学习不同的计算模型吗?我对语法,语言和自动机感兴趣,以及如何证明它们之间的等价和差异。理想情况下,资源会详细分解每个模型的所有元素并进行比较。

第二,在尝试将系统安装到任何这些计算模型时,是否应该使用一般方法或框架?

3 个答案:

答案 0 :(得分:3)

以下链接的视频讲座很好地介绍了计算理论。这是该主题的最佳资源之一。

Video Lectures on Theory of Computation by Prof. Shai Simonson

答案 1 :(得分:2)

我推荐一本关于计算机科学的优秀教科书(在我的Uni课程中,我是从Sipser's Introduction to the Theory of Computation学习的,这在我看来非常好。你可能还会找到一本free textbook教授同样的,但我没有任何经验,所以我不能推荐)。

另一种方法可能只是阅读维基百科。如果你知道你在寻找什么以及以什么顺序,你可以从维基百科文章中获得很多里程。此外,如果有任何不清楚的地方,您通常可以谷歌搜索并找到有关该特定主题的更多资源。

当然,这将与真正的教科书一样好,但它现在是开始的好地方,它是免费的。

作为一个起点,我建议您阅读以下主题(按所列顺序):

  1. Deterministic Finite Automaton
  2. Nondeterministic Finite Automaton,以及它们与DFA的等效性。
  3. Regular Languages,以及它们与DFA的等效性。
  4. Pushdown Automata
  5. Context-free Grammars,以及它们与Pushdown Automata的等效性。
  6. Chomsky Hierarchy
  7. Turing Machines
  8. 这应该提供人们谈论的大多数计算模型的简要介绍。   2:我推荐一本关于计算机科学的优秀教科书(在我的Uni课程中,我是从Sipser's Introduction to the Theory of Computation学习的,这在我看来非常好)。另一种方法可能只是阅读维基百科。如果你知道你在寻找什么以及以什么顺序,你可以从维基百科文章中获得很多里程。此外,如果有任何不清楚的地方,您通常可以谷歌它,并找到有关该特定主题的更多资源。作为起点,我建议您阅读以下主题(按所列顺序):1。1http://www.amazon.com/Introduction-Theory-Computation-Second-Michael/dp/0534950973/ref=sr_1_1?ie=UTF8&s=books&qid=1263282346&sr=8-1

答案 2 :(得分:1)

可能很难找到的旧文本是Hopcroft和Ullman的“自动机理论,语言和计算简介”。有很多版本---我听说'79是最好的,因为它引入复杂的东西是最少的。它是一本合法的,虽然很小的教科书,它引入了整个领域,而不仅仅是你正在寻找的东西。我建议这可能是徒劳的希望,也许其他消息来源遗漏的那些“更棘手”的证据可能是你的关键。

作为一个更温和的起点,有一些方便的“基准”语言。

  • 如果您的模型可以识别字符串中As和B数量相同的所有字符串的语言,那么它至少比FSM更强大。
  • 如果不能,则可能等同于FSM。
  • 同样,如果您的模型可以识别字符串中As,B和Cs数相同的所有字符串的语言,那么 more 比CFG或PDA强大。

这些“基准语言”实际上只是伪装的功能 - 第一种基本上是询问2个一元数是否相等,第二个是询问3个一元数是否相等。它们既美观又简单,众所周知,它们高于或低于特定型号的功能。对于更复杂的机器,我不知道简单的机器,所以你可能是独立的。

请注意,对于模型“LBA”,线性有界自动机,我相信没有已知的自然语言可用TM计算,但不是LBA。这个陈述来自朦胧的记忆,所以不要把它当作正式的证据。 :)

注意(最后)“基准”语言不能建立平等。也就是说,如果你的模型不能比较2个一元数,那么意味着它必然等同于FSM,它甚至可能更弱。这些语言只会确定它比权力更大或者更低的权力。

在一个完全(完全)不同的轨道上,Sipser的书确实在正则表达式和FSM之间以及PDA和CFG之间进行了等价的证明。我不确定会有多大帮助,因为你对你正在考虑什么样的计算模型非常模糊,但是如果你在等价方面已经死定,那么这些可能是很好的起点。