![](/img/trans.png)
[英]validate that deterministic finite automata transition function has exactly one output state for each unique input alphabet
[英]Transition State Diagram for the automata
(a + b)*和(ab)*的過渡狀態圖是什么? 我對兩個狀態圖有些困惑。 我發現他們兩個都一樣。
假設藍綠色狀態為開始狀態和接受狀態。 (a + b)*可以理解為“零個或多個a和b的任何順序”。 (ab)*可以理解為“零個或多個順序的a和b”。 請注意,如果序列中斷,則節點3將以無效狀態存在以拒絕匹配。
假設+表示並和。 表示串聯:
(a+b)*
q s q'
-- -- --
q0 a q0
q0 b q0
(q0 is accepting)
(a.b)*
q s q'
-- -- --
q0 a q1
q0 b q2
q1 a q2
q1 b q0
q2 a q2
q2 b q2
(q0 is accepting; q2 is a dead state)
注意,(a + b)*描述了a和b的所有字符串,因此我們只需要一個狀態。 沒有字符串被拒絕。 另一方面,存在a和b的字符串不匹配(ab)*; 我們以三種狀態結束,因為:
如果我們看到整數“ ab”,則什么也看不到,或者看不到另一個整數“ ab”(對應於狀態q0)
如果我們看到整數“ ab”后跟“ a”,則可以看到“ b”后跟整數“ ab”(對應於狀態q1)
如果除了在第1點和第2點中討論的內容之外,還看到其他內容,則無法將任何內容添加到字符串中以獲得整數“ ab”; 我們搞砸了,任何帶有此前綴的字符串都不是該語言的語言(對應於“死”狀態q2)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.