簡體   English   中英

使用具有錯誤狀態的產品構造來合並兩個DFA

[英]Union-ing two DFA's using Product Construction with the Error State

我想知道當一個DFA具有錯誤狀態時如何合並兩個DFA。 具體來說,第一個DFA是這樣的:

在此處輸入圖片說明

第二個並不重要,但它不需要錯誤狀態,因為在每個狀態都需要一個“ a”或“ b”。 所以我可以使用產品構造直到狀態3為止。 假設計算機位於(q3,z)(其中z是來自第二個DFA的隨機狀態),然后讀取a。 第二個可以愉快地進行,但是第一個DFA應該進入錯誤狀態,並且不接受其他任何輸入。 因為這是聯合而不是交叉,所以我需要繼續模擬第二個以查看它是否達到錯誤狀態。

構建聯合DFA時如何顯示?

錯誤狀態是所有符號都循環回到相同狀態的不接受狀態。 (水槽”)。 對我來說,您是否q3成為沒有傳出過渡的接受狀態,還是將{ q0q1q2 }都作為接受狀態,是使q3成為錯誤狀態,還是不清楚的。 但是解決方案並沒有什么不同。 如果您還沒有水槽,請創建一個; 從任何其他狀態開始的所有非法轉換都進入錯誤狀態。

現在,您可以毫無問題地使用產品結構了; DFA1到達錯誤狀態並停留在該狀態,而DFA2繼續進行轉換。 當兩個DFA都到達接收器時,就無法再進行轉換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM