非常规语言与常规语言的连接总是不规律的吗?

时间:2016-11-21 13:46:33

标签: computer-science context-free-grammar regular-language chomsky-normal-form

我想知道两种语言(一种是常规语言还是另一种语言)之间的连接是否总是不规则,或者输出是否是常规语言。 感谢。

3 个答案:

答案 0 :(得分:3)

不,因为我们可以找到一个证明有时会发生的反例:

L1不规则:(a ^ 2)^ n,n> 1
L2常规:a *

连接产生语言L3 = aa *,这显然是常规的。

答案 1 :(得分:0)

a ^(2 ^ n)n> = 0是不规则的,除了将其与a *连接仍然是不规则的。它变为L = {a ^(2 ^ n)a *,n> = 0},基本上抵消为规则的L = {aa *}。

Patrick87,(a ^ 2)^ n n> 1具有正则表达式(aaaa)(aa)*

答案 2 :(得分:0)

请记住,空字符串ε和空字符串{ε}的单例语言都是常规的。任何非常规语言和空语言的串联是空语言(常规),任何非常规语言和{ε}的串联是原始语言(非常规)。因此,答案取决于语言的选择。

(@ Hyruma92给出了级联提供常规语言的另一个示例;我添加了此答案,因为我认为它更直接并且可以让您到达那里。直觉是空语言是语言级联的零元素, {ε}是身份元素,它激发了您为什么想尝试一下的灵感。)