2017-02-26 54 views
0

感谢您提前提供任何帮助!两个正则表达式的交集

我在学校自动机课程和我的生活不能找出两个正则表达式的交集。我在网上查看了这里,发现我可以为两种语言创建NFA,单独赞美它们然后联合(ise) - 在这里不确定英语。

接下来,我恭维工会找到后续的DFA,并从中找到正则表达式,这将是交集正则表达式。但是,我正在努力解决所有这些问题。

我有一个问题在下面,我已经改变了表达式,而不是简单地问一个教程问题。两者都使用相同的字母表:{a,b,c,d}

R1 = (a(a+d))*R2 = ((a+b)+a+(a+d))*

我已经扩展了语言,试图更好地了解他们。

思想: R1包含空字(ε),且长度为2的单词和4 R2包含空字和长度3

后续交叉点语言必须由6整除的话?

我真的不知道如何从这里出发。如果这是最好的方法,请有人帮助我创建一个NFA。我使用在线NFA生成器,但在回顾大学教程的答案时不断犯错误。在附注中,你如何证明你计算的正则表达式是正确的?

谢谢!

+0

是不是R1相当于'(A(A + d))*'?此外,它是“补充”。 – melpomene

+0

啊,好点。我现在将删除最终的广告。谢谢。 – user62622

+0

我刚刚意识到我不理解你的符号。 “+”是什么意思? – melpomene

回答

0

有一个简单的DFA为R1:

DFA for R1

R2 =(A | B | d)*作为@melpomene在他的评论,这意味着用字母a,b或d的任何单词,所述所以一个DFA为R2显然是:

eDFA for R2

的交点是R1(R2为是每个体a,b或d)

W¯¯ E能完成这个DFA是这样的:

DFA for intersection