1. 程式人生 > >軟考之有限自動機

軟考之有限自動機

1. 根據上面的狀態轉換圖寫出狀態轉換表,什麼!不知道什麼是狀態轉換表?那你來對地方了。狀態轉換表是轉檯轉換圖的另外一種表示形式,如下圖,左側表頭0~9表示的

    是狀態,上方表頭a,b,c表示的是條件。其餘部分表示的是後繼狀態

      a      

       b      

       ε      

0

1, 7

1

2, 4

2

3

3

6

4

5

5

 

6

6

1, 7

7

8

8

9

9



2. 求出ε-closure(s),ε-closure(s)表示由狀態s經由條件ε可以到達的所有狀態的集合

ε-closure(0)={0,1,2,4,7}

ε-closure(1)={1,2,4}

ε-closure(2)={2}

ε-closure(3)={1,2,3,4,6,7}

ε-closure(4)={4}

ε-closure(5)={1,2,4,5,6,7}

ε-closure(6)={1,2,4,6,7}

ε-closure(7)={7}

ε-closure(8)={8}

ε-closure(9)={9}

3. 轉換,下面就是真正劇情了

首先將初始態的轉換閉包ε-closure(0)設為狀態A,即A={0,1,2,4,7},注意這裡的狀態A是DFA中的,和前面的狀態0,1,2,3,4,5沒有關係

接著寫出狀態A經過上面轉換圖中所有轉換條件得到的狀態,後繼狀態裡面不包括自身,這裡的轉換條件包括a和b,注意,不包括ε,轉換的一個目的就是消除ε。

ε-closure(0) = A

ε-closure(move(A,a)) = ε-closure({3,8}) = {1,2,3,4,6,7,8} = B

ε-closure(move(A,b)) = ε-closure(5) = {1,2,4,5,6,7} = C

ε-closure(move(B,a)) = ε-closure({3,8}) = {1,2,3,4,6,7,8} = B

ε-closure(move(B,b)) = ε-closure({5,9}) = {1,2,4,5,6,7,9} = D

ε-closure(move(C,a)) = ε-closure()

ε-closure(move(C,b))

ε-closure(move(D,a)) = ε-closure({3,8}) = {1,2,3,4,6,7,8} = B

ε-closure(move(D,b)) = ε-closure(5) = {1,2,4,5,6,7} = C

4. 畫出DFA狀態轉換表(每一個狀態只有一個後繼狀態)

a

b

             A             

               B               

                C                

B

B

D

C

B

C

D

B

C


5. 畫出DFA狀態轉換圖


4.DFA的最小化

    (1) 消除多餘狀態

              Ⅰ. 什麼是多餘狀態

                    · 從這個狀態出發沒有通路到達終態

                    ·  從開始狀態出發,任何輸入串也不能到達的那個狀態

               Ⅱ. 如何消除多餘狀態

                     刪除

                     

             (2)  等價狀態

                      Ⅰ. 何為等價狀態,對於兩個狀態s和t

                            ·  一致性條件:狀態s和t必須同時為終態或非終態

                            ·  蔓延性條件:對於所有輸入符號,狀態s和狀態t必須轉化到等價的狀態裡

        

                   接下來是關於如何利用上面的兩個條件來判斷是否為等價狀態,來一張複雜的狀態轉換圖,是不是有點暈,哈哈

                  

                   首先,畫出狀態轉換表

                  

                  看1和2,1和2都是非終態,滿足條件1,1和2都可以轉換成狀態2,滿足條件2,將兩者合併。

                  看6和7,6和7都是終態,滿足條件2,6和7都可以轉化成狀態6,滿足條件2,將兩者合併。

                  以此類推,當然,2和5也是可以合併的,記住最後的結果只有一種,只要滿足合併後的狀態最少就行

                 

                   轉化

                  1,2→A

                   3,4→B

                   5→C

                   6,7→D

                   列出轉化後的轉檯轉換表

                         

                 再畫出相應的狀態轉換圖就大功告成啦~~

                 

5.有限自動機與正規式之間的轉換

來源:http://blog.csdn.net/cgzhello1/article/details/7961965

1.有限自動機轉換為正規式

對於 ∑上的NFAM,可以構造一個 ∑上的正規式R,使得L(R)=L(M)。拓廣狀態轉換圖的概念,令每條弧可用一個正規式作標記。為 ∑上的NFA M構造相應的正規式R,分為如下兩步:

