繁体   English   中英

L = {b ^ nc ^ na ^ n,n> = 1}的上下文无关文法

[英]Context-free grammar for L = { b^n c^n a^n , n>=1}

我有一种语言L,它定义为:L = {b ^ nc ^ na ^ n,n> = 1}相应的语法将能够创建诸如以下单词:bca bbccaa bbbcccaaa ...这样的语法如何看起来像? 使两个变量相互依赖相对简单,但是我很难做到三个。 提前致谢!

L = { b^nc^na^n , n>=1}

正如评论中指出的那样,这是一种不是上下文无关的语言的规范示例。 可以使用无上下文语言的抽水引理来显示它。 基本上,考虑一个像b^pc^pa^p这样的字符串,其中p是抽运长度,然后显示无论抽运哪个部分,都将失去平衡(基本上,抽运的部分的大小小于p ,因此它无法“跨接”所有三个符号以使其保持同步)。

L = {a^mb^nc^na^(m+n) |m ≥ 0,n ≥ 1}

如评论中所建议,这也不是上下文无关的。 对于上下文无关的语言,也可以使用抽水引理来显示它。 但是,只要有上述证明(或接受),就有一种更简单的方法。 回想一下,常规语言和上下文无关语言的交集必须是上下文无关的。 假设L是上下文无关的。 那么它必须与常规语言(b+c)(b+c)* a*相交。 但是,该交集可以表示为b^nc^na^n (因为m被强制为零),我们知道这不是上下文无关的矛盾。 因此,我们的假设是错误的,并且L也不是上下文无关的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM