我想知道两种语言(一种是常规语言还是另一种语言)之间的连接是否总是不规则,或者输出是否是常规语言。 感谢。
答案 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给出了级联提供常规语言的另一个示例;我添加了此答案,因为我认为它更直接并且可以让您到达那里。直觉是空语言是语言级联的零元素, {ε}是身份元素,它激发了您为什么想尝试一下的灵感。)