• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            確定有限狀態自動機---- 維基百科

            src:

            http://zh.wikipedia.org/wiki/%E7%A1%AE%E5%AE%9A%E6%9C%89%E9%99%90%E7%8A%B6%E6%80%81%E8%87%AA%E5%8A%A8%E6%9C%BA

             

            維基百科,自由的百科全書

            跳轉到: 導航, 搜索

            計算理論中,確定有限狀態自動機確定有限自動機(英:deterministic finite automaton;簡稱:DFA)是一個能實現狀態轉移的自動機。對于一個給定的屬于該自動機的狀態和一個屬于該自動機字母表Σ的字符,它都能根據事先給定的轉移函數轉移到下一個狀態(這個狀態有可能就是先前那個狀態)。

            目錄

            [隱藏]

            [編輯] 基礎概念

            [編輯] 定義

            確定有限狀態自動機 clip_image001是由

            • 一個非空有限狀態的集合 Q
            • 一個輸入字母表 Σ(非空有限字符的集合)
            • 一個轉移函數 clip_image002(例如:clip_image003
            • 一個開始狀態 clip_image004
            • 一個接受狀態的集合 clip_image005

            所組成的5-元組。因此一個DFA可以寫成這樣的形式:clip_image006

            [編輯] 非正式的語義

            確定有限狀態自動機一個字符接一個字符的讀入一個字符串 clip_image007,并根據給定的轉移函數一步一步的轉移至下一個狀態。在讀完該字符串后,如果該自動機停在一個屬于F的接受狀態,那么它就接受該字符串,反之則拒絕該字符串。

            [編輯] 擴展轉移函數

            為了能夠對DFA的命題進行證明,需要一個數學上的正式的語義定義。

            為此我們定義一個擴展的轉移函數 clip_image008

            • clip_image009是自動機從狀態q順序讀入字符串w后達到的那個狀態
            • 擴展轉移函數遞歸的定義為:
              • clip_image010
              • clip_image011

            [編輯] 正式的語義

            對于一個確定有限狀態自動機 clip_image006,如果 clip_image012,我們就說該自動機接受字符串w,反之則表明該自動機拒絕字符串w

            被一個確定有限自動機接受的語言(或者叫“被識別的語言”)定義為:clip_image013 接受字符串clip_image014,也就是由所有被接受的字符串組成的集合。

            [編輯] 利弊

            DFA 是最實際的計算模型,因為有平凡的線性時間、恒定空間的在線算法模擬在輸入流上的 DFA。給定兩個 DFA 有有效算法找到識別它們所識別語言的并集、交集和補集 DFA。還有有效算法確定一個 DFA 是否接受任何字符串,一個 DFA 是否接受所有字符串,兩個 DFA 是否識別同樣的語言,和對特定正則語言找到有極小數目個狀態的 DFA

            在另一方面,DFA 在可識別的語言上有嚴格的限制 — 很多簡單的語言,包括需要多于恒定空間來解決的任何問題,不能被 DFA 識別。經典的 DFA 不能識別的簡單語言的例子是括號語言,就是由正確配對的括號組成的語言,比如 (()())。由形如 anbn 的字符串組成的語言,就是有限數目個 a,隨后是相等數目個 b。可以證明沒有 DFA 有足夠狀態來識別這種語言。

            [編輯] 其它

            1.     能被確定有限狀態自動機識別的語言是正則語言

            2.     確定有限狀態自動機是非確定有限狀態自動機的一種極限形式。

            3.     確定有限狀態自動機在計算能力上等價于非確定有限狀態自動機。

            4.     沒有接受狀態列表并沒有指定開始狀態的確定有限狀態機叫做轉移系統半自動機

            [編輯] 例子

            下面是一個確定有限狀態自動機的例子。

            clip_image016

            clip_image017

            clip_image001狀態圖

            確定有限狀態自動機clip_image006

            • Q = {S1,S2}
            • Σ = {0,1}
            • s = S1
            • F = {S1}
            • δ 由下面的狀態轉移表定義:

             

            0

            1

            S1

            S2

            S1

            S2

            S1

            S2

            • 對應的轉移函數為:
              • δ(S1,0) = S2
              • δ(S1,1) = S1
              • δ(S2,0) = S1
              • δ(S2,1) = S2

            狀態S1表示在輸入的字符串中有偶數個0,而S2表示有奇數個0。在輸入中1不改變自動機的狀態。當讀完輸入的字符串的時候,狀態將顯示輸入的字符串是否包含偶數個0

            clip_image001能識別的的語言是clip_image018。用正則表達式表示為:(1 * (01 * 0) * ) *

            [編輯] 封閉性及一些運算

            [編輯] 封閉性

            確定有限狀態自動機的交,并,差,補,連接,替換,同態,逆同態等運算是封閉的,也就是說確定有限狀態自動機通過這些運算產生的新的自動機也是確定有限狀態自動機。

            [編輯] 補運算

            clip_image006是一個DFA,那么由補運算產生的新DFA定義為:clip_image019 。顯然只要將 clip_image001中接受的狀態設為不接受的狀態,同時把不接受的狀態設為接受的狀態就得到 clip_image020。補運算的復雜度是:clip_image021

            [編輯] 交運算和并運算

            有兩個DFAclip_image022 clip_image023,那么由這兩個DFA創造出來的新的自動機定義為:clip_image024 。其中 clip_image025clip_image026 clip_image027的開始狀態,clip_image028 clip_image027的轉移函數,且作如下定義:clip_image029

            1.     clip_image030時,由上述方法得到的 clip_image027就是DFA clip_image031 clip_image032的交運算,記作:clip_image033 。也就是說對于讀入的字符串w,當且僅當 clip_image031 clip_image032同時接受w的時候 clip_image027接受w

            2.     clip_image034時,由上述方法得到的 clip_image027就是DFA clip_image031 clip_image032的并運算,記作:clip_image035 。也就是說對于讀入的字符串w,只要 clip_image031 clip_image032中至少有一個接受w clip_image027就接受w

            交運算和并運算的復雜度都是 clip_image036

            [編輯] 同態和逆同態運算

            一個同態函數 clip_image037可以遞歸的定義為:

            • clip_image038
            • clip_image039

            于是則有 clip_image040。(以上所述中 clip_image041為空字符,clip_image042

            1.     clip_image043:對于接受語言LDFA,只要將其中代表 clip_image044的邊替換成一個序列 clip_image045并在其中加入不屬于原DFA狀態的新狀態,就產生了接受語言h(L)DFA

            2.     clip_image046:定義一個 clip_image047都不變的新DFA,并定義新的轉移函數為 clip_image048,則 clip_image049就是逆同態運算產生的新DFA

            此外替換運算和逆同態運算的方法近似。

            [編輯] 最小自動機

            [編輯] 等價類自動機

            對于一個正則語言,接受該語言的等價類自動機是一個 clip_image0505-元組。其定義如下:

            ~L 被稱為Nerode關系,是Myhill-Nerode定理的基礎。簡單的來說就是對于任意 clip_image055,如果 clip_image056,那么 x~Ly

            [編輯] 唯一性

            對于任意給定的確定有限狀態自動機都能找到一個與之計算能力等價的最小確定有限狀態自動機,簡稱最小自動機。該最小自動機中狀態的數量等于能識別相同語言的等價類自動機中等價關系的數量,我們可以稱最小自動機和等價類自動機“實際上”是相等的,也就是同構。非正式的說法是:對于最小自動機上的任意狀態都可以通過一個同構函數變換成等價類自動機上的一個狀態。

            能識別一個正則語言的等價類自動機是唯一的,因此能識別該語言的最小自動機也是唯一的。

            [編輯] 算法

            定義一個非等價關系:clip_image057 ,如下步驟可以得到這個集合N

            1.     如果 clip_image058,就給所有的狀態對(p,q)(q,p)打上標記

            2.     重復步驟3,直到所標記的狀態對沒有變化為止

            3.     對于未標記的狀態對(p,q)和σ,如果 clip_image059被標記過了就把(p,q)也標記上

            4.     以上所有標記了的狀態對的集合就是非等價關系N

            以下是由一個任意DFA轉換到一個最小DFA的步驟:

            1.     把所有不能從開始狀態達到的狀態刪除

            2.     通過上述標記算法計算非等價關系N

            3.     一步一步將不屬于N的狀態對中的兩個狀態合成一個狀態

            這樣就得到了接受相同語言的最小自動機。復雜度為 clip_image060

            [編輯] 參見

            [編輯] 引用

            • Michael Sipser, Introduction to the Theory of Computation. PWS, Boston. 1997. ISBN 0-534-94728-X. Section 1.1: Finite Automata, pp.3147. Subsection "Decidable Problems Concerning Regular Languages" of section 4.1: Decidable Languages, pp.152155.4.4 DFA can accept only regular language

            來自“http://zh.wikipedia.org/wiki/%E7%A1%AE%E5%AE%9A%E6%9C%89%E9%99%90%E7%8A%B6%E6%80%81%E8%87%AA%E5%8A%A8%E6%9C%BA

             

            posted on 2009-11-04 18:20 肥仔 閱讀(2908) 評論(0)  編輯 收藏 引用 所屬分類: 狀態機 & 自動機 & 形式語言

            久久精品国产2020| 国产精品成人精品久久久| 久久91精品国产91久久小草| 国产精品美女久久福利网站| 久久久久久青草大香综合精品| 国产精品一区二区久久| 久久w5ww成w人免费| 久久久久人妻一区精品色| 中文字幕热久久久久久久| 久久亚洲精品无码aⅴ大香| 久久人人爽人人爽人人片AV东京热 | 热综合一本伊人久久精品| 久久亚洲国产中v天仙www| 亚洲天堂久久精品| 国产精品久久久久久久久久免费| 国产成人精品久久| 久久国产免费| 久久亚洲av无码精品浪潮| 久久久久久久综合狠狠综合| 中文字幕精品久久| 亚洲精品无码久久千人斩| 久久精品国产亚洲AV电影| 久久777国产线看观看精品| 99久久综合狠狠综合久久| 久久精品国产一区二区三区| 天堂无码久久综合东京热| 国产亚洲精品久久久久秋霞| 欧美牲交A欧牲交aⅴ久久| 国产一级做a爰片久久毛片| 国产精品美女久久久久AV福利| 久久久国产精品| 一本一道久久综合狠狠老 | 久久久久无码精品国产不卡| 精品久久久久久无码中文字幕一区| 99久久99久久| 久久综合九色欧美综合狠狠| 亚洲女久久久噜噜噜熟女| 99久久99久久精品国产| 国产欧美久久久精品影院| 国产亚洲精久久久久久无码| 国产午夜精品理论片久久|