編譯原理之確定有限自動機的最小化

最小化確定有限自動機

最小化下圖的有限自動機DFA。
在這裏插入圖片描述

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

在這裏插入圖片描述

  • 對新生成的狀態集子集在進行b運算,觀察運算的結果是否相同

在這裏插入圖片描述

  • 然後在進行對終態進行a和b的運算在這裏插入圖片描述

  • 同一狀態子集的進行合併,選出集合中的其中一個狀態,作爲代表。將通向同一子集的其他狀態的線,全部指向同一子集的代表的狀態

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章