(1)在M的狀態轉換圖中加兩個節點,一個x節點,一個y節點。從x節點到NFA M的初始狀態節點引一條弧並用 ε標記,從NFA M的所有終態節點到y節點引一條弧並用 ε標記。形成一個與 M等價的M',M'只有一個初態x和一個終態y。

(2)按下面的方法逐步消去M'中除x和y的所有節點。在消除節點的過程中,用正規式來標記弧,最後節點x和y之間弧上的標記就是所求的正規式。消除節點的規則如圖2-6所示。

 
圖 2-6 有限自動機到正規式的轉換規則示意圖

2.正規式轉換為有限自動機

同樣地,對於 ∑上的每個正規式R,可以構造一個E上的NFA M,使得L(M)=L(R)。通過對正規式R進行分裂並加入新的節點,逐步把圖轉變成每條弧上的標記是E上的一個字元或 ε。轉換規則如圖2-7所示。

 
圖 2-7 正規式到有限自動機的轉換規則示意圖

常見題目: 題目給定一正規式,要求給出其NFA、DFA或最簡DFA。

題目給定一用狀態圖表示的NFA,要求給出其對應的DFA或最簡DFA形式。

題目給定一NFA、DFA或最簡DFA,要求給出其對應的正規式。

題目給定一正規集,要求給出其相應的DFA。

題目給定一用自然語言描述的正規集,要求給出其相應的正規式表示形式

例題:(來源見水印)

[解析] 至少要有一個.或E,所以在BCD中。
然後不含+,所以在CD中。

然後觀察5出去的兩條邊(對應於.後的字元),如果是數字的話,就不能出現E了,所以選C。

具體來說

0是入口,6是出口,初始進入0狀態,必需最終到達6狀態
A 3857,狀態過程:0->1->1->1->1
B 1.2E+5,E+5狀態過程:0->1->5->2->? 
C -123.67,狀態過程:0->4->1->1->1->5->6->6

D 0.576E10,狀態過程:0->1->5->6->6->6->?



相關推薦

有限自動機

1. 根據上面的狀態轉換圖寫出狀態轉換表,什麼!不知道什麼是狀態轉換表?那你來對地方了。狀態轉換表是轉檯轉換圖的另外一種表示形式,如下圖,左側表頭0~9表示的     是狀態,上方表頭a,b,c表示的是條件。其餘部分表示的是後繼狀態       a              b  

】編譯原理有限自動機

什麼是有限自動機? 答:是一種識別裝置的抽象概念,它能準確地識別正規集,他分為兩類:確定的有限自動機和不確定的有限自動機 DFA(確定有限自動機) NFA(不確定有限自動機) S 是一個有限集

路--從生活著手,看PV怎樣操作

是我 信號 技術 生活 復雜 問題 工具 否則 是否 PV操作。是軟考其中一個非常重要的考點,一聽到這個名詞,頓時趕腳高大上有麽有,在軟考的歷年試題中,也不乏PV操作的身影,老師也對PV操作進行了一次講課,那時年少。聽得稀裏糊塗,也不是非常理解,在小編

進程,線程,管程比較

-1 舉例 article track spa pre 說明 popu 沒有 在操作系統中。遇到了三兄弟,看起來好像,暈了好長時間,在今天把他大概能弄明確了,故此把這篇文章獻給還在迷茫在他們三兄弟之間的你們。由於他們都有一個程字。所以我們在學習的在剛剛學習的時候難免會把

網路管理員(包含2004-2018歷年真題詳解+課本教材講義+視訊教程)

軟考-網路管理員2004-2018歷年考試真題以及詳細答案(試題和答案分離的哦),同時含有最新課本教材、複習筆記、網路管理員視訊教程。持續更新後續年份的資料。請點贊!!請點贊!!!絕對全部貨真價實的資料!!! 全網最全,獨此一家,費心整理,希望各位同學順利通過考試!!! 網路管理員歷

初級程式設計師(包含1990-2018歷年真題詳解+課本教材+模擬試卷+視訊教程)

軟考-初級程式設計師1990-2018歷年考試真題以及詳細答案(試題和答案分離的哦),同時含有課本教材、模擬試卷、程式設計師視訊教程、考試知識點。持續更新後續年份的資料。請點贊!!請點贊!!!絕對全部貨真價實的資料!!!! 全網最全,獨此一家,費心整理,希望各位同學順利通過考試!!!

軟體設計師(包含05-18年真題詳解、高清教程、學習筆記)

