【问题标题】:Example of a recursively enumerable language that is not context free非上下文无关的递归可枚举语言示例
【发布时间】:2016-01-23 14:21:53
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    任何图灵机都可以表示为不受限制的形式语法(因此形式语法是对图灵机的描述)。 (如果不是艰巨的,实际的构造是乏味的,我不建议尝试它。)因此,任何无法确定停止问题的图灵机都定义了一种递归可枚举的语言,它不是上下文无关的(甚至是上下文敏感的)。

    在更迂腐的层面上,不是上下文无关的上下文相关语言的示例包括:

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

    (在最后一个中,#<sub>x</sub>(α)xα中出现的次数。换句话说,它是包含相同数量的as、bs和cs.)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-18
      • 2016-02-01
      • 2011-03-04
      • 2014-04-20
      • 1970-01-01
      • 2011-06-28
      • 2012-03-16
      • 1970-01-01
      相关资源
      最近更新 更多