0
Q
建設有限自動機
A
回答
1
通過我總是傾向於在語義上描述正則表達式RE。但也有一個規則,一個 - 「分佈式法」,這是非常有幫助的編寫清理和優化RE:
(P | Q)* == (P*Q*)* == (P* | Q*)*
注:|
是工會的運作和P | Q
是一樣P | Q
。這裏P,Q是正則表達式。
所以你表達:
((a|b)*(e|c)*)* # P = (a|b)* and Q = (e|c)*
=> ((a|b) | (e|c))* # (P* | Q*)* = (P | Q)*
正如我在工會爲了說並不重要,所以這裏(
)
是多餘的。和
((a|b) | (e|c))*
=> (a | b | c | e)*
*現在*表示重複應用了某種模式的任意次數。在上面的表達式*中應用了a | b | c | e
,並且在每次迭代中您可以選擇任意一個符號。這意味着任何符號都會出現在正則表達式中的任何其他符號之後 - 這意味着「a」,「b」,「 c','e'是可能的。
而且它的FA非常簡單:由單狀態Q 組成,帶有標記所有四個符號的自循環。如下:
__ || a, b, c, e ▼| ––►((Q0)) Q0 is both initial and final state
相關問題
- 1. 有限自動機,下推自動機和圖靈機示例
- 2. 有限狀態自動機圖
- 3. 我正確嗎? (有限自動機)
- 4. 結合確定性有限自動機
- 5. 確定性有限自動機 - Java
- 6. Python的有限自動機庫
- 7. 創建確定性有限自動機(DFA) - Mercury
- 8. 有限自動機只拒絕有限數量的字符串
- 9. 有限自動機在計算機科學中的應用
- 10. Android自定義設備相機權限
- 11. 自動機設計軟件
- 12. 自動設計狀態機
- 13. 如何在Visual Studio中創建有限自動機的轉換圖
- 14. Swift手動設置相機權限
- 15. 有限自動工具
- 16. Akka認證設計(有限狀態機)
- 17. 有限狀態機:糟糕的設計?
- 18. 自動設置目錄中創建的文件的權限
- 19. 創建新項目後自動設置列表項權限
- 20. 有限自動機的運行特性和工作原理
- 21. 我怎樣才能得到加權有限自動機?
- 22. 有限自動機庫在F#中編寫
- 23. 什麼是通用有限自動機的一些引擎?
- 24. 確定性有限自動機的理論方法
- 25. 有限自動機字符串匹配器
- 26. 構造非確定型有限自動機
- 27. 有限自動機的用途是什麼?
- 28. 理解(成形)這個有限自動機
- 29. 查找有限自動機(Prolog的)接受
- 30. 確定性有限狀態自動機問題
我會說沒有。你也可以引入'e'。此外,'c'可以跟隨'a'或'b',但'e'也可以。或者你什麼也沒有。 – Makoto
@Makoto你會說字符串cba可以適合這個正則表達式嗎? – user3339242
是的。這些可能發生的順序並不是確定性的,因爲你可以沒有a或b,但是全部是c,然後用a或b來跟蹤它。 – Makoto