[英]what does regular, Turing-decidable and Turing-recognisable mean?
我知道这个问题已经提过,但是老实说我不清楚。
我目前正在对计算理论进行研究,并且使用术语“证明一种语言是可确定的,可识别的或常规的”。
用最简单的术语来说,它们实际上是什么意思,我们如何证明这些东西?
我们在谈论一种语言 超过一个字母
, 意思就是
(
由单词组成,单词由
)。
可以决定的
表示存在图灵机 ,这样
将停止并接受任何输入的单词
并停止并拒绝输入的任何单词
。
被认可
表示存在图灵机 ,这样
将停止并接受任何输入的单词
并停止或不停止 (但不停止并接受!)
。
有关差异 ,另请参见MathExchange上的可识别与可确定。
定期
意思是 可以由正则表达式创建。 重要的是要注意,理论计算机科学中的这些正则表达式与PERL或Java等编程语言中已知的RegEx功能有所不同。 实际上,这些RegExes确实比正则表达式更强大(不知道这是否是正确的英语术语)。
正则表达式的一个很好的定义在这里给出:
除了正则表达式,别无其他。
为了证明可判定性或可识别性,通常最容易为图灵机提供所需的属性。 由于Church-Turing的论点 ,任何编程语言都像Turing机器一样强大。 因此,在我的课程中,以编程语言或伪代码提供算法是完全可以接受的。
请注意,任何可识别的语言也是可以确定的(但反之亦然)。
为了证明规则性,大多数时候最简单的就是提供一个构造该语言的正则表达式。 有时需要证明正则表达式确实能够正确构建 ,通常不太难(通常很明显)。
在许多讲座中,都有关于正则表达式的约定,该约定允许使用更直观,更短(但不更强大)的语法。
知道常规语言正是有限自动机可以识别的语言可能会很有趣。 注意,任何常规语言也是可判定的(因此可识别的)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.