Computer science 非正规语言与正规语言的连接是否总是不正规的?

Computer science 非正规语言与正规语言的连接是否总是不正规的?,computer-science,context-free-grammar,regular-language,chomsky-normal-form,Computer Science,Context Free Grammar,Regular Language,Chomsky Normal Form,我想知道两种语言(一种是常规语言,另一种不是)之间的连接是否总是不规则的,或者输出是否是常规语言。 谢谢。不,因为我们可以找到一个反例来证明有时会发生这种情况: L1不规则:(a^2)^n,其中n>=0 二级常规:a* 连接产生语言L3=aa*,这显然是规则的。a^(2^n)n>=0是非规则的,除非将其与规则的*连接,否则会产生规则的语言。它变成了L={a^(2^n)a*,n>=0},这基本上抵消了L={aa*},这是正则的 Patrick87,(a^2)^n>1有正则表达式(aaaa)(aa)

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

不,因为我们可以找到一个反例来证明有时会发生这种情况:

L1不规则:(a^2)^n,其中n>=0
二级常规:a*

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

a^(2^n)n>=0是非规则的,除非将其与规则的*连接,否则会产生规则的语言。它变成了L={a^(2^n)a*,n>=0},这基本上抵消了L={aa*},这是正则的


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

记住空语言∅空字符串{ε}的单例语言都是正则的。任何非正则语言和空语言的连接都是空语言(正则),任何非正则语言和{ε}的连接都是原始语言(非正则)。因此,答案取决于语言的选择


(@Hyruma92给出了另一个连接给出常规语言的例子;我添加了这个答案,因为我认为它更直接,更简单。这里的直觉是,空语言是语言连接的零元素,{ε}是标识元素,这激发了你为什么要尝试它们。)

我投票将这个问题作为离题题来结束,因为它不是一个编程问题。这是理论计算机科学中的一个问题。这个证明是正确的,除了(a^2)^n(n>1)是正则表达式(aa)(aa)*的正则语言。一个更好的例子是n>=0的A^(2^n).$A^{2*n}$是正则的。