出于好奇,我试图确定我使用的系统的计算模型在功能上是等价的,并证明了等价性。我花在这个问题上的时间越长,我越怀疑系统不是图灵相当的。我对图灵机和递归可枚举语言的理解是好的,但我不太了解具有较小功能的自动机(例如下推自动机),所以我不知道如何继续。
首先,任何人都可以推荐一个很好的资源来学习不同的计算模型吗?我对语法,语言和自动机感兴趣,以及如何证明它们之间的等价和差异。理想情况下,资源会详细分解每个模型的所有元素并进行比较。
第二,在尝试将系统安装到任何这些计算模型时,是否应该使用一般方法或框架?
答案 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教授同样的,但我没有任何经验,所以我不能推荐)。
另一种方法可能只是阅读维基百科。如果你知道你在寻找什么以及以什么顺序,你可以从维基百科文章中获得很多里程。此外,如果有任何不清楚的地方,您通常可以谷歌搜索并找到有关该特定主题的更多资源。
当然,这将不与真正的教科书一样好,但它现在是开始的好地方,它是免费的。
作为一个起点,我建议您阅读以下主题(按所列顺序):
这应该提供人们谈论的大多数计算模型的简要介绍。 2:我推荐一本关于计算机科学的优秀教科书(在我的Uni课程中,我是从Sipser's Introduction to the Theory of Computation学习的,这在我看来非常好)。另一种方法可能只是阅读维基百科。如果你知道你在寻找什么以及以什么顺序,你可以从维基百科文章中获得很多里程。此外,如果有任何不清楚的地方,您通常可以谷歌它,并找到有关该特定主题的更多资源。作为起点,我建议您阅读以下主题(按所列顺序):1。1:http://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是最好的,因为它引入复杂的东西是最少的。它是一本合法的,虽然很小的教科书,它引入了整个领域,而不仅仅是你正在寻找的东西。我建议这可能是徒劳的希望,也许其他消息来源遗漏的那些“更棘手”的证据可能是你的关键。
作为一个更温和的起点,有一些方便的“基准”语言。
这些“基准语言”实际上只是伪装的功能 - 第一种基本上是询问2个一元数是否相等,第二个是询问3个一元数是否相等。它们既美观又简单,众所周知,它们高于或低于特定型号的功能。对于更复杂的机器,我不知道简单的机器,所以你可能是独立的。
请注意,对于模型“LBA”,线性有界自动机,我相信没有已知的自然语言可用TM计算,但不是LBA。这个陈述来自朦胧的记忆,所以不要把它当作正式的证据。 :)
注意(最后)“基准”语言不能建立平等。也就是说,如果你的模型不能比较2个一元数,那么不意味着它必然等同于FSM,它甚至可能更弱。这些语言只会确定它比权力更大或者更低的权力。
在一个完全(完全)不同的轨道上,Sipser的书确实在正则表达式和FSM之间以及PDA和CFG之间进行了等价的证明。我不确定会有多大帮助,因为你对你正在考虑什么样的计算模型非常模糊,但是如果你在等价方面已经死定,那么这些可能是很好的起点。