最小化確定有限自動機
最小化下圖的有限自動機DFA。
概念補充(不懂沒關係,直接示範)
- DFA化簡定義:找一個狀態數比原來得確定有限自動機狀態數少得確定有限自動機,但是表示得語言和原來的確定有限自動機相同
- 狀態等價:
- 狀態s和t等價,意味着從s和t出發,讀出識別同一個字符α,都到達了終態,那麼這兩個狀態s和t是等價的
- 狀態可區分:
- 狀態s和t可區分,存在一個字符α,分別讓s和t讀取之後,分別處於終態和非終態
實時演算
- 方法:
- 將S劃分成終態和非終態兩個子集,形成基本劃分
- 然後分別對各個子集進行字符運算,觀察彼此的結果是否在同一個子集中
- 如果經過所有的字符運算之後,在同一個子集,那麼就是自己所有的狀態都是等價的
- 如果不是經過某個字符運算之後,不在同一個子集,那麼在進行劃分,結果爲同一個子集的劃分到一起
演示
- 將所有的狀態根據終態和非終態進行基本的劃分,分別進行輸入a的運算,發現如下的變化
- 對新生成的狀態集子集在進行b運算,觀察運算的結果是否相同
-
然後在進行對終態進行a和b的運算
-
同一狀態子集的進行合併,選出集合中的其中一個狀態,作爲代表。將通向同一子集的其他狀態的線,全部指向同一子集的代表的狀態