繁体   English   中英

结合确定性有限自动机

[英]Combining deterministic finite automata

我对这些东西真的很新,所以我为这里的noobishness道歉。

构造Deterministic Finite Automaton DFA识别以下语言:

L= { w : w has at least two a's and an odd number of b's}. 

每个部分的自动化(at least 2 a's, odd # of b's)很容易分开制作......任何人都可以解释一种系统的方法将它们合二为一吗? 谢谢。

您可以使用以下简单步骤构建组合DFA。

Σ= {a 1 ,a 2 ,...,a k }
第一步:为两种语言设计DFA并将其状态命名为Q 0 ,Q 1 ,......

第二步:重新命名两个DFA中的每个状态,即将DFA中的所有状态重命名为Q 0 ,Q 1 ,Q 2 ,Q 3 ,...假设您已经开始使用下标0; 这意味着没有一个州会有相同的名字。

第3步:使用以下步骤构建转换表(δ)

3A。 组合DFA的开始状态:
取两个DFA(DFA1和DFA2)的起始状态,并将它们命名为Q [i,j] ,其中i和j分别是DFA1和DFA2的起始状态的下标; 即,Q i是第1个DFA的开始状态,Q j是第2个DFA的开始状态,将Q [i,j]标记为组合DFA的开始状态。

3B。 将两个DFA的状态映射为
如果δ(Q i ,a k )= Q p1且δ(Q j ,a k )= Q p2 ,其中Q p1属于DFA1而Q p2属于DFA2则δ(Q [i,j] ,a k ) = Q [p1,p2]

3c 在转换表中剩余任何Q [i,j]时填充整个表。

3d 合并DFA的最终状态:
对于AND情况,最终状态将是Q [i,j] ,其中Q i和Q j分别是DFA1和DFA2的最终状态。
对于OR情况,最终状态将是Q [i,j] ,其中Q i或Q j是DFA1和DFA2的最终状态。

第4步:重命名所有Q [i,j] (唯一)并绘制DFA,这将是您的结果。

例:

L= {w: w has at least two a's and an odd number of b's}.

第1步:
DFA为奇数个b。

DFA至少为2个。

第2步:
重命名DFA1的stae
在此输入图像描述

步骤3(A,B,C):
构造过渡表将为。
表

Step3d:
因为我们必须使用两个DFA的AND,所以最终状态将是Q [2,4] ,因为它包含两个DFA的最终状态。
如果我们必须对两个DFA进行OR,则最终状态为Q [0,4] ,Q [2,3] ,Q [1,4] ,Q [2,4]
在添加最终状态后,转换表会这样。

决赛桌

第四步:
重命名所有州Q [i,j]
Q [0,3]到Q 0
Q [1,3]到Q 2
Q [0,4]至Q 1
Q [2,3]至Q 4
[1,4]至Q 3
Q [2,4]至Q 5
所以最终的DFA将如下所示。 表

它是使用两个自动机的产品完成的。

其中a至少为2且b为奇数的语言L是常规语言。 其DFA如下:
a_and_odd_b

在这个DFA中,我在概念上结合了两个DFS

DFA-1 = for odd number of `b`'s (placed vertically three times in diagram)
DFA-2 = for >=  two a           (placed Horizontally two times in diagram)

DFA过于对症和简单,所以我认为不需要如何结合两种DFA

为了绘制这个DFA,你总是跟踪有多少b s是偶数还是奇数。 States 0, 2 and 4表示偶数b已经到来。 因此,您可以将此DFA垂直分为两部分,其中底部状态为偶数b s,上部状态为奇数。

如果奇数b也接受字符串,因此最终状态应该处于上部的状态之一。

不仅b的数量是条件,而且a应至少为2 因此可以在三个部分水平地划分这个DFA,其中的数a s的0 state-0 and 1a s为一个在state-2 and 3a s为2时state-4 and 5 前两后a Ş任意数量的a s的允许在字符串,所以有状态的自我循环q4q5

所需的状态的数量是六个,因为2状态奇偶b和作为HOULD是ATLEAST 2 SO 3状态的= 0,A = 1,A = 2,因此2 * 3 = 6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM