【计算理论】自动机 示例 ( 自动机示例 | 自动机表示方式 | 自动机计算流程简介 )
文章目錄
- I . 自動機 簡單 示例 ( 單向自動門 )
- II . 簡單自動機示例 及 描述方式 ( 二進制數(shù)據(jù)處理 自動機 )
- III . 簡單自動機示例 及 運行 ( 二進制數(shù)據(jù)處理 自動機 )
I . 自動機 簡單 示例 ( 單向自動門 )
1 . 單向自動門 現(xiàn)實狀況描述 : 可通過的單向自動門 ; 當站在門前時 , 自動門開 , 確保人走過后 , 再關(guān)閉 ; 注意 : 這個門只能進 , 不能出 ;
2 . 自動門有兩個狀態(tài) :
① 打開 : 如下圖所示 ;
② 關(guān)閉 : 如下圖所示 ;
3 . 人的位置有四個狀態(tài) , 以及每個 人的狀態(tài)對應的 門的狀態(tài) :
① 門前有人門后無人 : 一個人走到自動門前 , 門前有人 , 門后無人 ;
② 門前無人門后有人 : 一個人從自動門走過 , 走到門后面 , 此時處于門前無人 , 門后有人 ;
③ 門前門后都沒人 : 一個人徹底走過自動門 , 自動門前后沒人 ;
④ 門前門后都有人 : 兩個人前后腳過自動門 , 一個人走到門后 , 另一個人剛走到門前 , 造成該狀態(tài) ;
4 . 自動門示意圖 : 其中有一些邏輯是不存在的 , 如 單向自動門當前狀態(tài)是打開的 , 不可能出現(xiàn) 要輸入 “門前有人 , 門后無人” 狀態(tài)的情況 , 此時肯定門是關(guān)閉的 , 才能輸入 “門前有人 , 門后無人” 狀態(tài) , 否則根本就不符合常理 , 這里出現(xiàn)不符合常理的邏輯 , 其 狀態(tài)不變 即可 ;
① 門前有人 ( 門后無人 ) : 表示有人要通過 , 當前門處于關(guān)閉狀態(tài) , 自動門 從 關(guān)閉 狀態(tài) 變成 打開 狀態(tài) ;
② 門后有人 ( 門前無人 ) : 表示有人剛進去 , 自動門一直是打開狀態(tài) ;
③ 門前后都沒人: 開始是 打開狀態(tài) , 之后人走過后 , 關(guān)閉 自動門 ;
④ 門前后都有人 : 開始是打開狀態(tài) , 后面馬上又來一個人 , 此時仍然保持 打開狀態(tài) ;
5 . 自動機 表格方式: 紅色的是有效的狀態(tài)轉(zhuǎn)換 , 藍色的是不符合單向自動門常理的狀態(tài)轉(zhuǎn)換 ;
| 當前是關(guān)閉狀態(tài) | 關(guān)閉 | 打開 | 關(guān)閉 | 關(guān)閉 |
| 當前是打開狀態(tài) | 關(guān)閉 | 打開 | 打開 | 打開 |
① 第 111 行第 111 列 : 自動門 “當前是關(guān)閉狀態(tài)” , 輸入一個人的 “門前后都沒人” 狀態(tài) , 結(jié)果是自動門切換成 “關(guān)閉” 狀態(tài) ;
② 第 111 行第 222 列 : 自動門 “當前是關(guān)閉狀態(tài)” , 輸入一個人的 “門前有人 ( 門后無人 )” 狀態(tài) , 說明來人了 , 馬上開門 , 結(jié)果是自動門切換成 “打開” 狀態(tài) ;
6 . 自動機引入 : 自動門的所有的狀態(tài)轉(zhuǎn)換 , 當前的 自動門 狀態(tài) , 輸入一個人的狀態(tài) , 自動門就會轉(zhuǎn)為另外一個狀態(tài) , 這就是一個自動機 ;
II . 簡單自動機示例 及 描述方式 ( 二進制數(shù)據(jù)處理 自動機 )
1 . 自動機由來 :
① 初始簡單模型 : 解決一個問題時 , 先搭建一個簡單計算模型 , 自動機 , 即 最簡單的模型就是自動機 ;
② 模型擴張 : 逐步擴張簡單計算模型 , 提高其計算能力 , 將計算能力擴展到極限 , 就是圖靈機 ;
2 . 這個自動機是用于處理二進制數(shù)字的 :
① 狀態(tài)含義 : 有 A,B,CA,B,CA,B,C 三個狀態(tài) , 分別 類似于 上述 自動門示例的 門開狀態(tài) , 門關(guān)狀態(tài) , 這些狀態(tài)在 圖靈機中 主要反映 神經(jīng)中樞 所處的狀態(tài) ;
② 箭頭的含義 : 自動機當前所處的狀態(tài) AAA , 輸入一個狀態(tài) 111 后 , 變成另外一個狀態(tài) BBB , 那么繪制一個箭頭 , 從 AAA 指向 BBB , 將輸入的狀態(tài)標識在箭頭上 ;
③ 箭頭本質(zhì) : 箭頭的本質(zhì)相當于箭頭的一條指令 ;
④ Start 開始狀態(tài) : Start 表示自動機的開始計算的起始位置 , 相當于 Main 函數(shù)入口 ;
3 . 狀態(tài)表示 : 有些狀態(tài)如 AAA 和 BBB 畫了兩個圈 , 有些狀態(tài) 如 CCC 只畫了一個圈 ;
① 接收狀態(tài) : 222 個圈表示該狀態(tài)是接收狀態(tài) ;
② 非接受狀態(tài) : 如果只有 111 個圈 , 表示該狀態(tài)是非接收狀態(tài) ;
III . 簡單自動機示例 及 運行 ( 二進制數(shù)據(jù)處理 自動機 )
1 . 自動機功能 : 將字符串 “0101” 輸入到 自動機 中進行計算 ;
2 . 自動機啟動 : Start 開始后 , 自動機的狀態(tài) 是 AAA 狀態(tài) ;
自動機開始 -> 自動機 AAA 狀態(tài) ;
3 . 輸入字符 000 : 自動機 AAA 狀態(tài)下 , 輸入 000 字符 , 仍然保持 AAA 狀態(tài)不變 ;
自動機開始 -> 自動機 AAA 狀態(tài) -> 輸入 000 字符 -> 自動機 AAA 狀態(tài) ;
4 . 輸入字符 111 : 自動機 AAA 狀態(tài)下 , 輸入 111 字符 , 自動機轉(zhuǎn)為 BBB 狀態(tài) ;
自動機開始 -> 自動機 AAA 狀態(tài) -> 輸入 000 字符 -> 自動機 AAA 狀態(tài) -> 輸入 111 字符 -> 自動機 BBB 狀態(tài) ;
5 . 輸入字符 000 : 自動機 BBB 狀態(tài)下 , 輸入 000 字符 , 自動機轉(zhuǎn)為 AAA 狀態(tài) ;
自動機開始 -> 自動機 AAA 狀態(tài) -> 輸入 000 字符 -> 自動機 AAA 狀態(tài) -> 輸入 111 字符 -> 自動機 BBB 狀態(tài) -> 輸入 000 字符 -> 自動機 AAA 狀態(tài) ;
6 . 輸入字符 111 : 自動機 AAA 狀態(tài)下 , 輸入 111 字符 , 自動機轉(zhuǎn)為 BBB 狀態(tài) ;
自動機開始 -> 自動機 AAA 狀態(tài) -> 輸入 000 字符 -> 自動機 AAA 狀態(tài) -> 輸入 111 字符 -> 自動機 BBB 狀態(tài) -> 輸入 000 字符 -> 自動機 AAA 狀態(tài) -> 輸入 111 字符 -> 自動機 BBB 狀態(tài) ;
7 . 自動機 與 接收狀態(tài) / 非接收狀態(tài) : 字符串 010101010101 四個字符都輸入到了自動機中 , 此時需要判定 計算完畢的時刻 自動機的當前狀態(tài)是否是 接收狀態(tài) , 如果是接收狀態(tài) , 說明自動機是可以接收 這個字符串的 , 否則就說明該自動機不接受該字符串 ;
8 . 接收狀態(tài) 與 非接收狀態(tài) 判定 : 雙圈是接收狀態(tài) , 單圈是非接收狀態(tài) , 此時自動機的狀態(tài)是 BBB , 是雙圈狀態(tài) , 是接收狀態(tài) ;
9 . 本自動機示例總結(jié) : 該自動機接收的 010101 字符串中 , 不能存在連續(xù)的兩個 111 , 否則該字符串就是不被自動機接收的 ;
總結(jié)
以上是生活随笔為你收集整理的【计算理论】自动机 示例 ( 自动机示例 | 自动机表示方式 | 自动机计算流程简介 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【约束布局】ConstraintLayo
- 下一篇: 【计算理论】确定性有穷自动机 ( 自动机