日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【计算理论】确定性有穷自动机 ( 自动机组成 | 自动机语言 | 自动机等价 )

發布時間:2025/6/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【计算理论】确定性有穷自动机 ( 自动机组成 | 自动机语言 | 自动机等价 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、確定性有窮自動機組成
  • 二、確定性有窮自動機計算過程
  • 三、確定性有窮自動機定義
  • 四、自動機 語言 與 等價
  • 五、自動機語言 示例





一、確定性有窮自動機組成



DFA , 全稱為 Deterministic Finite Automaton , 確定性有窮自動機 ;


確定性 有窮自動機 組成 : 由以下的 555 部分組成 , 放入集合中展示 {Q,Σ,,δ,q0,F}\{ \quad Q , \quad \Sigma , \quad , \delta \quad , q_0 , \quad F \quad \}{Q,Σ,,δ,q0?,F} ;


QQQ 狀態集 : 有限個狀態 ;

Σ\SigmaΣ 字母表 : 有限個字符集 , 長度有限的字符串 ;

δ\deltaδ 轉移函數 : δ\deltaδ 稱為轉移函數 ; 基于當前的 自動機 的某個狀態 , 將字符集 輸入到自動機中 , 該自動機轉換成另一個狀態 , 這個轉換就是通過 δ\deltaδ 轉換函數進行的 , 使用公式描述 Q×Σ→QQ \times \Sigma \to QQ×ΣQ ;

q0q_0q0? 起始狀態 : 是自動機的開始狀態 ;

FFF 接受狀態集 : FFF 是 可接受狀態 , 是 QQQ 的子集 , 記做 F?QF \subseteq QF?Q , FFF 可接受狀態相對的是不可接受狀態 ;





二、確定性有窮自動機計算過程




1 . 自動機示例 : 上圖是上一篇博客的自動機示例 , 自動機開始執行后 , 將 字符串 “010101010101” 輸入到自動機中 , 從 Start 出發 , 根據當前的自動機狀態 , 結合當前處理的輸入字符 , 改變成另外一個自動機狀態 , 所有字符處理完畢后 , 查看當前自動機狀態是否是可接受狀態 ;


2 . 自動機運行過程 : 詳細的計算過程 , 參考上一篇博客 : 【計算理論】自動機 示例 ( 自動機示例 | 自動機表示方式 | 自動機計算流程簡介 )


3 . 自動機定義由來 : {Q,Σ,,δ,q0,F}\{ \quad Q , \quad \Sigma , \quad , \delta \quad , q_0 , \quad F \quad \}{Q,Σ,,δ,q0?,F} 五個組件代入上述過程 , 就可以得到自動機定義 ;





三、確定性有窮自動機定義



確定性又窮自動機定義


1 . 有以下已知條件 :


① 有窮自動機 : MMM ;

② 輸入信息 : 接收 www 字符串作為輸入 , www 字符串可以寫成 {w1,w2,w3,?wm}\{ \, w_1, w_2 , w_3 , \cdots w_m \, \}{w1?,w2?,w3?,?wm?}mmm 個字符 ; 其中 每個字符都屬于有限字符集 Σ\SigmaΣ 中的字符 , 這些字符有重復的 , 這是輸入序列 , 下面是狀態序列 ; mmm 是總共計算的次數 ;

③ 狀態序列 : 自動機 MMM 有以下 m+1m + 1m+1 個狀態序列 , {r0,r1,r2,?,rm}\{\, r_0 , r_1 , r_2 , \cdots , r_m \, \}{r0?,r1?,r2?,?,rm?} , 這個序列中的狀態有很多重復的 , 這是自動機的執行序列 , 途徑的狀態 , 所有的狀態都屬于 QQQ ; 這是 自動機 MMM 計算過程中的 狀態序列 , 上面的輸入信息時每個狀態序列對應的輸入序列 ; mmm 是總共計算的次數 ;


2 . 上述條件滿足如下計算 :


① 自動機起始狀態 : r0=q0r_0 = q_0r0?=q0? , 自動機 MMM 開始時 , 是 q0q_0q0? 起始狀態 , 相當于上圖中的 Start 狀態 ; 這也是為什么狀態序列比輸入信息序列多一個原因 , 狀態序列開始必須有一個狀態 , 之后每接受一個參數字符 , 就更新一個新的狀態 , 之后就狀態與輸入字符就是一一對應的 ; 最后狀態序列 比 字符序列多一個 ;

② 自動機計算 : 對于 1=0,1,?,m?11 = 0 , 1 , \cdots , m-11=0,1,?,m?1 , 有 δ(ri,wi+1)=ri+1\delta(r_i , w_{i+1}) = r_{i+1}δ(ri?,wi+1?)=ri+1? , 意思就是 當前是自動機的一個狀態 rir_iri? , 輸入一個 wi+1w_{i+1}wi+1? 字符后 , 變成了 ri+1r_{i+1}ri+1? 狀態 ;

③ 最終狀態可接受 : 最終的 rmr_mrm? 狀態必須是可接受狀態 , rm∈Fr_m \in Frm?F ;


3 . 自動機組件 :


QQQ 狀態集 : 自動機的有限個狀態 , 其中有可接受狀態 ( 雙圈 ) , 不可接收狀態 ( 單圈 ) ;

Σ\SigmaΣ 字母表 : 有限個字符集 , 如 {0,1}\{0 ,1\}{0,1} , 但其輸入可以是 010101010101 , 也可以是 001110011100111 等字符 ;

δ\deltaδ 轉移函數 : δ\deltaδ 稱為轉換函數 ; 基于當前的 自動機 的某個狀態 , 將字符集 輸入到自動機中 , 該自動機轉換成另一個狀態 , 這個轉換就是通過 δ\deltaδ 轉換函數進行的 , 使用公式描述 Q×Σ→QQ \times \Sigma \to QQ×ΣQ ;

q0q_0q0? 起始狀態 : 是開始狀態 ;

FFF 接受狀態集 : FFF 是 可接受狀態 , 是 QQQ 的子集 , 記做 F?QF \subseteq QF?Q , 與 FFF 可接受狀態相對的是不可接受狀態 ;





四、自動機 語言 與 等價



1 . 自動機語言 : 確定性有窮自動機 MMM , 將自動機 MMM 所接受的所有的字符串放在一個集合 AAA 中 , 該集合 AAA 稱為自動機 MMM 的語言 , 自動機 MMM 認識 ( 接受 ) AAA 語言 , 記作 L(M)=AL(M) = AL(M)=A ;


2 . 自動機等價 : 如果兩個自動機認識相同的語言 , 那么稱這兩個自動機是等價的 ;





五、自動機語言 示例



1 . 自動機描述 :


自動機有 555 個狀態 ;

SSS 是開始狀態 ;

q1,r1q_1 , r_1q1?,r1? 是可接受狀態 ;

q2,r2q_2 , r_2q2?,r2? 是不可接受狀態 ;

自動機語言是 {a,b}\{ a , b \}{a,b} 字符集 ;


下面開始分析上面 555 狀態自動機的語言 ;


2 . 自動機 左側分支分析 :


① 執行流程 : 開始時 , 自動機是 SSS 起始狀態 , 當輸入 aaa 時 , 自動機狀態變成 q1q_1q1? , 此后不管多少次輸入 aaa , 一直處于 q1q_1q1? 狀態 , 如果輸入 bbb , 那么就會轉為 q2q_2q2? 狀態 , 如果一直輸入 bbb , 自動機一直處于該非接受狀態 q2q_2q2? , 如果輸入 aaa , 又回到接受狀態 q1q_1q1? ;

② 左側分支分析總結 : 左側分支 , 主要接受 以 aaa 開頭 , 以 aaa 結尾的字符串 , 最后才能進入接受狀態 ;


3 . 自動機 右側分支分析 :


① 執行流程 : 開始時 , 自動機是 SSS 起始狀態 , 當輸入 bbb 時 , 自動機狀態變成 r1r_1r1? , 此后不管多少次輸入 bbb , 一直處于 r1r_1r1? 狀態 , 如果此時輸入 aaa , 那么就會轉為 r2r_2r2? 狀態 , 此時如果一直輸入 aaa , 自動機一直處于該非接受狀態 r2r_2r2? , 如果輸入 bbb , 又回到接受狀態 r1r_1r1? ;

② 右側分支分析總結 : 右側分支 , 主要接受 以 bbb 開頭 , 以 bbb 結尾的字符串 , 最后才能進入接受狀態 ;


4 . 自動機 總體分析 : 自動機 MMM 接受相同開頭 和 相同結尾的 字符串 ;


5 . 接受狀態 與 非接受狀態 : 只在計算結束以后才開始起作用 ;


① 計算過程 : 在計算過程中 , 這兩個狀態沒有區別 , 可以任意轉換 ;

② 最終狀態 : 自動機的 最終的狀態 , 必須判定失接受狀態 還是 非接受狀態 , 如果是非接受狀態 , 說明輸入不對 , 自動機拒絕該輸入 ;

總結

以上是生活随笔為你收集整理的【计算理论】确定性有穷自动机 ( 自动机组成 | 自动机语言 | 自动机等价 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。