費心整理出來的,希望對軟考的同學有幫助。包含: 1、二、三、四版設計師教程; 2、2005年到2018年曆年軟考設計師真題以及答案,包含上下午的哈; 3、軟體設計師學習筆記; 下載地址百度網盤 https://pan.baidu.com/s/1X6kla3Gx-Up9B-

計算機組成原理指令系統

/*學習使人 困餓醜陋貧窮不開心  0-0*/ 指令系統: 我的知識儲備:大概就是一堆指令組成的系統吧。不同的機器指令似乎是不同的。。。。為啥書還能扯3頁。。 看完一遍書:它講了啥,,,,,CISC SISC 流水線,,,,,,,,,,,,,,,,不明白講指令集系統為什

知識點亂入

XML語法的基礎知識。XML檔案的第一行必須是宣告該檔案是XML檔案以及它所使用的XML規範版本。在檔案的前面不能夠有其他元素或者註釋。所有的XML文件必須有一個根元素。XML文件中的第一個元素就是根元

路 開始的開始 我們都是孩子

                        為了軟考,奮力一搏,沒錢、沒人脈、沒背景,在人人自危的競爭中,要靠自己的真實力,這次考試我們積極備考,不打無準備之戰,軟考的目的,不僅僅是為了軟考通過這麼簡單,在軟考的背後還隱藏著一個古老的祕密,那就是為了學習知識,在個人重構,機房合作,牛腩新聞釋出系統等學習中

我的路(六)——資料結構與演算法(4)八大排序

        排序是程式設計的基礎,在程式中會經常使用,好的排序方法可以幫助你提高程式執行的效率,所以學好排序,打好基礎,對於程式的優化會手到擒來。無論你的技術多麼強,如果沒有基礎也強不到哪去。  

【零基礎向】路(第一章)計算機系統知識(第三節)

寫在前面:       本系列文章用於記錄本人軟考學習歷程,適用於零基礎人群,每天不定期更新,如果讀者哪裡不理解或者發現哪裡理解的有問題,歡迎評論,一起進步學習,祝大家都能順利通過考試~第三節 資料表示    本節主要是考察進位制轉換,也就是計算能力,需要熟記各個進位制之間的

軟體過程模型總結】

前言: 軟體過程模型,這個名詞聽起來可能有些陌生,但說軟體開發模型,大家可能都知道了,軟體過程模型也叫做軟體開發模型,它是軟體開發全過程,活動和任務的結構框架。軟體開發模型:常見的有瀑布模型、增量模

[]樹和二叉樹

        對於具有層次的資料,需要用樹形結構來描述,那麼什麼是樹,樹應該如何表示使用呢?下面,就隨著這篇博文,來感受一下樹的魅力吧。         樹的基本組成:         關於樹的基

小仙女講演算法設計和分析

小仙女課堂開課啦,演算法設計總學不好?多半是沒理解透基本概念,看小仙女牌部落格就好啦。 分治法——分而治之,各個突破 現實匯入: 想想秦始皇是怎麼統一六國的?“遠交近攻,各個擊破”。 對嘍,先集中兵力打一個國家,成功後再攻擊另一個。這便體現了分治的思想。 先打近的,再打

我的路(一)——開篇

         俗話說得好:兵馬未動,糧草先行。對於備戰軟考的我來說,應該是:“考試在即,計劃先行”。        這篇部落格的目的特別簡單,為自己軟考做一次動員,也算是給自己未來2個月內備戰軟考

路--從生活著手,看PV如何操作

                       PV操作,是軟考當中一個很重要的考點,一聽到

編址與儲存相關計算(二)——

       很高心您能繼續關注Lucy軟考之路系列博文——編址與儲存相關計算(二),在上文中,Lucy給大家講解計算機中的單位換算和記憶體工作原理。本篇繼續。 記憶體編址 一個記憶體可能是8位,也可能是64位,容量可能是1M,也可能是1G。那麼記憶體是如何編址的呢?和地

路(七)---設計模式總結

        軟考中設計模式這塊考的很是基礎,考題大部分來自大話與HeardFirst,針對做真題的過程中的經驗教訓,不難,重在細心,總結出來和大家分享。 設計模式分三大類: 建立型模式(物件的

系統集成項目管理工程師(包含2009-2018歷年真題詳解+第二版考試輔導教程+官方指定最新版教程)

工程 https follow 系統集成 分享圖片 get 項目管理 baidu 指定 軟考之系統集成項目管理工程師(包含2009-2018歷年真題以及答案詳解、系統集成項目管理工程師教程第2版-清華大學出版社-高清PDF,官方指定用書),持續更新後續年份的資料。請點贊!!