自动机:仅使用等价类来证明规律性

时间:2012-12-15 12:58:25

标签: automata equivalence automaton

我试图以多种方式解决这个问题,并且在几个地方没有回答。问题如下:

[问题]
鉴于两种常规语言(可称为有限描述语言,idk)L1L2,我们定义了一种新语言:

L =  {w1w2| there are two words, x,y such that : xw1 is in L1, w2y is in L2}  

我应该用来表示L is regular,但我有以下限制:

  • 我必须使用Equivalence类,而不是其他方式

  • 我不能使用Rank(L),因为它显示了等价类数量的限制,而是我必须显示它们

  • 我可以使用所有常规语言都包含的Closure属性

我不期待一个完整的证明(虽然这将被赞赏)但是对如何处理这样的事情的解释。
提前致谢。

2 个答案:

答案 0 :(得分:0)

L = {w1w2 |有两个词,x,y使得:xw1在L1中,w2y在L2中}如果L 1 且L 2 是常规语言则是规则的。

  

L suff = {w 1 | xw 1 ∈L 1 }
    L pref = {w 2 | w 2 y∈L 2 }

  

L = L suff L pref

我们可以通过L的构造有限自动机轻松证明。

假设L 1 的有限自动机(FA)是M 1 而L 2 的FA是M 2

<强> [溶液]
L的非确定性有限自动机(NFA)可以通过将M 1 中的每个状态的NULL转换(^ -edge)引入M 2 中的每个状态来绘制。然后NFA可以转换为DFA。

e.g。
L 1 = {ab,ac}和L 2 = {12,13}

L = {ab,ac,12,13,a12,a2,ab12,ab2,a13,a3,ab13,ab3,............} 注意: w 1 和w 2 可以为NULL

M 1 =由Q = {q 0 ,q 1 ,q f }组成边缘:

  

q 0 --- a -----&gt; q 1
   q 1 --- b / c ---&gt; q f

同样:

M 2 =由Q = {p 0 ,p 1 ,p f }组成边缘:

  

p 0 --- 1 -----&gt; p 1
       p 1 --- 2/3 ---&gt; p f

现在,名为M的L的NFA将由Q = {q 0 ,q 1 ,q f ,p 0 ,p 1 ,p f }其中M的最终状态为p f 且边缘为:

  

q 0 --- a -----&gt; q 1
   q 1 --- b / c ---&gt; q f
   p 0 --- 1 -----&gt; p 1
   p 1 --- 2/3 ---&gt; p f

     

q 0 ---- ^ ----&gt; P <子> 0
   q 1 ---- ^ ----&gt; P <子> 0
   q f ---- ^ ----&gt; p 0

     

q 0 ---- ^ ----&gt; P <子> 1
   q 1 ---- ^ ----&gt; P <子> 1
   q f ---- ^ ----&gt; p 1

     

q 0 ---- ^ ----&gt; P <子>˚F
   q 1 ---- ^ ----&gt; P <子>˚F
   q f ---- ^ ----&gt; p f

^表示NULL-Transition。

现在,NFA可以轻松转换为DFA。(我留给你)

<强> [ANSWER]
L的DFA是可能的,因此L是常规语言。


我强烈建议您绘制DFA / NFA数据,然后概念就会明确。&gt;

答案 1 :(得分:0)

注意

我正在写这个答案,因为我认为现有的答案并不真正满足职位要求,即

  

我必须使用Equivalence类,没有别的方法

<强>答案

更直接和简单的方法是由于时间原因构建DFA / NFA,而只是检查#EquivalenceClasses < ∞是否成立。具体来说,你可以在这里找到以下内容:

[w1] = {all w1 in L1}
[e]
[w1w2] = L

所以ind(R),等价关系的索引是3,因此是有限的。因此,L是常规的。 Q.E.D。

为了更清楚,只需看看语言的等价关系的定义,即R_L

此外,常规语言在连接下关闭。事实上,你只需要将两个DFA / NFA连接成一个。