不具有上下文空间的递归可枚举语言的示例

时间:2015-10-23 23:01:43

标签: context-free-grammar enumerable turing-machines context-free-language

什么是不依赖上下文的递归可枚举语言的简单示例?我的教科书在明确提供这样一个例子方面很糟糕。

要明确这不是一个hmk问题。

1 个答案:

答案 0 :(得分:2)

递归可枚举的类确实非常广泛。它包括有图灵机的任何语言,该机器将暂停并接受该语言中的任何字符串(如果给定的字符串不是该语言,则不要求图灵机停止)。因此,递归可枚举语言的一个例子是图灵机器的描述(在某些形式主义中)的集合 H ,它停止在给定的输入上。由于有一台图灵机模拟任何图灵机(所谓的通用图灵机),当然可以识别 H 中的有效字符串,但停机问题的不可判定性表明 H 不是递归的。

任何图灵机都可以表示为不受限制的正式语法(因此正式语法是图灵机的描述)。 (如果不是非常愚蠢的话,实际的构造是繁琐的,我不建议尝试它。)因此任何暂停问题都是不可判定的图灵机定义了一种递归可枚举的语言,它不是无上下文的(甚至是上下文敏感的)。

在更迂腐的层面上,非上下文无关的上下文敏感语言的示例包括:

{ ap | p is prime }
{ anbncn | n ≥ 0 }
{ α | α ∈ {a, b, c}* ∩ #a(α) = #b(α) ∩ #b(α) = #c(α) }

(在上一篇文章中,#x(α)xα的出现次数。换句话说,它是包含相同数量a的字符串集合} s,bc s。)

相关问题