上下文无关语言L与常规语言M的交集被称为始终上下文无关。我了解跨产品构造的证明,但是我仍然不明白为什么它是上下文无关的但不是常规的。
由这种相交产生的语言具有PDA 和 DFA 都接受的字符串。由于DFA接受了该语言,因此它不应该是常规语言吗?另外,如果交集是规则的,则也意味着上下文无关,因为所有常规语言也是上下文无关的。
有人可以向我解释为什么通过这种交集获得的语言不规则吗?
12
可以将。*作为常规语言及其与上下文无关的语言的交集。
—
AProgrammer 2013年
这将是上下文无关的字符串。但是那些字符串也是由常规语言生成的,因此它也是一种上下文无关的语言,也是常规语言。
—
sanjeev mk 2013年
语言可能很普通。但这通常不是。再考虑一下AProgrammer给出的反例。可能应该是答案。每种与上下文无关的语言都是常规语言的子集。的确,REG的DFA将接受CF和REG语言的交集,但是拒绝的内容也很重要。
—
KarolisJuodelė2013年
@DW相关,但有人提议将其作为骗子,并非如此。这个问题在问为什么交集并不总是规则的?另一个问为什么交集并不总是不规则的。该问题的具体设置(谈论DFA和PDA都接受的字符串,因此DFA接受了它们,因此语言是常规语言,对吗?)表示对其他问题的回答不不能很好地回答这一问题。
—
David Richerby