簡體   English   中英

自動機的過渡狀態圖

[英]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)*; 我們以三種狀態結束,因為:

  1. 如果我們看到整數“ ab”,則什么也看不到,或者看不到另一個整數“ ab”(對應於狀態q0)

  2. 如果我們看到整數“ ab”后跟“ a”,則可以看到“ b”后跟整數“ ab”(對應於狀態q1)

  3. 如果除了在第1點和第2點中討論的內容之外,還看到其他內容,則無法將任何內容添加到字符串中以獲得整數“ ab”; 我們搞砸了,任何帶有此前綴的字符串都不是該語言的語言(對應於“死”狀態q2)。

暫無
暫無

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

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