簡體   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