ChatDiagram
工具/免費 AI DFA 製作器

免費 AI DFA 製作器

描述機器應接受的語言,或貼上轉移表,即可取得狀態圖,其中包含起始狀態、標示完整的轉移,以及標記出的接受狀態。也支援 NFA 和 Mealy 機器。

狀態圖按 Enter 送出

免費帳號,無須信用卡 · 可匯出 SVG、PNG 或 PDF

看看實際效果

DFA 範例。

同一款工具,四種需求。下方每張圖都是實際產生的成果。

輸入內容
建立一個 {0, 1} DFA,接受 1 的個數為偶數的字串。使用兩個狀態 Even 和 Odd;Even 是起始狀態,也是接受狀態。
接著試試改成接受 1 的個數為奇數為其他符號新增死狀態
狀態圖: 1 的個數為偶數
狀態圖 · OMG UML 2.5.1 §14 + Harel (1987) statechart · schematex-state
產生的圖表

DFA 是什麼。

確定有限自動機會一次讀取一個符號。從每個狀態出發,每個符號都恰好有一條箭頭,因此路徑不會產生歧義;如果路徑最後停在接受狀態,字串就會被接受。

將它繪製成狀態圖,就是自動機課程要求的答案格式:起始箭頭、每個狀態各一個節點、以符號標示的轉移,以及標記出的接受狀態。

Standard
OMG UML 2.5.1 §14 + Harel (1987) statechart
Engine
schematex-state
Editable
Double-click text, drag nodes
Export
SVG · PNG · PDF
狀態圖: DFA 是什麼。
適用對象

誰會繪製 DFA。

狀態圖: 資訊工程學生資訊工程學生

作業與考試練習:用一句話描述語言,將自動機呈現在頁面上。

狀態圖: 助教助教

為投影片和解答製作清楚的圖表,題目變更時也能在幾秒內重新繪製。

狀態圖: 數位設計師數位設計師

在撰寫 HDL 前,先將序列偵測器和控制器繪製成 Mealy 或 Moore 機器。

運作方式

三個步驟繪製 DFA。

01

描述需求

寫一段話就能開始。

“建立一個 {0, 1} DFA,接受 1 的個數為偶數的字串。使用兩個狀態 Even 和 Odd;Even 是起始狀態,也是接受狀態。”
02

查看圖表

由合適的繪圖引擎產生。

狀態圖: 1 的個數為偶數
03

提出修改

每次修改都會保留版本。

改成接受 1 的個數為奇數
V2 · DRAWN FROM V1, NOTHING RETYPED
常見問題

常見問題

什麼是 DFA?

確定有限自動機:由狀態集合、字母表、每個狀態與符號各一個轉移、起始狀態,以及接受狀態集合組成。如果從起始狀態讀取字串後停在接受狀態,就會接受該字串。

DFA 和 NFA 有什麼不同?

DFA 中每個狀態對每個符號恰好有一個轉移。NFA 可以有多個轉移、沒有轉移,也可以使用 ε-轉移;只要有任一路徑停在接受狀態,就會接受該字串。每個 NFA 都能轉換成等價的 DFA。

可以繪製 NFA、Mealy 和 Moore 機器嗎?

可以。請說明你要繪製哪一種。Mealy 的轉移會標示輸入/輸出。

可以從轉移表開始嗎?

可以。貼上表格,並說明哪個狀態是起始狀態、哪些是接受狀態。

起始狀態和接受狀態如何顯示?

起始狀態會以實心圓點引出的箭頭表示,每個接受狀態都會在圖上標示。

需要帳戶嗎?

可以,免費使用。不需要信用卡。

相關工具

同類工作適用的其他圖表。

立即繪製你的自動機。

免費使用,不需信用卡。描述語言,不到一分鐘即可看到結果。

開啟編輯器